mp-design-system 1.2.7 → 1.2.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,2 +1,2 @@
1
- (()=>{function e(e){e.addEventListener("click",(e=>{e.currentTarget.parentElement.classList.toggle("c-accordion__item--open")}))}var t=function(){Array.from(document.querySelectorAll(".c-accordion__title")).forEach(e)};var o=function(){let e=0;const t=document.querySelectorAll(".c-hero__image-bg"),o=document.querySelectorAll(".c-hero__image-fg");o.length>0&&setInterval((()=>{for(var c of t)c.style.opacity=0;for(var n of(e=e!=t.length-1?e+1:0,t[e].style.opacity=1,o))n.style.opacity=0;o[e].style.opacity=1}),5e3)};var c=function(){const e=document.getElementById("clearForm");e&&e.addEventListener("click",(function(){this.closest("form").elements.forEach((e=>{if(""!=e.value){if("text"==e.type.toLowerCase()||"email"==e.type.toLowerCase()||"tel"==e.type.toLowerCase()||"select-one"==e.type.toLowerCase()||"textarea"==e.type.toLowerCase())return void(e.value="");if("checkbox"==e.type.toLowerCase())return void(e.checked=!1)}}))}))};function n(e){const t=e.querySelector(".c-table tbody"),o=e.querySelector(".c-table thead"),c=e.querySelector(".c-comparison__mobile");if(!t||!o||!c)return;const n=Array.from(o.children[0].children).filter(((e,t)=>t)).map((e=>({info:e.innerHTML,table:[]})));Array.from(t.children).forEach((e=>{if(e.classList.contains("c-table__title"))n.forEach((t=>{t.table.push({type:"title",title:e.children[0].textContent})}));else{const t=Array.from(e.children),o=t.shift();t.forEach(((e,t)=>{n[t].table.push({type:"row",key:o.textContent,value:e.innerHTML})}))}})),n.forEach((e=>{const t=function(e){const t=document.createElement("article");return t.innerHTML=`<div class="c-comparison__content">\n ${e.info}\n </div>\n <table class="c-table">\n ${e.table.map((e=>"title"===e.type?`<tr class="c-table__title"><th colspan="2">${e.title}</th></tr>`:`<tr>\n <td>${e.key}</td>\n <td>${e.value}</td>\n </tr>`)).join("")}\n </table>`,t}(e);c.appendChild(t)}))}var r=function(){document.querySelectorAll(".c-comparison").forEach(n)};var a=function(){const e=document.querySelectorAll(".c-gallery__main .c-gallery__slide"),t=document.querySelectorAll(".c-gallery__thumbnails .c-gallery__slide");function o(){const e=document.querySelector(".c-gallery__main").cloneNode(!0);e.classList.remove("c-gallery__main"),e.classList.add("c-lightbox"),e.querySelectorAll(".c-gallery__slide").forEach((function(e){if(e.classList.contains("c-gallery__video")&&e.remove(),!e.classList.contains("c-gallery__video")){var t=e.querySelector("img");""!=t.srcset&&t.removeAttribute("srcset");var o=t.getAttribute("src");o?-1!==o.indexOf("?")?t.setAttribute("src",o.split("?")[0]+"?quality=90&width=2176"):t.setAttribute("src",o+"?quality=90&width=2176"):(console.log(t),console.log("has no src defined..."))}e.classList.add("c-lightbox__slide"),e.classList.remove("c-gallery__slide")})),document.body.appendChild(e),e.insertAdjacentHTML("beforeend",'<a class="c-lightbox__prev"></a><a class="c-lightbox__next"></a>'),e.querySelector(".c-lightbox__prev").addEventListener("click",(function(){const t=e.querySelector(".active"),o=e.querySelector('[data-slide="'+(parseInt(t.dataset.slide)-1)+'"]');null!=o&&(t.classList.remove("active"),o.classList.add("active"))})),e.querySelector(".c-lightbox__next").addEventListener("click",(function(){const t=e.querySelector(".active"),o=e.querySelector('[data-slide="'+(parseInt(t.dataset.slide)+1)+'"]');null!=o&&(t.classList.remove("active"),o.classList.add("active"))})),e.addEventListener("click",(function(t){t.target===t.currentTarget&&e.remove()}))}t.forEach((o=>o.addEventListener("click",(function(c){t.forEach((function(e){e!=c.target.parentNode&&e.classList.remove("active")})),c.target.parentNode.classList.add("active"),e.forEach((function(e){e.dataset.slide==o.dataset.slide?e.classList.add("active"):e.classList.remove("active")}))})))),e.forEach((function(e){e.classList.contains("c-gallery__video")||e.addEventListener("click",o)}))};const i=(e,t,o)=>((e,t=0,o=1)=>Math.min(o,Math.max(t,e)))((o-e)/(t-e));var s=function(){let e=0;const t=document.querySelector(".c-hero__canvas");if(!t)return;const o=t.getContext("2d"),c=!window.matchMedia("(prefers-reduced-motion: no-preference)").matches,n=147,r=.25;let a,s,l,d,f,u=[];function h(){a=t.scrollWidth,s=t.scrollHeight,o.canvas.width=a,o.canvas.height=s,l=Math.ceil(a/n),d=Math.ceil(s/n),f=(l+1)*(d+1);const e=function(e){const t=[...e];for(let e=t.length-1;e>0;e--){let o=Math.floor(Math.random()*(e+1));[t[e],t[o]]=[t[o],t[e]]}return t}(Array.from({length:f},((e,t)=>t)));u=[];for(let t=0;t<=l;t++)for(let o=0;o<=d;o++)u.push({counter:e.shift(),direction:Math.random()>.5?r:-.25,x:n*(t+1)-147,y:n*(o+1)-73.5})}window.addEventListener("resize",h),h(),function n(){e+=.005,o.clearRect(0,0,t.width,t.height),o.beginPath();for(let c=t.width;c>0;c--)o.lineTo(c,.5*t.height-Math.cos(e+c/5*.03)*(.3*s));o.lineWidth=.5,o.strokeStyle="rgb(19,170,19)",o.stroke(),u.forEach((e=>{var t,c,n,a,s,l,d,f;t=e.x,c=e.y,a=0,s=u.length,l=0,d=.5,f=e.counter,n=((e,t,o)=>e*(1-o)+t*o)(l,d,i(a,s,f)),o.beginPath(),o.moveTo(t-14,c),o.lineTo(t+14,c),o.strokeStyle=`rgba(255, 255, 255, ${n}`,o.moveTo(t,c-14),o.lineTo(t,c+14),o.stroke(),e.counter+=e.direction,e.counter>=u.length&&(e.direction=-.25),e.counter<0&&(e.direction=r)})),c||window.requestAnimationFrame(n)}()};var l=function(){document.addEventListener("DOMContentLoaded",(()=>{const e=document.getElementById("videoBackground");if(void 0!==e&&null!=e){const o=window.matchMedia("(prefers-reduced-motion: reduce)");o&&!o.matches||e.classList.add("u-hidden");const c=document.getElementById("playVideo"),n=document.getElementById("lightboxVideo"),r=n.querySelector(".c-lightbox__video");function t(){n.classList.contains("u-hidden")?(e.paused&&e.play(),r.paused||r.pause()):e.paused||e.pause()}c.addEventListener("click",(o=>{e.pause(),n.classList.remove("u-hidden"),t()})),n.addEventListener("click",(o=>{o.target.classList.contains("c-lightbox__video")||(e.setAttribute("autoplay",""),n.classList.add("u-hidden"),t())})),window.addEventListener("keydown",(function(o){"Escape"==o.key&&(e.setAttribute("autoplay",""),n.classList.add("u-hidden"),t())}))}}))};function d(e){const t=e.getBoundingClientRect(),o=window.getComputedStyle(e);return t.top>=0&&t.left>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&t.right<=(window.innerWidth||document.documentElement.clientWidth)&&"none"!==o.display&&"hidden"!==o.visibility}function f(e,t){const o=document.getElementById(e.getAttribute("data-target"));!0===t?function(e){e.classList.add("c-off-canvas"),e.setAttribute("tabindex","-1"),e.setAttribute("aria-hidden","true");const t=e.querySelector('[data-off-canvas="header"]'),o=e.querySelector('[data-off-canvas="main"]'),c=e.querySelector('[data-off-canvas="footer"]'),n=null!==t?t.outerHTML:"",r=null!==o?o.outerHTML:"",a=null!==c?c.outerHTML:"";e.innerHTML=`\n <div class="c-off-canvas__backdrop" role="presentation"></div>\n <div class="c-off-canvas__content" role="dialog" aria-modal="true" aria-labelledby="offCanvasHeader">\n <header id="offCanvasHeader" class="c-off-canvas__header">${n}</header>\n <main class="c-off-canvas__main">${r}</main>\n <footer class="c-off-canvas__footer">\n ${a}\n <button class="mp c-twi c-twi--left c-off-canvas__close" data-off-canvas-close="true" onclick="return false">\n <span>Cancel</span>\n <svg role="img" aria-hidden="true" focusable="false" class="mp c-icon c-icon--cross">\n <use xlink:href="/static/svg/sprite.svg#cross"></use>\n </svg>\n </button>\n </footer>\n </div>\n `}(o):function(e){e.classList.remove("c-off-canvas","c-off-canvas--active"),e.removeAttribute("tabindex"),e.removeAttribute("aria-hidden");const t=e.querySelector(".c-off-canvas__backdrop");t&&t.remove();const o=e.querySelector(".c-off-canvas__content");if(o){for(;o.firstChild;)e.insertBefore(o.firstChild,o);e.removeChild(o)}const c=e.querySelector(".c-off-canvas__header");if(c){for(;c.firstChild;)e.insertBefore(c.firstChild,c);e.removeChild(c)}const n=e.querySelector(".c-off-canvas__main");if(n){for(;n.firstChild;)e.insertBefore(n.firstChild,n);e.removeChild(n)}const r=e.querySelector(".c-off-canvas__footer");if(r){for(;r.firstChild;)e.insertBefore(r.firstChild,r);e.removeChild(r)}const a=e.querySelector(".c-off-canvas__close");a&&a.remove()}(o)}function u(e){document.querySelector('[data-target="'+e.id+'"').setAttribute("aria-expanded","false"),e.classList.remove("c-off-canvas--active"),e.setAttribute("aria-hidden","true"),document.body.style.overflowY=""}function h(){u(this.closest(".c-off-canvas"))}function v(e){if("Escape"===e.key){const e=document.querySelector(".c-off-canvas--active");e&&u(e)}}function y(){u(this.closest(".c-off-canvas"))}var m=function(){const e=document.querySelectorAll(".c-off-canvas__toggle");e.length&&(e.forEach((e=>{f(e,d(e)),e.addEventListener("click",(()=>function(e){const t=document.getElementById(e.getAttribute("data-target"));t.classList.contains("c-off-canvas--active")?t.classList.contains("c-off-canvas--active")&&u(t):function(e,t){e.setAttribute("aria-expanded","true"),t.classList.add("c-off-canvas--active"),t.setAttribute("aria-hidden","false");const o=t.querySelector(".c-off-canvas__backdrop");o&&o.addEventListener("click",h);const c=t.querySelectorAll('[data-off-canvas-close="true"]');c.length>0&&c.forEach((e=>{e.addEventListener("click",y)}));document.addEventListener("keydown",v,{once:!0}),document.body.style.overflowY="hidden";const n=Array.from(document.querySelectorAll(".c-off-canvas")).filter((e=>e!==t));n.length>0&&n.forEach((e=>{u(e)}))}(e,t)}(e)))})),window.addEventListener("resize",(()=>{e.forEach((e=>{f(e,d(e))}))})))};var g=()=>{Array.from(document.querySelectorAll(".c-table--responsive")).forEach((function(e){const t=e.querySelectorAll("thead > :first-child th"),o=Number(e.getAttribute("data-columns"))||2;if(t.length<o)return void e.classList.remove("c-table--responsive");Array.from(e.querySelectorAll("tbody tr")).forEach((e=>{Array.from(t).map((e=>e.textContent)).forEach(((t,o)=>{e.children[o]&&e.children[o].setAttribute("data-responsive-title",t)}))}))}))};function p(){document.documentElement.style.setProperty("--scrollbarWidth",window.innerWidth-document.body.clientWidth+"px")}var b=function(){p(),window.addEventListener("resize",((e,t)=>{let o=!1;return()=>{o||(e(),o=!0,setTimeout((()=>o=!1),t))}})(p,250))};function _(e){const t=Array.from(e.querySelectorAll("a")),o=new IntersectionObserver(function(e){return t=>{const o=t.find((e=>e.isIntersecting));o&&e.forEach((e=>{e.classList.toggle("c-scroll-spy-active",e.getAttribute("href")==="#"+o.target.id)}))}}(t));t.forEach((e=>{const t=e.getAttribute("href").replace("#",""),c=document.getElementById(t);c&&o.observe(c)}))}var L=function(){Array.from(document.querySelectorAll(".c-scroll-spy")).forEach(_)};function E(e){const t=Array.from(e.querySelectorAll(".c-tabs__control")),o=Array.from(e.querySelectorAll(".c-tab")),c=e.classList.contains("c-tabs--persist");if(t.length&&o.length&&(t.forEach((e=>{e.addEventListener("click",function(e,t,o){return c=>{const n=c.currentTarget,r=t.find((e=>e.id===n.getAttribute("href").replace("#","")));if(!r)return!0;c.preventDefault(),o&&history.pushState(null,null,n.getAttribute("href")),e.forEach((e=>e.classList.toggle("c-tabs__control--active",e===n))),t.forEach((e=>{const t=e===r;if(e.classList.toggle("c-tab--active",t),!o)if(t){e.setAttribute("tabIndex",-1);const t=window.scrollY;e.focus(),window.scrollTo({behavior:"auto",top:t})}else e.removeAttribute("tabIndex")}))}}(t,o,c))})),c&&window.location.hash)){const t=e.querySelector('[href="'+window.location.hash+'"]');t&&t.dispatchEvent(new Event("click"))}}var A=function(){Array.from(document.querySelectorAll(".c-tabs--anchor")).forEach(E)};window.NodeList&&!NodeList.prototype.forEach&&(NodeList.prototype.forEach=Array.prototype.forEach),window.HTMLCollection&&!HTMLCollection.prototype.forEach&&(HTMLCollection.prototype.forEach=Array.prototype.forEach),t(),o(),c(),r(),a(),s(),l(),m(),g(),b(),L(),A()})();
1
+ (()=>{function e(e){e.addEventListener("click",(e=>{e.currentTarget.parentElement.classList.toggle("c-accordion__item--open")}))}var t=function(){Array.from(document.querySelectorAll(".c-accordion__title")).forEach(e)};var o=function(){let e=0;const t=document.querySelectorAll(".c-hero__image-bg"),o=document.querySelectorAll(".c-hero__image-fg");o.length>0&&setInterval((()=>{for(var c of t)c.style.opacity=0;for(var n of(e=e!=t.length-1?e+1:0,t[e].style.opacity=1,o))n.style.opacity=0;o[e].style.opacity=1}),5e3)};var c=function(){const e=document.getElementById("clearForm");e&&e.addEventListener("click",(function(){this.closest("form").elements.forEach((e=>{if(""!=e.value){if("text"==e.type.toLowerCase()||"email"==e.type.toLowerCase()||"tel"==e.type.toLowerCase()||"select-one"==e.type.toLowerCase()||"textarea"==e.type.toLowerCase())return void(e.value="");if("checkbox"==e.type.toLowerCase())return void(e.checked=!1)}}))}))};function n(e){const t=e.parentNode.parentNode,o=t.querySelector(".c-comparison-table tbody"),c=t.querySelector(".c-comparison-table thead"),n=t.parentElement.querySelector(".c-comparison-table__mobile");if(!o||!c||!n)return;const r=Array.from(c.children[0].children).filter(((e,t)=>t)).map((e=>({info:e.innerHTML,table:[]})));Array.from(o.children).forEach((e=>{if(e.classList.contains("c-comparison-table__title"))r.forEach((t=>{t.table.push({type:"title",title:e.children[0].textContent})}));else{const t=Array.from(e.children),o=t.shift();t.forEach(((e,t)=>{r[t].table.push({type:"row",key:o.textContent,value:e.innerHTML})}))}})),r.forEach((e=>{const t=function(e){const t=document.createElement("article");return t.innerHTML=`${e.info}\n <table class="c-comparison-table">\n ${e.table.map((e=>"title"===e.type?`<tr class="c-comparison-table__title"><th><span>${e.title}</span></th><th></th></tr>`:`<tr>\n <td>${e.key}</td>\n <td>${e.value}</td>\n </tr>`)).join("")}\n </table>`,t}(e);n.appendChild(t)}))}var r=function(){console.log(document.querySelectorAll(".c-comparison-table").parentElement),document.querySelectorAll(".c-comparison-table").forEach(n)};var a=function(){const e=document.querySelectorAll(".c-gallery__main .c-gallery__slide"),t=document.querySelectorAll(".c-gallery__thumbnails .c-gallery__slide");function o(){const e=document.querySelector(".c-gallery__main").cloneNode(!0);e.classList.remove("c-gallery__main"),e.classList.add("c-lightbox"),e.querySelectorAll(".c-gallery__slide").forEach((function(e){if(e.classList.contains("c-gallery__video")&&e.remove(),!e.classList.contains("c-gallery__video")){var t=e.querySelector("img");""!=t.srcset&&t.removeAttribute("srcset");var o=t.getAttribute("src");o?-1!==o.indexOf("?")?t.setAttribute("src",o.split("?")[0]+"?quality=90&width=2176"):t.setAttribute("src",o+"?quality=90&width=2176"):(console.log(t),console.log("has no src defined..."))}e.classList.add("c-lightbox__slide"),e.classList.remove("c-gallery__slide")})),document.body.appendChild(e),e.insertAdjacentHTML("beforeend",'<a class="c-lightbox__prev"></a><a class="c-lightbox__next"></a>'),e.querySelector(".c-lightbox__prev").addEventListener("click",(function(){const t=e.querySelector(".active"),o=e.querySelector('[data-slide="'+(parseInt(t.dataset.slide)-1)+'"]');null!=o&&(t.classList.remove("active"),o.classList.add("active"))})),e.querySelector(".c-lightbox__next").addEventListener("click",(function(){const t=e.querySelector(".active"),o=e.querySelector('[data-slide="'+(parseInt(t.dataset.slide)+1)+'"]');null!=o&&(t.classList.remove("active"),o.classList.add("active"))})),e.addEventListener("click",(function(t){t.target===t.currentTarget&&e.remove()}))}t.forEach((o=>o.addEventListener("click",(function(c){t.forEach((function(e){e!=c.target.parentNode&&e.classList.remove("active")})),c.target.parentNode.classList.add("active"),e.forEach((function(e){e.dataset.slide==o.dataset.slide?e.classList.add("active"):e.classList.remove("active")}))})))),e.forEach((function(e){e.classList.contains("c-gallery__video")||e.addEventListener("click",o)}))};const i=(e,t,o)=>((e,t=0,o=1)=>Math.min(o,Math.max(t,e)))((o-e)/(t-e));var s=function(){let e=0;const t=document.querySelector(".c-hero__canvas");if(!t)return;const o=t.getContext("2d"),c=!window.matchMedia("(prefers-reduced-motion: no-preference)").matches,n=147,r=.25;let a,s,l,d,f,u=[];function h(){a=t.scrollWidth,s=t.scrollHeight,o.canvas.width=a,o.canvas.height=s,l=Math.ceil(a/n),d=Math.ceil(s/n),f=(l+1)*(d+1);const e=function(e){const t=[...e];for(let e=t.length-1;e>0;e--){let o=Math.floor(Math.random()*(e+1));[t[e],t[o]]=[t[o],t[e]]}return t}(Array.from({length:f},((e,t)=>t)));u=[];for(let t=0;t<=l;t++)for(let o=0;o<=d;o++)u.push({counter:e.shift(),direction:Math.random()>.5?r:-.25,x:n*(t+1)-147,y:n*(o+1)-73.5})}window.addEventListener("resize",h),h(),function n(){e+=.005,o.clearRect(0,0,t.width,t.height),o.beginPath();for(let c=t.width;c>0;c--)o.lineTo(c,.5*t.height-Math.cos(e+c/5*.03)*(.3*s));o.lineWidth=.5,o.strokeStyle="rgb(19,170,19)",o.stroke(),u.forEach((e=>{var t,c,n,a,s,l,d,f;t=e.x,c=e.y,a=0,s=u.length,l=0,d=.5,f=e.counter,n=((e,t,o)=>e*(1-o)+t*o)(l,d,i(a,s,f)),o.beginPath(),o.moveTo(t-14,c),o.lineTo(t+14,c),o.strokeStyle=`rgba(255, 255, 255, ${n}`,o.moveTo(t,c-14),o.lineTo(t,c+14),o.stroke(),e.counter+=e.direction,e.counter>=u.length&&(e.direction=-.25),e.counter<0&&(e.direction=r)})),c||window.requestAnimationFrame(n)}()};var l=function(){document.addEventListener("DOMContentLoaded",(()=>{const e=document.getElementById("videoBackground");if(void 0!==e&&null!=e){const o=window.matchMedia("(prefers-reduced-motion: reduce)");o&&!o.matches||e.classList.add("u-hidden");const c=document.getElementById("playVideo"),n=document.getElementById("lightboxVideo"),r=n.querySelector(".c-lightbox__video");function t(){n.classList.contains("u-hidden")?(e.paused&&e.play(),r.paused||r.pause()):e.paused||e.pause()}c.addEventListener("click",(o=>{e.pause(),n.classList.remove("u-hidden"),t()})),n.addEventListener("click",(o=>{o.target.classList.contains("c-lightbox__video")||(e.setAttribute("autoplay",""),n.classList.add("u-hidden"),t())})),window.addEventListener("keydown",(function(o){"Escape"==o.key&&(e.setAttribute("autoplay",""),n.classList.add("u-hidden"),t())}))}}))};function d(e){const t=e.getBoundingClientRect(),o=window.getComputedStyle(e);return t.top>=0&&t.left>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&t.right<=(window.innerWidth||document.documentElement.clientWidth)&&"none"!==o.display&&"hidden"!==o.visibility}function f(e,t){const o=document.getElementById(e.getAttribute("data-target"));!0===t?function(e){e.classList.add("c-off-canvas"),e.setAttribute("tabindex","-1"),e.setAttribute("aria-hidden","true");const t=e.querySelector('[data-off-canvas="header"]'),o=e.querySelector('[data-off-canvas="main"]'),c=e.querySelector('[data-off-canvas="footer"]'),n=null!==t?t.outerHTML:"",r=null!==o?o.outerHTML:"",a=null!==c?c.outerHTML:"";e.innerHTML=`\n <div class="c-off-canvas__backdrop" role="presentation"></div>\n <div class="c-off-canvas__content" role="dialog" aria-modal="true" aria-labelledby="offCanvasHeader">\n <header id="offCanvasHeader" class="c-off-canvas__header">${n}</header>\n <main class="c-off-canvas__main">${r}</main>\n <footer class="c-off-canvas__footer">\n ${a}\n <button class="mp c-twi c-twi--left c-off-canvas__close" data-off-canvas-close="true" onclick="return false">\n <span>Cancel</span>\n <svg role="img" aria-hidden="true" focusable="false" class="mp c-icon c-icon--cross">\n <use xlink:href="/static/svg/sprite.svg#cross"></use>\n </svg>\n </button>\n </footer>\n </div>\n `}(o):function(e){e.classList.remove("c-off-canvas","c-off-canvas--active"),e.removeAttribute("tabindex"),e.removeAttribute("aria-hidden");const t=e.querySelector(".c-off-canvas__backdrop");t&&t.remove();const o=e.querySelector(".c-off-canvas__content");if(o){for(;o.firstChild;)e.insertBefore(o.firstChild,o);e.removeChild(o)}const c=e.querySelector(".c-off-canvas__header");if(c){for(;c.firstChild;)e.insertBefore(c.firstChild,c);e.removeChild(c)}const n=e.querySelector(".c-off-canvas__main");if(n){for(;n.firstChild;)e.insertBefore(n.firstChild,n);e.removeChild(n)}const r=e.querySelector(".c-off-canvas__footer");if(r){for(;r.firstChild;)e.insertBefore(r.firstChild,r);e.removeChild(r)}const a=e.querySelector(".c-off-canvas__close");a&&a.remove()}(o)}function u(e){document.querySelector('[data-target="'+e.id+'"').setAttribute("aria-expanded","false"),e.classList.remove("c-off-canvas--active"),e.setAttribute("aria-hidden","true"),document.body.style.overflowY=""}function h(){u(this.closest(".c-off-canvas"))}function v(e){if("Escape"===e.key){const e=document.querySelector(".c-off-canvas--active");e&&u(e)}}function m(){u(this.closest(".c-off-canvas"))}var y=function(){const e=document.querySelectorAll(".c-off-canvas__toggle");e.length&&(e.forEach((e=>{f(e,d(e)),e.addEventListener("click",(()=>function(e){const t=document.getElementById(e.getAttribute("data-target"));t.classList.contains("c-off-canvas--active")?t.classList.contains("c-off-canvas--active")&&u(t):function(e,t){e.setAttribute("aria-expanded","true"),t.classList.add("c-off-canvas--active"),t.setAttribute("aria-hidden","false");const o=t.querySelector(".c-off-canvas__backdrop");o&&o.addEventListener("click",h);const c=t.querySelectorAll('[data-off-canvas-close="true"]');c.length>0&&c.forEach((e=>{e.addEventListener("click",m)}));document.addEventListener("keydown",v,{once:!0}),document.body.style.overflowY="hidden";const n=Array.from(document.querySelectorAll(".c-off-canvas")).filter((e=>e!==t));n.length>0&&n.forEach((e=>{u(e)}))}(e,t)}(e)))})),window.addEventListener("resize",(()=>{e.forEach((e=>{f(e,d(e))}))})))};var p=()=>{Array.from(document.querySelectorAll(".c-table--responsive")).forEach((function(e){const t=e.querySelectorAll("thead > :first-child th"),o=Number(e.getAttribute("data-columns"))||2;if(t.length<o)return void e.classList.remove("c-table--responsive");Array.from(e.querySelectorAll("tbody tr")).forEach((e=>{Array.from(t).map((e=>e.textContent)).forEach(((t,o)=>{e.children[o]&&e.children[o].setAttribute("data-responsive-title",t)}))}))}))};function g(){document.documentElement.style.setProperty("--scrollbarWidth",window.innerWidth-document.body.clientWidth+"px")}var b=function(){g(),window.addEventListener("resize",((e,t)=>{let o=!1;return()=>{o||(e(),o=!0,setTimeout((()=>o=!1),t))}})(g,250))};function _(e){const t=Array.from(e.querySelectorAll("a")),o=new IntersectionObserver(function(e){return t=>{const o=t.find((e=>e.isIntersecting));o&&e.forEach((e=>{e.classList.toggle("c-scroll-spy-active",e.getAttribute("href")==="#"+o.target.id)}))}}(t));t.forEach((e=>{const t=e.getAttribute("href").replace("#",""),c=document.getElementById(t);c&&o.observe(c)}))}var L=function(){Array.from(document.querySelectorAll(".c-scroll-spy")).forEach(_)};function E(e){const t=Array.from(e.querySelectorAll(".c-tabs__control")),o=Array.from(e.querySelectorAll(".c-tab")),c=e.classList.contains("c-tabs--persist");if(t.length&&o.length&&(t.forEach((e=>{e.addEventListener("click",function(e,t,o){return c=>{const n=c.currentTarget,r=t.find((e=>e.id===n.getAttribute("href").replace("#","")));if(!r)return!0;c.preventDefault(),o&&history.pushState(null,null,n.getAttribute("href")),e.forEach((e=>e.classList.toggle("c-tabs__control--active",e===n))),t.forEach((e=>{const t=e===r;if(e.classList.toggle("c-tab--active",t),!o)if(t){e.setAttribute("tabIndex",-1);const t=window.scrollY;e.focus(),window.scrollTo({behavior:"auto",top:t})}else e.removeAttribute("tabIndex")}))}}(t,o,c))})),c&&window.location.hash)){const t=e.querySelector('[href="'+window.location.hash+'"]');t&&t.dispatchEvent(new Event("click"))}}var A=function(){Array.from(document.querySelectorAll(".c-tabs--anchor")).forEach(E)};window.NodeList&&!NodeList.prototype.forEach&&(NodeList.prototype.forEach=Array.prototype.forEach),window.HTMLCollection&&!HTMLCollection.prototype.forEach&&(HTMLCollection.prototype.forEach=Array.prototype.forEach),t(),o(),c(),r(),a(),s(),l(),y(),p(),b(),L(),A()})();
2
2
  //# sourceMappingURL=app.js.map
@@ -1 +1 @@
1
- {"mappings":"MAKA,SAASA,EAAgBC,GACrBA,EAAMC,iBAAiB,SAIfC,IACOA,EAAMC,cAAcC,cAC1BC,UAAUC,OAAO,0BAA0B,G,KAIxDC,EAhBA,WACuBC,MAAMC,KAAKC,SAASC,iBAAiB,wBAC7CC,QAAQb,E,MCmBvBc,EArBA,WACE,IAAIC,EAAU,EACd,MAAMC,EAAWL,SAASC,iBAAiB,qBACrCK,EAAWN,SAASC,iBAAiB,qBAExCK,EAASC,OAAS,GACnBC,aAAY,KACV,IAAK,IAAIC,KAAWJ,EAClBI,EAAQC,MAAMC,QAAU,EAK1B,IAAK,IAAIC,KAHTR,EAAUA,GAAYC,EAASE,OAAS,EAAKH,EAAU,EAAI,EAC3DC,EAASD,GAASM,MAAMC,QAAU,EAEdL,GAClBM,EAAQF,MAAMC,QAAU,EAE1BL,EAASF,GAASM,MAAMC,QAAU,CAAC,GAClC,I,MCSPE,EA1BA,WACE,MAAMC,EAAYd,SAASe,eAAe,aACtCD,GACFA,EAAUvB,iBAAiB,SAAS,WACnByB,KAAKC,QAAQ,QAAQC,SAC7BhB,SAAQiB,IACb,GAAmB,IAAfA,EAAMC,MAAa,CACrB,GAC8B,QAA5BD,EAAME,KAAKC,eACiB,SAA5BH,EAAME,KAAKC,eACiB,OAA5BH,EAAME,KAAKC,eACiB,cAA5BH,EAAME,KAAKC,eACiB,YAA5BH,EAAME,KAAKC,cAGX,YADAH,EAAMC,MAAQ,IAET,GAAgC,YAA5BD,EAAME,KAAKC,cAEpB,YADAH,EAAMI,SAAU,E,SCb5B,SAASC,EAAwBC,GAC/B,MAAMC,EAAOD,EAAUE,cAAc,kBAC/BC,EAAOH,EAAUE,cAAc,kBAC/BE,EAASJ,EAAUE,cAAc,yBAEvC,IAAKD,IAASE,IAASC,EAAQ,OAG/B,MAAMC,EAAWhC,MAAMC,KAAK6B,EAAKG,SAAS,GAAGA,UAC1CC,QAAO,CAACC,EAAGC,IAAMA,IACjBC,KAAIF,IAAM,CAAEG,KAAMH,EAAEI,UAAWC,MAAO,OAEzCxC,MAAMC,KAAK2B,EAAKK,UAAU7B,SAAQqC,IAEhC,GAAIA,EAAI5C,UAAU6C,SAAS,kBACzBV,EAAS5B,SAAQ+B,IACfA,EAAEK,MAAMG,KAAK,CAAEpB,KAAM,QAAS/B,MAAOiD,EAAIR,SAAS,GAAGW,aAAc,QAEhE,CAEL,MAAMC,EAAQ7C,MAAMC,KAAKwC,EAAIR,UACvBa,EAAYD,EAAME,QAExBF,EAAMzC,SAAQ,CAAC4C,EAAIC,KACjBjB,EAASiB,GAAOT,MAAMG,KAAK,CACzBpB,KAAM,MACN2B,IAAKJ,EAAUF,YACftB,MAAO0B,EAAGT,WACV,G,KAKRP,EAAS5B,SAAQ+C,IACf,MAAMH,EAKV,SAA6BG,GAC3B,MAAMC,EAASlD,SAASmD,cAAc,WAiBtC,OAhBAD,EAAOb,UAAY,4CACfY,EAAQb,kDAGRa,EAAQX,MAAMH,KAAIF,GACH,UAAXA,EAAEZ,KACG,8CAA8CY,EAAE3C,kBAEhD,uBACC2C,EAAEe,2BACFf,EAAEb,8BAGXgC,KAAK,kBAGHF,C,CAvBMG,CAAoBJ,GAC/BpB,EAAOyB,YAAYR,EAAG,G,KAyB1BS,EAhEA,WACEvD,SAASC,iBAAiB,iBAAiBC,QAAQsB,E,MCqFrDgC,EAtFA,WACE,MAAMC,EAAazD,SAASC,iBAAiB,sCACvCyD,EAAkB1D,SAASC,iBAAiB,4CAyBlD,SAAS0D,IACP,MAAMC,EAAW5D,SAAS2B,cAAc,oBAAoBkC,WAAU,GACtED,EAASjE,UAAUmE,OAAO,mBAC1BF,EAASjE,UAAUoE,IAAI,cACvBH,EAAS3D,iBAAiB,qBAAqBC,SAAQ,SAAS8D,GAI9D,GAHGA,EAAMrE,UAAU6C,SAAS,qBAC1BwB,EAAMF,UAEJE,EAAMrE,UAAU6C,SAAS,oBAAqB,CAChD,IAAIyB,EAAWD,EAAMrC,cAAc,OACb,IAAnBsC,EAASC,QACVD,EAASE,gBAAgB,UAE3B,IAAIC,EAAcH,EAASI,aAAa,OACpCD,GAC+B,IAA7BA,EAAYE,QAAQ,KACtBL,EAASM,aAAa,MAAOH,EAAYI,MAAM,KAAK,GAAK,0BAEzDP,EAASM,aAAa,MAAOH,EAAc,2BAG7CK,QAAQC,IAAIT,GACZQ,QAAQC,IAAI,yB,CAGhBV,EAAMrE,UAAUoE,IAAI,qBACpBC,EAAMrE,UAAUmE,OAAO,mB,IAEzB9D,SAAS0B,KAAK4B,YAAYM,GAC1BA,EAASe,mBAAmB,YAAa,oEAEzCf,EAASjC,cAAc,qBAAqBpC,iBAAiB,SAAS,WACpE,MAAMqF,EAAiBhB,EAASjC,cAAc,WACxCkD,EAAYjB,EAASjC,cAAc,iBAAmBmD,SAASF,EAAeG,QAAQf,OAAS,GAAK,MAC1F,MAAba,IACDD,EAAejF,UAAUmE,OAAO,UAChCe,EAAUlF,UAAUoE,IAAI,U,IAI5BH,EAASjC,cAAc,qBAAqBpC,iBAAiB,SAAS,WACpE,MAAMqF,EAAiBhB,EAASjC,cAAc,WACxCqD,EAAYpB,EAASjC,cAAc,iBAAmBmD,SAASF,EAAeG,QAAQf,OAAS,GAAK,MAC1F,MAAbgB,IACDJ,EAAejF,UAAUmE,OAAO,UAChCkB,EAAUrF,UAAUoE,IAAI,U,IAI5BH,EAASrE,iBAAiB,SAAS,SAAS0F,GACtCA,EAAEC,SAAWD,EAAExF,eAGjBmE,EAASE,Q,IA5EfJ,EAAgBxD,SAAQiF,GAAkBA,EAAe5F,iBAAiB,SAAS,SAAS0F,GAC1FvB,EAAgBxD,SAAQ,SAASkF,GAC5BA,GAAaH,EAAEC,OAAOG,YACvBD,EAAUzF,UAAUmE,OAAO,S,IAG/BmB,EAAEC,OAAOG,WAAW1F,UAAUoE,IAAI,UAElCN,EAAWvD,SAAQ,SAASoF,GACvBA,EAAUP,QAAQf,OAASmB,EAAeJ,QAAQf,MACnDsB,EAAU3F,UAAUoE,IAAI,UAExBuB,EAAU3F,UAAUmE,OAAO,S,SAKjCL,EAAWvD,SAAQ,SAASoF,GACtBA,EAAU3F,UAAU6C,SAAS,qBAC/B8C,EAAU/F,iBAAiB,QAASoE,E,KCNnC,MAYM4B,EAAU,CAACtD,EAAGuD,EAAGC,IADT,EAACA,EAAGC,EAAM,EAAGC,EAAM,IAAMC,KAAKF,IAAIC,EAAKC,KAAKD,IAAID,EAAKD,IACtCI,EAAOJ,EAAIxD,IAAMuD,EAAIvD,I,ICgEzD6D,EA3FA,WACE,IAAIC,EAAO,EAEX,MAAMC,EAAIhG,SAAS2B,cAAc,mBACjC,IAAKqE,EAAG,OACR,MAAMC,EAAMD,EAAEE,WAAW,MAGnBC,GDEiBC,OAAOC,WADhB,2CAE+BC,QCDvCC,EAAW,IAGXC,EAAa,IAEnB,IAAIC,EACAC,EACAC,EACAC,EAEAC,EADAC,EAAU,GAgCd,SAASC,IACPN,EAAQT,EAAEgB,YACVN,EAASV,EAAEiB,aAEXhB,EAAIiB,OAAOT,MAASA,EACpBR,EAAIiB,OAAOR,OAASA,EAEpBC,EAASf,KAAKuB,KAAKV,EAAQF,GAC3BK,EAAOhB,KAAKuB,KAAKT,EAASH,GAE1BM,GAAeF,EAAS,IAAMC,EAAO,GACrC,MAAMQ,EDhEH,SAAiBC,GACtB,MAAMC,EAAM,IAAID,GAChB,IAAK,IAAInF,EAAIoF,EAAI/G,OAAS,EAAG2B,EAAI,EAAGA,IAAK,CACvC,IAAIqF,EAAI3B,KAAK4B,MAAM5B,KAAK6B,UAAYvF,EAAI,KACvCoF,EAAIpF,GAAIoF,EAAIC,IAAM,CAACD,EAAIC,GAAID,EAAIpF,G,CAGlC,OAAOoF,C,CCyDOI,CAAQ5H,MAAMC,KAAK,CAAEQ,OAAQsG,IAAe,CAACc,EAAGzF,IAAOA,KACnE4E,EAAU,GACV,IAAI,IAAI7E,EAAI,EAAGA,GAAK0E,EAAQ1E,IAC1B,IAAI,IAAIuD,EAAI,EAAGA,GAAKoB,EAAMpB,IACxBsB,EAAQrE,KAAK,CACXmF,QAASR,EAAIvE,QACbgF,UAAWjC,KAAK6B,SAAW,GAAMjB,GAAa,IAC9CvE,EAAGsE,GAAYtE,EAAI,GAAKsE,IACxBf,EAAGe,GAAYf,EAAI,GAAKe,M,CAgBhCH,OAAO7G,iBAAiB,SAAUwH,GAClCA,IAjEA,SAASe,IAEP/B,GAAc,KAEdE,EAAI8B,UAAU,EAAG,EAAG/B,EAAES,MAAOT,EAAEU,QAC/BT,EAAI+B,YAEJ,IAAI,IAAIC,EAAMjC,EAAES,MAAOwB,EAAM,EAAGA,IAC9BhC,EAAIiC,OAAOD,EAAgB,GAAXjC,EAAEU,OAAgBd,KAAKuC,IAAIpC,EAAOkC,EAAM,EAAI,MAAkB,GAATvB,IAGvET,EAAImC,UAAY,GAChBnC,EAAIoC,YA3Ba,iBA4BjBpC,EAAIqC,SAGJxB,EAAQ5G,SAAQqI,IAsClB,IAAmBtG,EAAGuD,EAAG7E,EDhDL6H,EAAIC,EAAIC,EAAIC,EAAIlD,ECgDjBxD,EArCLsG,EAAMtG,EAqCEuD,EArCC+C,EAAM/C,EDXTgD,ECWkB,EDXdC,ECWiB3B,EAAQvG,ODXrBmI,ECjBL,EDiBSC,EChBT,GDgBalD,ECWqD8C,EAAMX,QAqCtEjH,EDnDP,EAACsB,EAAGuD,EAAGC,IAAMxD,GAAK,EAAIwD,GAAKD,EAAIC,EAGPmD,CAAKF,EAAIC,EAAIpD,EAAQiD,EAAIC,EAAIhD,ICiDrEQ,EAAI+B,YACJ/B,EAAI4C,OAAO5G,EAAI,GAAIuD,GACnBS,EAAIiC,OAAOjG,EAAI,GAAIuD,GACnBS,EAAIoC,YAAc,uBAAuB1H,IACzCsF,EAAI4C,OAAO5G,EAAGuD,EAAI,IAClBS,EAAIiC,OAAOjG,EAAGuD,EAAI,IAClBS,EAAIqC,SA1CFC,EAAMX,SAAWW,EAAMV,UACnBU,EAAMX,SAAWd,EAAQvG,SAAQgI,EAAMV,WAAY,KACnDU,EAAMX,QAAU,IAAGW,EAAMV,UAAYrB,EAAU,IAGhDL,GACHC,OAAO0C,sBAAsBhB,E,CAyCjCA,E,MCtCFiB,EApDA,WACE/I,SAAST,iBAAiB,oBAAoB,KAC5C,MAAMyJ,EAAkBhJ,SAASe,eAAe,mBAChD,QAA8B,IAApBiI,GAAsD,MAAnBA,EAAyB,CACpE,MAAMC,EAAgB7C,OAAOC,WAAW,oCACpC4C,IAAiBA,EAAc3C,SACjC0C,EAAgBrJ,UAAUoE,IAAI,YAGhC,MAAMJ,EAAkB3D,SAASe,eAAe,aAC1CmI,EAAoBlJ,SAASe,eAAe,iBAC5CoI,EAAgBD,EAAkBvH,cAAc,sBAuBtD,SAASyH,IACJF,EAAkBvJ,UAAU6C,SAAS,aAClCwG,EAAgBK,QAClBL,EAAgBM,OAEbH,EAAcE,QACjBF,EAAcI,SAGXP,EAAgBK,QACnBL,EAAgBO,O,CA/BtB5F,EAAgBpE,iBAAiB,SAAS0F,IACxC+D,EAAgBO,QAChBL,EAAkBvJ,UAAUmE,OAAO,YACnCsF,GAAa,IAGfF,EAAkB3J,iBAAiB,SAAU0F,IACtCA,EAAEC,OAAOvF,UAAU6C,SAAS,uBAC/BwG,EAAgBzE,aAAa,WAAW,IACxC2E,EAAkBvJ,UAAUoE,IAAI,YAChCqF,I,IAGJhD,OAAO7G,iBAAiB,WAAW,SAAS0F,GAC7B,UAATA,EAAEjC,MACJgG,EAAgBzE,aAAa,WAAW,IACxC2E,EAAkBvJ,UAAUoE,IAAI,YAChCqF,I,SCAV,SAASI,EAAUC,GAEjB,MAAMC,EAAOD,EAAQE,wBACfjJ,EAAQ0F,OAAOwD,iBAAiBH,GACtC,OACEC,EAAKG,KAAO,GACZH,EAAKI,MAAQ,GACbJ,EAAKK,SAAW3D,OAAO4D,aAAehK,SAASiK,gBAAgBC,eAC/DR,EAAKS,QAAU/D,OAAOgE,YAAcpK,SAASiK,gBAAgBI,cAC3C,SAAlB3J,EAAM4J,SACe,WAArB5J,EAAM6J,U,CAKV,SAASC,EAAgB5K,EAAQ6K,GAC/B,MAAMvF,EAASlF,SAASe,eAAenB,EAAOyE,aAAa,iBACzC,IAAdoG,EAQN,SAAyBvF,GAEvBA,EAAOvF,UAAUoE,IAAI,gBACrBmB,EAAOX,aAAa,WAAY,MAChCW,EAAOX,aAAa,cAAe,QAGnC,MAAMmG,EAAexF,EAAOvD,cAAc,8BACpCgJ,EAAazF,EAAOvD,cAAc,4BAClCiJ,EAAe1F,EAAOvD,cAAc,8BAGpCkJ,EAAuC,OAAjBH,EAAwBA,EAAaI,UAAY,GACvEC,EAAmC,OAAfJ,EAAsBA,EAAWG,UAAY,GACjEE,EAAuC,OAAjBJ,EAAwBA,EAAaE,UAAY,GAG7E5F,EAAO7C,UAAY,oPAG6CwI,sDACzBE,kEAE/BC,mY,CA9BNC,CAAgB/F,GA2CpB,SAAyBA,GAEvBA,EAAOvF,UAAUmE,OAAO,eAAgB,wBACxCoB,EAAOf,gBAAgB,YACvBe,EAAOf,gBAAgB,eAGvB,MAAM+G,EAAiBhG,EAAOvD,cAAc,2BACxCuJ,GACFA,EAAepH,SAIjB,MAAMqH,EAAgBjG,EAAOvD,cAAc,0BAC3C,GAAIwJ,EAAe,CACjB,KAAOA,EAAcC,YACnBlG,EAAOmG,aAAaF,EAAcC,WAAYD,GAEhDjG,EAAOoG,YAAYH,E,CAGrB,MAAMT,EAAexF,EAAOvD,cAAc,yBAC1C,GAAI+I,EAAc,CAChB,KAAOA,EAAaU,YAClBlG,EAAOmG,aAAaX,EAAaU,WAAYV,GAE/CxF,EAAOoG,YAAYZ,E,CAGrB,MAAMC,EAAazF,EAAOvD,cAAc,uBACxC,GAAIgJ,EAAY,CACd,KAAOA,EAAWS,YAChBlG,EAAOmG,aAAaV,EAAWS,WAAYT,GAE7CzF,EAAOoG,YAAYX,E,CAGrB,MAAMC,EAAe1F,EAAOvD,cAAc,yBAC1C,GAAIiJ,EAAc,CAChB,KAAOA,EAAaQ,YAClBlG,EAAOmG,aAAaT,EAAaQ,WAAYR,GAE/C1F,EAAOoG,YAAYV,E,CAIrB,MAAMW,EAAcrG,EAAOvD,cAAc,wBACrC4J,GACFA,EAAYzH,Q,CAzFZ0H,CAAgBtG,E,CA6IpB,SAASuG,EAAevG,GAEtBlF,SAAS2B,cAAc,iBAAmBuD,EAAOwG,GAAK,KAAKnH,aAAa,gBAAiB,SACzFW,EAAOvF,UAAUmE,OAAO,wBACxBoB,EAAOX,aAAa,cAAe,QAGnCvE,SAAS0B,KAAKhB,MAAMiL,UAAY,E,CAIlC,SAASC,IAEPH,EADkBzK,KAAKC,QAAQ,iB,CAKjC,SAAS4K,EAAcrM,GACrB,GAAkB,WAAdA,EAAMwD,IAAkB,CAC1B,MAAM8I,EAAkB9L,SAAS2B,cAAc,yBAC3CmK,GACFL,EAAeK,E,EAMrB,SAASC,IAEPN,EADkBzK,KAAKC,QAAQ,iB,KAIjC+K,EA9NA,WAEE,MAAMC,EAAUjM,SAASC,iBAAiB,yBAGtCgM,EAAQ1L,SACV0L,EAAQ/L,SAAQN,IAEd4K,EAAgB5K,EAAQ4J,EAAU5J,IAClCA,EAAOL,iBAAiB,SAAS,IAsIvC,SAAyBK,GACvB,MAAMsF,EAASlF,SAASe,eAAenB,EAAOyE,aAAa,gBAGtDa,EAAOvF,UAAU6C,SAAS,wBAEpB0C,EAAOvF,UAAU6C,SAAS,yBACnCiJ,EAAevG,GAInB,SAAuBtF,EAAQsF,GAE7BtF,EAAO2E,aAAa,gBAAiB,QACrCW,EAAOvF,UAAUoE,IAAI,wBACrBmB,EAAOX,aAAa,cAAe,SAGnC,MAAM2H,EAAoBhH,EAAOvD,cAAc,2BAC5CuK,GACDA,EAAkB3M,iBAAiB,QAASqM,GAI9C,MAAMO,EAAyBjH,EAAOjF,iBAAiB,kCACnDkM,EAAuB5L,OAAS,GAClC4L,EAAuBjM,SAASkM,IAC9BA,EAAe7M,iBAAiB,QAASwM,EAAiB,IAK9D/L,SAAST,iBAAiB,UAAWsM,EAAe,CAAEQ,MAAM,IAG5DrM,SAAS0B,KAAKhB,MAAMiL,UAAY,SAGhC,MAAMW,EAAoCxM,MAAMC,KAAKC,SAASC,iBAAiB,kBAAkB+B,QAAOuK,GAAaA,IAAcrH,IAC/HoH,EAAkC/L,OAAS,GAC7C+L,EAAkCpM,SAASqM,IACzCd,EAAec,EAAU,G,CApC3BC,CAAc5M,EAAQsF,E,CA3ImBuH,CAAgB7M,IAAQ,IAWjEwG,OAAO7G,iBAAiB,UAAU,KAChC0M,EAAQ/L,SAAQN,IACd4K,EAAgB5K,EAAQ4J,EAAU5J,GAAQ,GAC1C,I,QCxBgB,KACPE,MAAMC,KAAKC,SAASC,iBAAiB,yBAC7CC,S,SAUgBoC,G,MACnBoK,EAAMpK,EAAUrC,iBAAO,2BACvB0M,EAAOC,OAAAtK,EAAA+B,aAAA,oB,GACRqI,EAAAnM,OAAAoM,EAGC,YADFrK,EAAU3C,UAAOmE,OAAA,uB,WAIXxB,EAAQrC,iBACN,aAAaC,SAAOqC,I,MAErBxC,KAAA2M,GAAAvK,KAAAF,KAAAS,cACJxC,SAAA,CAAA2M,EAAA9J,KACJR,EAAAR,SAAAgB,IAAAR,EAAAR,SAAAgB,GAAAwB,aAAA,wBAAAsI,EAAA,GACD,G,KCpBF,SAASC,IACL9M,SAASiK,gBAAgBvJ,MAAMqM,YAC3B,mBACA3G,OAAOgE,WAAapK,SAAS0B,KAAK2I,YAAc,K,KAIxD2C,EAZA,WACIF,IACA1G,OAAO7G,iBAAiB,SLaJ,EAAC0N,EAAMC,KAC7B,IAAIC,GAAO,EACX,MAAO,KACCA,IACJF,IACAE,GAAO,EACPC,YAAW,IAAMD,GAAO,GAAOD,GAAM,CACxC,EKpBmCG,CAASP,EAAmB,K,ECClE,SAASQ,EAAM7D,GACb,MAAM8D,EAAUzN,MAAMC,KAAK0J,EAAQxJ,iBAAiB,MAC9CuN,EAAW,IAAIC,qB,SAiB0CF,G,OAEzDG,I,MAEEC,EACAD,EAAAE,MAAA3L,KAAqB4L,iBAK5BF,GAAAJ,EAAArN,SAAA+B,IACFA,EAAAtC,UAAAC,OAAA,sBAAAqC,EAAAoC,aAAA,cAAAsJ,EAAAzI,OAAAwG,GAAA,GAED,C,CA9B4CoC,CAAYP,IAEtDA,EAAQrN,SAAQ6N,IACd,MAAMrC,EAAKqC,EAAO1J,aAAa,QAAQ2J,QAAQ,IAAK,IAC9C9I,EAASlF,SAASe,eAAe2K,GAClCxG,GAELsI,EAASS,QAAQ/I,EAAO,G,OAd5B,WACgBpF,MAAMC,KAAKC,SAASC,iBAAiB,kBAC7CC,QAAQoN,E,ECGhB,SAASY,EAAUhL,GACjB,MAAMiL,EAAWrO,MAAMC,KAAKmD,EAAOjD,iBAAiB,qBAC9CmO,EAAUtO,MAAMC,KAAKmD,EAAOjD,iBAAiB,WAC7CoO,EAAUnL,EAAOvD,UAAU6C,SAAS,mBAE1C,GAAK2L,EAAS5N,QAAW6N,EAAQ7N,SAEjC4N,EAASjO,SAAQoO,IACfA,EAAQ/O,iBAAiB,QAS7B,SAAsB4O,EAAUI,EAAUF,GACxC,OAAQ7O,IACN,MAAM8O,EAAU9O,EAAMC,cAChB2O,EAAUG,EAASX,MAAK3L,GAAKA,EAAEyJ,KAAO4C,EAAQjK,aAAa,QAAQ2J,QAAQ,IAAK,MAEtF,IAAKI,EACH,OAAO,EAGT5O,EAAMgP,iBAEFH,GACFI,QAAQC,UAAU,KAAM,KAAMJ,EAAQjK,aAAa,SAGrD8J,EAASjO,SAAQ8F,GAAKA,EAAErG,UAAUC,OAAO,0BAA2BoG,IAAMsI,KAC1EC,EAASrO,SAAQ8F,IACf,MAAM2I,EAAY3I,IAAMoI,EAGxB,GAFApI,EAAErG,UAAUC,OAAO,gBAAiB+O,IAEhCN,EAEJ,GAAIM,EAAW,CACb3I,EAAEzB,aAAa,YAAY,GAE3B,MAAMiB,EAAIY,OAAOwI,QACjB5I,EAAE6I,QACFzI,OAAO0I,SAAS,CAAEC,SAAU,OAAQlF,IAAKrE,G,MAEzCQ,EAAE7B,gBAAgB,WAAW,GAE/B,C,CAxCgC6K,CAAab,EAAUC,EAASC,GAAS,IAGzEA,GAAWjI,OAAO6I,SAASC,MAAM,CACnC,MAAMZ,EAAUpL,EAAOvB,cAAc,UAAYyE,OAAO6I,SAASC,KAAO,MACpEZ,GAASA,EAAQa,cAAc,IAAIC,MAAM,S,MAuCjDC,EAzDA,WACevP,MAAMC,KAAKC,SAASC,iBAAiB,oBAC7CC,QAAQgO,E,ECYV9H,OAAOkJ,WAAaA,SAASC,UAAUrP,UACxCoP,SAASC,UAAUrP,QAAUJ,MAAMyP,UAAUrP,SAE5CkG,OAAOoJ,iBAAmBA,eAAeD,UAAUrP,UACpDsP,eAAeD,UAAUrP,QAAUJ,MAAMyP,UAAUrP,SAGrDL,IACAM,IACAU,IACA0C,IACAC,IACAsC,IACAiD,IACAiD,IACAyD,IACAzC,IACA0C,IACAL,G","sources":["src/assets/js/imports/accordion.js","src/assets/js/imports/carousel.js","src/assets/js/imports/clear-form.js","src/assets/js/imports/comparison.js","src/assets/js/imports/gallery.js","src/assets/js/imports/utilities.js","src/assets/js/imports/hero-pattern.js","src/assets/js/imports/hero-video.js","src/assets/js/imports/off-canvas.js","src/assets/js/imports/responsive-table.js","src/assets/js/imports/scrollbar-width.js","src/assets/js/imports/scroll-spy.js","src/assets/js/imports/tabs.js","src/assets/js/app.js"],"sourcesContent":["function Accordion() {\r\n const accordions = Array.from(document.querySelectorAll('.c-accordion__title'));\r\n accordions.forEach(setupAccordions);\r\n}\r\n\r\nfunction setupAccordions(title) {\r\n title.addEventListener('click', titleClick())\r\n}\r\n\r\nfunction titleClick() {\r\n return (event) => {\r\n var item = event.currentTarget.parentElement;\r\n item.classList.toggle('c-accordion__item--open');\r\n }\r\n}\r\n\r\nexport default Accordion;\r\n","function Carousel() {\r\n let current = 0;\r\n const bgSlides = document.querySelectorAll('.c-hero__image-bg');\r\n const fgSlides = document.querySelectorAll('.c-hero__image-fg');\r\n\r\n if(fgSlides.length > 0) {\r\n setInterval(() => {\r\n for (var bgSlide of bgSlides) {\r\n bgSlide.style.opacity = 0;\r\n }\r\n current = (current != bgSlides.length - 1) ? current + 1 : 0;\r\n bgSlides[current].style.opacity = 1;\r\n \r\n for (var fgSlide of fgSlides) {\r\n fgSlide.style.opacity = 0;\r\n }\r\n fgSlides[current].style.opacity = 1;\r\n }, 5000);\r\n }\r\n}\r\n\r\nexport default Carousel;","function ClearForm() {\r\n const formClear = document.getElementById('clearForm');\r\n if (formClear) {\r\n formClear.addEventListener('click', function () {\r\n const fields = this.closest('form').elements;\r\n fields.forEach(field => {\r\n if (field.value != '') {\r\n if (\r\n field.type.toLowerCase() == 'text' || \r\n field.type.toLowerCase() == 'email' || \r\n field.type.toLowerCase() == 'tel' || \r\n field.type.toLowerCase() == 'select-one' || \r\n field.type.toLowerCase() == 'textarea'\r\n ) {\r\n field.value = '';\r\n return;\r\n } else if (field.type.toLowerCase() == 'checkbox') {\r\n field.checked = false;\r\n return;\r\n }\r\n }\r\n });\r\n });\r\n };\r\n}\r\n\r\nexport default ClearForm;","function Comparison() {\r\n document.querySelectorAll('.c-comparison').forEach(extractMobileComparison)\r\n}\r\n\r\nfunction extractMobileComparison(container) {\r\n const body = container.querySelector('.c-table tbody');\r\n const head = container.querySelector('.c-table thead');\r\n const mobile = container.querySelector('.c-comparison__mobile');\r\n\r\n if (!body || !head || !mobile) return;\r\n\r\n // Remove empty corner piece\r\n const products = Array.from(head.children[0].children)\r\n .filter((x, i) => i)\r\n .map(x => ({ info: x.innerHTML, table: [] }));\r\n\r\n Array.from(body.children).forEach(row => {\r\n // For table row headers, push to all products\r\n if (row.classList.contains('c-table__title')) {\r\n products.forEach(x => {\r\n x.table.push({ type: 'title', title: row.children[0].textContent })\r\n })\r\n } else {\r\n // For all others, loop the cells and push to their appropriate parent\r\n const cells = Array.from(row.children);\r\n const firstCell = cells.shift();\r\n\r\n cells.forEach((el, index) => {\r\n products[index].table.push({\r\n type: 'row',\r\n key: firstCell.textContent,\r\n value: el.innerHTML\r\n })\r\n })\r\n }\r\n })\r\n\r\n products.forEach(product => {\r\n const el = createMobileProduct(product);\r\n mobile.appendChild(el)\r\n })\r\n}\r\n\r\nfunction createMobileProduct(product) {\r\n const parent = document.createElement('article');\r\n parent.innerHTML = `<div class=\"c-comparison__content\">\r\n ${product.info}\r\n </div>\r\n <table class=\"c-table\">\r\n ${product.table.map(x => {\r\n if (x.type === 'title') {\r\n return `<tr class=\"c-table__title\"><th colspan=\"2\">${x.title}</th></tr>`;\r\n } else {\r\n return `<tr>\r\n <td>${x.key}</td>\r\n <td>${x.value}</td>\r\n </tr>`;\r\n }\r\n }).join('')}\r\n </table>`;\r\n\r\n return parent;\r\n}\r\n\r\nexport default Comparison;\r\n","function Gallery() {\r\n const mainSlides = document.querySelectorAll('.c-gallery__main .c-gallery__slide');\r\n const thumbnailSlides = document.querySelectorAll('.c-gallery__thumbnails .c-gallery__slide');\r\n\r\n thumbnailSlides.forEach(thumbnailSlide => thumbnailSlide.addEventListener('click', function(e) {\r\n thumbnailSlides.forEach(function(thumbnail) {\r\n if(thumbnail != e.target.parentNode) {\r\n thumbnail.classList.remove('active');\r\n }\r\n });\r\n e.target.parentNode.classList.add('active');\r\n\r\n mainSlides.forEach(function(mainSlide) {\r\n if(mainSlide.dataset.slide == thumbnailSlide.dataset.slide) {\r\n mainSlide.classList.add('active');\r\n } else {\r\n mainSlide.classList.remove('active');\r\n }\r\n });\r\n }));\r\n\r\n mainSlides.forEach(function(mainSlide) {\r\n if(!mainSlide.classList.contains('c-gallery__video')) {\r\n mainSlide.addEventListener('click', lightboxTrigger);\r\n }\r\n });\r\n\r\n function lightboxTrigger() {\r\n const lightbox = document.querySelector('.c-gallery__main').cloneNode(true);\r\n lightbox.classList.remove('c-gallery__main');\r\n lightbox.classList.add('c-lightbox');\r\n lightbox.querySelectorAll('.c-gallery__slide').forEach(function(slide) {\r\n if(slide.classList.contains('c-gallery__video')) {\r\n slide.remove();\r\n }\r\n if(!slide.classList.contains('c-gallery__video')) {\r\n var slideImg = slide.querySelector('img');\r\n if(slideImg.srcset != '') {\r\n slideImg.removeAttribute('srcset');\r\n }\r\n var slideImgSrc = slideImg.getAttribute('src');\r\n if (slideImgSrc) {\r\n if (slideImgSrc.indexOf('?') !== -1) {\r\n slideImg.setAttribute('src', slideImgSrc.split(\"?\")[0] + '?quality=90&width=2176');\r\n } else {\r\n slideImg.setAttribute('src', slideImgSrc + '?quality=90&width=2176');\r\n }\r\n } else {\r\n console.log(slideImg);\r\n console.log('has no src defined...');\r\n }\r\n }\r\n slide.classList.add('c-lightbox__slide');\r\n slide.classList.remove('c-gallery__slide');\r\n });\r\n document.body.appendChild(lightbox);\r\n lightbox.insertAdjacentHTML('beforeend', '<a class=\"c-lightbox__prev\"></a><a class=\"c-lightbox__next\"></a>');\r\n\r\n lightbox.querySelector('.c-lightbox__prev').addEventListener('click', function() {\r\n const lightboxActive = lightbox.querySelector('.active');\r\n const prevImage = lightbox.querySelector('[data-slide=\"' + (parseInt(lightboxActive.dataset.slide) - 1) + '\"]');\r\n if(prevImage != null) {\r\n lightboxActive.classList.remove('active');\r\n prevImage.classList.add('active');\r\n }\r\n });\r\n\r\n lightbox.querySelector('.c-lightbox__next').addEventListener('click', function() {\r\n const lightboxActive = lightbox.querySelector('.active');\r\n const nextImage = lightbox.querySelector('[data-slide=\"' + (parseInt(lightboxActive.dataset.slide) + 1) + '\"]');\r\n if(nextImage != null) {\r\n lightboxActive.classList.remove('active');\r\n nextImage.classList.add('active');\r\n }\r\n });\r\n\r\n lightbox.addEventListener('click', function(e) {\r\n if (e.target !== e.currentTarget) {\r\n return;\r\n } else {\r\n lightbox.remove();\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport default Gallery;\r\n","export function shuffle(array) {\r\n const arr = [...array];\r\n for (let i = arr.length - 1; i > 0; i--) {\r\n let j = Math.floor(Math.random() * (i + 1));\r\n [arr[i], arr[j]] = [arr[j], arr[i]];\r\n }\r\n\r\n return arr;\r\n}\r\n\r\nexport function userPrefersReducedMotion() {\r\n const QUERY = '(prefers-reduced-motion: no-preference)';\r\n const mediaQueryList = window.matchMedia(QUERY);\r\n const prefersReducedMotion = !mediaQueryList.matches;\r\n return prefersReducedMotion;\r\n}\r\n\r\nexport const debounce = (func, limit) => {\r\n let wait = false; \r\n return () => {\r\n if (wait) return;\r\n func();\r\n wait = true;\r\n setTimeout(() => wait = false, limit);\r\n }\r\n}\r\n\r\nexport const lerp = (x, y, a) => x * (1 - a) + y * a;\r\nexport const clamp = (a, min = 0, max = 1) => Math.min(max, Math.max(min, a));\r\nexport const invlerp = (x, y, a) => clamp((a - x) / (y - x));\r\nexport const range = (x1, y1, x2, y2, a) => lerp(x2, y2, invlerp(x1, y1, a));\r\n","import { range, shuffle, userPrefersReducedMotion } from './utilities';\r\n\r\nfunction HeroPattern() {\r\n let time = 0;\r\n\r\n const c = document.querySelector('.c-hero__canvas');\r\n if (!c) return;\r\n const ctx = c.getContext(\"2d\");\r\n \r\n const sineColour = \"rgb(19,170,19)\";\r\n const reduceMotion = userPrefersReducedMotion();\r\n\r\n const crossGap = 147;\r\n const minimumOpacity = 0;\r\n const maximumOpacity = 0.5;\r\n const crossSpeed = 0.25;\r\n\r\n let width;\r\n let height;\r\n let across;\r\n let down;\r\n let crosses = [];\r\n let totalPoints;\r\n\r\n function draw() {\r\n // Sine wave\r\n time = time + 0.005;\r\n \r\n ctx.clearRect(0, 0, c.width, c.height);\r\n ctx.beginPath();\r\n \r\n for(let cnt = c.width; cnt > 0; cnt--) {\r\n ctx.lineTo(cnt, c.height * 0.5 - (Math.cos(time + cnt / 5 * 0.03) * (height * 0.3) ));\r\n }\r\n \r\n ctx.lineWidth = 0.5;\r\n ctx.strokeStyle = sineColour;\r\n ctx.stroke();\r\n \r\n // Crosses\r\n crosses.forEach(cross => {\r\n drawCross(cross.x, cross.y, range(0, crosses.length, minimumOpacity, maximumOpacity, cross.counter));\r\n \r\n cross.counter += cross.direction;\r\n if (cross.counter >= crosses.length) cross.direction = -1 * crossSpeed;\r\n if (cross.counter < 0) cross.direction = crossSpeed;\r\n })\r\n \r\n if (!reduceMotion) {\r\n window.requestAnimationFrame(draw);\r\n }\r\n }\r\n \r\n function onResize() {\r\n width = c.scrollWidth;\r\n height = c.scrollHeight;\r\n \r\n ctx.canvas.width = width;\r\n ctx.canvas.height = height;\r\n \r\n across = Math.ceil(width / crossGap);\r\n down = Math.ceil(height / crossGap);\r\n \r\n totalPoints = (across + 1) * (down + 1);\r\n const ids = shuffle(Array.from({ length: totalPoints }, (_, i) => (i)))\r\n crosses = [];\r\n for(let x = 0; x <= across; x++) {\r\n for(let y = 0; y <= down; y++) {\r\n crosses.push({\r\n counter: ids.shift(),\r\n direction: Math.random() > 0.5 ? crossSpeed : -1 * crossSpeed,\r\n x: crossGap * (x + 1) - crossGap / 1,\r\n y: crossGap * (y + 1) - crossGap / 2\r\n });\r\n }\r\n }\r\n }\r\n \r\n function drawCross(x, y, opacity) {\r\n ctx.beginPath();\r\n ctx.moveTo(x - 14, y);\r\n ctx.lineTo(x + 14, y);\r\n ctx.strokeStyle = `rgba(255, 255, 255, ${opacity}`;\r\n ctx.moveTo(x, y - 14);\r\n ctx.lineTo(x, y + 14);\r\n ctx.stroke();\r\n }\r\n\r\n window.addEventListener('resize', onResize);\r\n onResize();\r\n draw();\r\n}\r\n\r\nexport default HeroPattern;\r\n","function HeroVideo() {\r\n document.addEventListener(\"DOMContentLoaded\", () => {\r\n const videoBackground = document.getElementById('videoBackground');\r\n if(typeof(videoBackground) != 'undefined' && videoBackground != null) {\r\n const reducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)');\r\n if(!reducedMotion || reducedMotion.matches) {\r\n videoBackground.classList.add('u-hidden');\r\n }\r\n \r\n const lightboxTrigger = document.getElementById('playVideo');\r\n const lightboxContainer = document.getElementById('lightboxVideo');\r\n const lightboxVideo = lightboxContainer.querySelector('.c-lightbox__video');\r\n\r\n lightboxTrigger.addEventListener('click', e => {\r\n videoBackground.pause();\r\n lightboxContainer.classList.remove('u-hidden');\r\n checkVideos();\r\n });\r\n \r\n lightboxContainer.addEventListener('click', (e) => {\r\n if (!e.target.classList.contains('c-lightbox__video')) {\r\n videoBackground.setAttribute('autoplay','');\r\n lightboxContainer.classList.add('u-hidden');\r\n checkVideos();\r\n }\r\n });\r\n window.addEventListener('keydown', function(e) {\r\n if (e.key == \"Escape\") {\r\n videoBackground.setAttribute('autoplay','');\r\n lightboxContainer.classList.add('u-hidden');\r\n checkVideos();\r\n }\r\n });\r\n\r\n function checkVideos() {\r\n if(lightboxContainer.classList.contains('u-hidden')) {\r\n if (videoBackground.paused) {\r\n videoBackground.play();\r\n }\r\n if (!lightboxVideo.paused) {\r\n lightboxVideo.pause();\r\n }\r\n } else {\r\n if (!videoBackground.paused) {\r\n videoBackground.pause();\r\n }\r\n }\r\n }\r\n }\r\n });\r\n}\r\n\r\nexport default HeroVideo;","// Function to initialize off-canvas behavior\r\nfunction OffCanvas() {\r\n // Select all elements that trigger off-canvas behavior\r\n const toggles = document.querySelectorAll(\".c-off-canvas__toggle\");\r\n\r\n // Iterate through each toggle element\r\n if (toggles.length) {\r\n toggles.forEach(toggle => {\r\n // Determine initial visibility state and handle click event\r\n handleOffCanvas(toggle, isVisible(toggle));\r\n toggle.addEventListener('click', () => toggleOffCanvas(toggle));\r\n });\r\n\r\n // Add event listener for scroll events to check visibility\r\n // window.addEventListener('scroll', () => {\r\n // toggles.forEach(toggle => {\r\n // handleOffCanvas(toggle, isVisible(toggle));\r\n // });\r\n // });\r\n\r\n // Add event listener for resize events to check visibility\r\n window.addEventListener('resize', () => {\r\n toggles.forEach(toggle => {\r\n handleOffCanvas(toggle, isVisible(toggle));\r\n });\r\n });\r\n }\r\n}\r\n\r\n// Function to check if an element is currently visible on the page\r\nfunction isVisible(element) {\r\n // Check element's position and styles for visibility\r\n const rect = element.getBoundingClientRect();\r\n const style = window.getComputedStyle(element);\r\n return (\r\n rect.top >= 0 &&\r\n rect.left >= 0 &&\r\n rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&\r\n rect.right <= (window.innerWidth || document.documentElement.clientWidth) &&\r\n style.display !== 'none' &&\r\n style.visibility !== 'hidden'\r\n );\r\n}\r\n\r\n// Function to handle off-canvas behavior based on visibility\r\nfunction handleOffCanvas(toggle, isVisible) {\r\n const target = document.getElementById(toggle.getAttribute('data-target'));\r\n if (isVisible === true) {\r\n createOffCanvas(target);\r\n } else {\r\n removeOffCanvas(target);\r\n }\r\n}\r\n\r\n// Function to create off canvas\r\nfunction createOffCanvas(target) {\r\n // Add necessary classes and attributes for off-canvas display\r\n target.classList.add('c-off-canvas');\r\n target.setAttribute('tabindex', '-1');\r\n target.setAttribute('aria-hidden', 'true');\r\n \r\n // Extract specific sections of the off-canvas content\r\n const targetHeader = target.querySelector('[data-off-canvas=\"header\"]');\r\n const targetMain = target.querySelector('[data-off-canvas=\"main\"]');\r\n const targetFooter = target.querySelector('[data-off-canvas=\"footer\"]');\r\n\r\n // Extract content from the sections\r\n const targetHeaderContent = targetHeader !== null ? targetHeader.outerHTML : '';\r\n const targetMainContent = targetMain !== null ? targetMain.outerHTML : '';\r\n const targetFooterContent = targetFooter !== null ? targetFooter.outerHTML : '';\r\n\r\n // Replace the target's content with off-canvas structure\r\n target.innerHTML = `\r\n <div class=\"c-off-canvas__backdrop\" role=\"presentation\"></div>\r\n <div class=\"c-off-canvas__content\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"offCanvasHeader\">\r\n <header id=\"offCanvasHeader\" class=\"c-off-canvas__header\">${targetHeaderContent}</header>\r\n <main class=\"c-off-canvas__main\">${targetMainContent}</main>\r\n <footer class=\"c-off-canvas__footer\">\r\n ${targetFooterContent}\r\n <button class=\"mp c-twi c-twi--left c-off-canvas__close\" data-off-canvas-close=\"true\" onclick=\"return false\">\r\n <span>Cancel</span>\r\n <svg role=\"img\" aria-hidden=\"true\" focusable=\"false\" class=\"mp c-icon c-icon--cross\">\r\n <use xlink:href=\"/static/svg/sprite.svg#cross\"></use>\r\n </svg>\r\n </button>\r\n </footer>\r\n </div>\r\n `;\r\n}\r\n\r\n// Function to remove off-canvas layout\r\nfunction removeOffCanvas(target) {\r\n // Remove classes and attributes for off-canvas display\r\n target.classList.remove('c-off-canvas', 'c-off-canvas--active');\r\n target.removeAttribute('tabindex');\r\n target.removeAttribute('aria-hidden');\r\n\r\n // Remove backdrop element if present\r\n const targetBackdrop = target.querySelector('.c-off-canvas__backdrop');\r\n if (targetBackdrop) {\r\n targetBackdrop.remove();\r\n }\r\n\r\n // Restore original content by removing off-canvas structure\r\n const targetContent = target.querySelector('.c-off-canvas__content');\r\n if (targetContent) {\r\n while (targetContent.firstChild) {\r\n target.insertBefore(targetContent.firstChild, targetContent);\r\n }\r\n target.removeChild(targetContent);\r\n }\r\n\r\n const targetHeader = target.querySelector('.c-off-canvas__header');\r\n if (targetHeader) {\r\n while (targetHeader.firstChild) {\r\n target.insertBefore(targetHeader.firstChild, targetHeader);\r\n }\r\n target.removeChild(targetHeader);\r\n }\r\n\r\n const targetMain = target.querySelector('.c-off-canvas__main');\r\n if (targetMain) {\r\n while (targetMain.firstChild) {\r\n target.insertBefore(targetMain.firstChild, targetMain);\r\n }\r\n target.removeChild(targetMain);\r\n }\r\n\r\n const targetFooter = target.querySelector('.c-off-canvas__footer');\r\n if (targetFooter) {\r\n while (targetFooter.firstChild) {\r\n target.insertBefore(targetFooter.firstChild, targetFooter);\r\n }\r\n target.removeChild(targetFooter);\r\n }\r\n \r\n // Remove close button element if present\r\n const targetClose = target.querySelector('.c-off-canvas__close');\r\n if (targetClose) {\r\n targetClose.remove();\r\n }\r\n}\r\n\r\n// Function to toggle off-canvas visibility\r\nfunction toggleOffCanvas(toggle) {\r\n const target = document.getElementById(toggle.getAttribute('data-target'));\r\n\r\n // Check if the target is already open or closed\r\n if (!target.classList.contains('c-off-canvas--active')) {\r\n openOffCanvas(toggle, target);\r\n } else if (target.classList.contains('c-off-canvas--active')) {\r\n closeOffCanvas(target);\r\n }\r\n}\r\n\r\nfunction openOffCanvas(toggle, target) {\r\n // Add classes and attributes for open off-canvas\r\n toggle.setAttribute('aria-expanded', 'true');\r\n target.classList.add('c-off-canvas--active');\r\n target.setAttribute('aria-hidden', 'false');\r\n\r\n // Add event listener for backdrop clicks\r\n const offCanvasBackdrop = target.querySelector('.c-off-canvas__backdrop');\r\n if(offCanvasBackdrop) {\r\n offCanvasBackdrop.addEventListener('click', handleBackdropClick);\r\n }\r\n\r\n // Add event listener forclose button clicks\r\n const offCanvasCloseElements = target.querySelectorAll('[data-off-canvas-close=\"true\"]');\r\n if (offCanvasCloseElements.length > 0) {\r\n offCanvasCloseElements.forEach((offCanvasClose) => {\r\n offCanvasClose.addEventListener('click', handleCloseClick);\r\n });\r\n }\r\n\r\n // Add event listener for Escape key press\r\n document.addEventListener('keydown', handleKeyDown, { once: true });\r\n\r\n // Adjust body overflow to prevent scrolling\r\n document.body.style.overflowY = 'hidden';\r\n\r\n // Close other open off-canvas elements\r\n const allOffCanvasElementsExceptCurrent = Array.from(document.querySelectorAll('.c-off-canvas')).filter(offCanvas => offCanvas !== target);\r\n if (allOffCanvasElementsExceptCurrent.length > 0) {\r\n allOffCanvasElementsExceptCurrent.forEach((offCanvas) => {\r\n closeOffCanvas(offCanvas);\r\n });\r\n }\r\n}\r\n\r\n// Function to close an off-canvas\r\nfunction closeOffCanvas(target) {\r\n // Remove classes and attributes for open off-canvas\r\n document.querySelector('[data-target=\"' + target.id + '\"').setAttribute('aria-expanded', 'false');\r\n target.classList.remove('c-off-canvas--active');\r\n target.setAttribute('aria-hidden', 'true');\r\n\r\n // Restore body overflow\r\n document.body.style.overflowY = '';\r\n}\r\n\r\n// Function to handle backdrop click\r\nfunction handleBackdropClick() {\r\n const offCanvas = this.closest('.c-off-canvas');\r\n closeOffCanvas(offCanvas);\r\n}\r\n\r\n// Function to handle Escape key press\r\nfunction handleKeyDown(event) {\r\n if (event.key === 'Escape') {\r\n const activeOffCanvas = document.querySelector('.c-off-canvas--active');\r\n if (activeOffCanvas) {\r\n closeOffCanvas(activeOffCanvas);\r\n }\r\n }\r\n}\r\n\r\n// Function to handle close button click\r\nfunction handleCloseClick() {\r\n const offCanvas = this.closest('.c-off-canvas');\r\n closeOffCanvas(offCanvas);\r\n}\r\n\r\nexport default OffCanvas;","const ResponsiveTable = () => {\r\n const tables = Array.from(document.querySelectorAll('.c-table--responsive'));\r\n tables.forEach(createResponsiveTable);\r\n\r\n /**\r\n * Create responsive table headers for large tables\r\n * @param {HTMLTableElement} table\r\n */\r\n function createResponsiveTable(table) {\r\n const headers = table.querySelectorAll('thead > :first-child th');\r\n const breakPoint = Number(table.getAttribute('data-columns')) || 2\r\n \r\n if (headers.length < breakPoint) {\r\n table.classList.remove('c-table--responsive');\r\n return;\r\n };\r\n\r\n Array.from(table.querySelectorAll('tbody tr')).forEach((row) => {\r\n Array.from(headers)\r\n .map((x) => x.textContent)\r\n .forEach((header, index) => {\r\n if (row.children[index]) {\r\n row.children[index].setAttribute('data-responsive-title', header);\r\n }\r\n });\r\n });\r\n }\r\n};\r\n\r\nexport default ResponsiveTable;\r\n","import { debounce } from './utilities';\r\n\r\nfunction ScrollbarWidth() {\r\n setScrollbarWidth();\r\n window.addEventListener('resize', debounce(setScrollbarWidth, 250));\r\n}\r\n\r\nfunction setScrollbarWidth() {\r\n document.documentElement.style.setProperty(\r\n '--scrollbarWidth', \r\n window.innerWidth - document.body.clientWidth + 'px'\r\n );\r\n}\r\n\r\nexport default ScrollbarWidth;","function ScrollSpy() {\r\n const spies = Array.from(document.querySelectorAll('.c-scroll-spy'));\r\n spies.forEach(setup);\r\n}\r\n\r\nfunction setup(element) {\r\n const anchors = Array.from(element.querySelectorAll('a'));\r\n const observer = new IntersectionObserver(observation(anchors));\r\n \r\n anchors.forEach(anchor => {\r\n const id = anchor.getAttribute('href').replace('#', '');\r\n const target = document.getElementById(id);\r\n if (!target) return;\r\n\r\n observer.observe(target);\r\n });\r\n}\r\n\r\n/**\r\n * @param {Array<HTMLAnchorElement>} results \r\n * @return {Array<IntersectionObserverEntry>}\r\n */\r\nfunction observation(anchors) {\r\n return (results) => {\r\n const firstObservation = results.find(x => x.isIntersecting);\r\n\r\n if (firstObservation) {\r\n anchors.forEach(x => {\r\n x.classList.toggle(\r\n 'c-scroll-spy-active',\r\n x.getAttribute('href') === '#' + firstObservation.target.id\r\n )\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport default ScrollSpy;\r\n","function Tabs() {\r\n const tabs = Array.from(document.querySelectorAll('.c-tabs--anchor'));\r\n tabs.forEach(setupTabs);\r\n}\r\n\r\nfunction setupTabs(parent) {\r\n const controls = Array.from(parent.querySelectorAll('.c-tabs__control'));\r\n const content = Array.from(parent.querySelectorAll('.c-tab'));\r\n const persist = parent.classList.contains('c-tabs--persist');\r\n \r\n if (!controls.length || !content.length) return;\r\n\r\n controls.forEach(control => {\r\n control.addEventListener('click', controlClick(controls, content, persist))\r\n })\r\n\r\n if (persist && window.location.hash) {\r\n const control = parent.querySelector('[href=\"' + window.location.hash + '\"]');\r\n if (control) control.dispatchEvent(new Event('click'));\r\n }\r\n}\r\n\r\nfunction controlClick(controls, contents, persist) {\r\n return (event) => {\r\n const control = event.currentTarget;\r\n const content = contents.find(x => x.id === control.getAttribute('href').replace('#', ''));\r\n \r\n if (!content) {\r\n return true;\r\n };\r\n\r\n event.preventDefault();\r\n \r\n if (persist) {\r\n history.pushState(null, null, control.getAttribute('href'));\r\n }\r\n\r\n controls.forEach(c => c.classList.toggle('c-tabs__control--active', c === control));\r\n contents.forEach(c => {\r\n const isCurrent = c === content;\r\n c.classList.toggle('c-tab--active', isCurrent);\r\n \r\n if (persist) return;\r\n\r\n if (isCurrent) {\r\n c.setAttribute('tabIndex', -1);\r\n \r\n const y = window.scrollY;\r\n c.focus();\r\n window.scrollTo({ behavior: \"auto\", top: y })\r\n } else {\r\n c.removeAttribute('tabIndex');\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport default Tabs;\r\n","import Accordion from './imports/accordion';\r\nimport Carousel from './imports/carousel';\r\nimport ClearForm from './imports/clear-form';\r\nimport Comparison from './imports/comparison';\r\nimport Gallery from './imports/gallery';\r\nimport HeroPattern from './imports/hero-pattern';\r\nimport HeroVideo from './imports/hero-video';\r\nimport OffCanvas from './imports/off-canvas';\r\nimport ResponsiveTable from './imports/responsive-table';\r\nimport ScrollbarWidth from './imports/scrollbar-width';\r\nimport ScrollSpy from './imports/scroll-spy';\r\nimport Tabs from './imports/tabs';\r\n\r\n(() => {\r\n if(window.NodeList && !NodeList.prototype.forEach) {\r\n NodeList.prototype.forEach = Array.prototype.forEach;\r\n }\r\n if(window.HTMLCollection && !HTMLCollection.prototype.forEach) {\r\n HTMLCollection.prototype.forEach = Array.prototype.forEach;\r\n }\r\n \r\n Accordion();\r\n Carousel();\r\n ClearForm();\r\n Comparison();\r\n Gallery();\r\n HeroPattern();\r\n HeroVideo();\r\n OffCanvas();\r\n ResponsiveTable();\r\n ScrollbarWidth();\r\n ScrollSpy();\r\n Tabs();\r\n})();"],"names":["$c274619fa9ae66ac$var$setupAccordions","title","addEventListener","event","currentTarget","parentElement","classList","toggle","$c274619fa9ae66ac$export$2e2bcd8739ae039","Array","from","document","querySelectorAll","forEach","$5bdce36a18199573$export$2e2bcd8739ae039","current","bgSlides","fgSlides","length","setInterval","bgSlide","style","opacity","fgSlide","$2b04c6f63ef290fb$export$2e2bcd8739ae039","formClear","getElementById","this","closest","elements","field","value","type","toLowerCase","checked","$7fbc59e2fab6d5d2$var$extractMobileComparison","container","body","querySelector","head","mobile","products","children","filter","x","i","map","info","innerHTML","table","row","contains","push","textContent","cells","firstCell","shift","el","index","key","product","parent","createElement","join","$7fbc59e2fab6d5d2$var$createMobileProduct","appendChild","$7fbc59e2fab6d5d2$export$2e2bcd8739ae039","$dfe0031b837edf6f$export$2e2bcd8739ae039","mainSlides","thumbnailSlides","lightboxTrigger","lightbox","cloneNode","remove","add","slide","slideImg","srcset","removeAttribute","slideImgSrc","getAttribute","indexOf","setAttribute","split","console","log","insertAdjacentHTML","lightboxActive","prevImage","parseInt","dataset","nextImage","e","target","thumbnailSlide","thumbnail","parentNode","mainSlide","$41a3994d4318effb$export$b568019c0551f0a4","y","a","min","max","Math","$41a3994d4318effb$export$7d15b64cf5a3a4c4","$2e27ca8f14f20195$export$2e2bcd8739ae039","time","c","ctx","getContext","reduceMotion","window","matchMedia","matches","crossGap","crossSpeed","width","height","across","down","totalPoints","crosses","onResize","scrollWidth","scrollHeight","canvas","ceil","ids","array","arr","j","floor","random","$41a3994d4318effb$export$448332262467e042","_","counter","direction","draw","clearRect","beginPath","cnt","lineTo","cos","lineWidth","strokeStyle","stroke","cross","x1","y1","x2","y2","$41a3994d4318effb$export$3a89f8d6f6bf6c9f","moveTo","requestAnimationFrame","$63fd9338c6a56d33$export$2e2bcd8739ae039","videoBackground","reducedMotion","lightboxContainer","lightboxVideo","checkVideos","paused","play","pause","$34e92b90f028a0e5$var$isVisible","element","rect","getBoundingClientRect","getComputedStyle","top","left","bottom","innerHeight","documentElement","clientHeight","right","innerWidth","clientWidth","display","visibility","$34e92b90f028a0e5$var$handleOffCanvas","isVisible","targetHeader","targetMain","targetFooter","targetHeaderContent","outerHTML","targetMainContent","targetFooterContent","$34e92b90f028a0e5$var$createOffCanvas","targetBackdrop","targetContent","firstChild","insertBefore","removeChild","targetClose","$34e92b90f028a0e5$var$removeOffCanvas","$34e92b90f028a0e5$var$closeOffCanvas","id","overflowY","$34e92b90f028a0e5$var$handleBackdropClick","$34e92b90f028a0e5$var$handleKeyDown","activeOffCanvas","$34e92b90f028a0e5$var$handleCloseClick","$34e92b90f028a0e5$export$2e2bcd8739ae039","toggles","offCanvasBackdrop","offCanvasCloseElements","offCanvasClose","once","allOffCanvasElementsExceptCurrent","offCanvas","$34e92b90f028a0e5$var$openOffCanvas","$34e92b90f028a0e5$var$toggleOffCanvas","headers","breakPoint","Number","header","$e3dc92a106d80d6c$var$setScrollbarWidth","setProperty","$e3dc92a106d80d6c$export$2e2bcd8739ae039","func","limit","wait","setTimeout","$41a3994d4318effb$export$61fc7d43ac8f84b0","$9d1dec2ad218c628$var$setup","anchors","observer","IntersectionObserver","results","firstObservation","find","isIntersecting","$9d1dec2ad218c628$var$observation","anchor","replace","observe","$1d2dabc452d8efd6$var$setupTabs","controls","content","persist","control","contents","preventDefault","history","pushState","isCurrent","scrollY","focus","scrollTo","behavior","$1d2dabc452d8efd6$var$controlClick","location","hash","dispatchEvent","Event","$1d2dabc452d8efd6$export$2e2bcd8739ae039","NodeList","prototype","HTMLCollection","$384feef4bde84172$export$2e2bcd8739ae039","$9d1dec2ad218c628$export$2e2bcd8739ae039"],"version":3,"file":"app.js.map"}
1
+ {"mappings":"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","sources":["src/assets/js/imports/accordion.js","src/assets/js/imports/carousel.js","src/assets/js/imports/clear-form.js","src/assets/js/imports/comparison.js","src/assets/js/imports/gallery.js","src/assets/js/imports/utilities.js","src/assets/js/imports/hero-pattern.js","src/assets/js/imports/hero-video.js","src/assets/js/imports/off-canvas.js","src/assets/js/imports/responsive-table.js","src/assets/js/imports/scrollbar-width.js","src/assets/js/imports/scroll-spy.js","src/assets/js/imports/tabs.js","src/assets/js/app.js"],"sourcesContent":["function Accordion() {\r\n const accordions = Array.from(document.querySelectorAll('.c-accordion__title'));\r\n accordions.forEach(setupAccordions);\r\n}\r\n\r\nfunction setupAccordions(title) {\r\n title.addEventListener('click', titleClick())\r\n}\r\n\r\nfunction titleClick() {\r\n return (event) => {\r\n var item = event.currentTarget.parentElement;\r\n item.classList.toggle('c-accordion__item--open');\r\n }\r\n}\r\n\r\nexport default Accordion;\r\n","function Carousel() {\r\n let current = 0;\r\n const bgSlides = document.querySelectorAll('.c-hero__image-bg');\r\n const fgSlides = document.querySelectorAll('.c-hero__image-fg');\r\n\r\n if(fgSlides.length > 0) {\r\n setInterval(() => {\r\n for (var bgSlide of bgSlides) {\r\n bgSlide.style.opacity = 0;\r\n }\r\n current = (current != bgSlides.length - 1) ? current + 1 : 0;\r\n bgSlides[current].style.opacity = 1;\r\n \r\n for (var fgSlide of fgSlides) {\r\n fgSlide.style.opacity = 0;\r\n }\r\n fgSlides[current].style.opacity = 1;\r\n }, 5000);\r\n }\r\n}\r\n\r\nexport default Carousel;","function ClearForm() {\r\n const formClear = document.getElementById('clearForm');\r\n if (formClear) {\r\n formClear.addEventListener('click', function () {\r\n const fields = this.closest('form').elements;\r\n fields.forEach(field => {\r\n if (field.value != '') {\r\n if (\r\n field.type.toLowerCase() == 'text' || \r\n field.type.toLowerCase() == 'email' || \r\n field.type.toLowerCase() == 'tel' || \r\n field.type.toLowerCase() == 'select-one' || \r\n field.type.toLowerCase() == 'textarea'\r\n ) {\r\n field.value = '';\r\n return;\r\n } else if (field.type.toLowerCase() == 'checkbox') {\r\n field.checked = false;\r\n return;\r\n }\r\n }\r\n });\r\n });\r\n };\r\n}\r\n\r\nexport default ClearForm;","function Comparison() {\r\n console.log(document.querySelectorAll('.c-comparison-table').parentElement)\r\n document.querySelectorAll('.c-comparison-table').forEach(extractMobileComparison)\r\n}\r\n\r\nfunction extractMobileComparison(container) {\r\n const parent = container.parentNode.parentNode;\r\n const body = parent.querySelector('.c-comparison-table tbody');\r\n const head = parent.querySelector('.c-comparison-table thead');\r\n const mobile = parent.parentElement.querySelector('.c-comparison-table__mobile');\r\n\r\n if (!body || !head || !mobile) return;\r\n\r\n // Remove empty corner piece\r\n const products = Array.from(head.children[0].children)\r\n .filter((x, i) => i)\r\n .map(x => ({ info: x.innerHTML, table: [] }));\r\n\r\n Array.from(body.children).forEach(row => {\r\n // For table row headers, push to all products\r\n if (row.classList.contains('c-comparison-table__title')) {\r\n products.forEach(x => {\r\n x.table.push({ type: 'title', title: row.children[0].textContent })\r\n })\r\n } else {\r\n // For all others, loop the cells and push to their appropriate parent\r\n const cells = Array.from(row.children);\r\n const firstCell = cells.shift();\r\n\r\n cells.forEach((el, index) => {\r\n products[index].table.push({\r\n type: 'row',\r\n key: firstCell.textContent,\r\n value: el.innerHTML\r\n })\r\n })\r\n }\r\n })\r\n\r\n products.forEach(product => {\r\n const el = createMobileProduct(product);\r\n mobile.appendChild(el)\r\n })\r\n}\r\n\r\nfunction createMobileProduct(product) {\r\n const parent = document.createElement('article');\r\n parent.innerHTML = `${product.info}\r\n <table class=\"c-comparison-table\">\r\n ${product.table.map(x => {\r\n if (x.type === 'title') {\r\n return `<tr class=\"c-comparison-table__title\"><th><span>${x.title}</span></th><th></th></tr>`;\r\n } else {\r\n return `<tr>\r\n <td>${x.key}</td>\r\n <td>${x.value}</td>\r\n </tr>`;\r\n }\r\n }).join('')}\r\n </table>`;\r\n\r\n return parent;\r\n}\r\n\r\nexport default Comparison;\r\n","function Gallery() {\r\n const mainSlides = document.querySelectorAll('.c-gallery__main .c-gallery__slide');\r\n const thumbnailSlides = document.querySelectorAll('.c-gallery__thumbnails .c-gallery__slide');\r\n\r\n thumbnailSlides.forEach(thumbnailSlide => thumbnailSlide.addEventListener('click', function(e) {\r\n thumbnailSlides.forEach(function(thumbnail) {\r\n if(thumbnail != e.target.parentNode) {\r\n thumbnail.classList.remove('active');\r\n }\r\n });\r\n e.target.parentNode.classList.add('active');\r\n\r\n mainSlides.forEach(function(mainSlide) {\r\n if(mainSlide.dataset.slide == thumbnailSlide.dataset.slide) {\r\n mainSlide.classList.add('active');\r\n } else {\r\n mainSlide.classList.remove('active');\r\n }\r\n });\r\n }));\r\n\r\n mainSlides.forEach(function(mainSlide) {\r\n if(!mainSlide.classList.contains('c-gallery__video')) {\r\n mainSlide.addEventListener('click', lightboxTrigger);\r\n }\r\n });\r\n\r\n function lightboxTrigger() {\r\n const lightbox = document.querySelector('.c-gallery__main').cloneNode(true);\r\n lightbox.classList.remove('c-gallery__main');\r\n lightbox.classList.add('c-lightbox');\r\n lightbox.querySelectorAll('.c-gallery__slide').forEach(function(slide) {\r\n if(slide.classList.contains('c-gallery__video')) {\r\n slide.remove();\r\n }\r\n if(!slide.classList.contains('c-gallery__video')) {\r\n var slideImg = slide.querySelector('img');\r\n if(slideImg.srcset != '') {\r\n slideImg.removeAttribute('srcset');\r\n }\r\n var slideImgSrc = slideImg.getAttribute('src');\r\n if (slideImgSrc) {\r\n if (slideImgSrc.indexOf('?') !== -1) {\r\n slideImg.setAttribute('src', slideImgSrc.split(\"?\")[0] + '?quality=90&width=2176');\r\n } else {\r\n slideImg.setAttribute('src', slideImgSrc + '?quality=90&width=2176');\r\n }\r\n } else {\r\n console.log(slideImg);\r\n console.log('has no src defined...');\r\n }\r\n }\r\n slide.classList.add('c-lightbox__slide');\r\n slide.classList.remove('c-gallery__slide');\r\n });\r\n document.body.appendChild(lightbox);\r\n lightbox.insertAdjacentHTML('beforeend', '<a class=\"c-lightbox__prev\"></a><a class=\"c-lightbox__next\"></a>');\r\n\r\n lightbox.querySelector('.c-lightbox__prev').addEventListener('click', function() {\r\n const lightboxActive = lightbox.querySelector('.active');\r\n const prevImage = lightbox.querySelector('[data-slide=\"' + (parseInt(lightboxActive.dataset.slide) - 1) + '\"]');\r\n if(prevImage != null) {\r\n lightboxActive.classList.remove('active');\r\n prevImage.classList.add('active');\r\n }\r\n });\r\n\r\n lightbox.querySelector('.c-lightbox__next').addEventListener('click', function() {\r\n const lightboxActive = lightbox.querySelector('.active');\r\n const nextImage = lightbox.querySelector('[data-slide=\"' + (parseInt(lightboxActive.dataset.slide) + 1) + '\"]');\r\n if(nextImage != null) {\r\n lightboxActive.classList.remove('active');\r\n nextImage.classList.add('active');\r\n }\r\n });\r\n\r\n lightbox.addEventListener('click', function(e) {\r\n if (e.target !== e.currentTarget) {\r\n return;\r\n } else {\r\n lightbox.remove();\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport default Gallery;\r\n","export function shuffle(array) {\r\n const arr = [...array];\r\n for (let i = arr.length - 1; i > 0; i--) {\r\n let j = Math.floor(Math.random() * (i + 1));\r\n [arr[i], arr[j]] = [arr[j], arr[i]];\r\n }\r\n\r\n return arr;\r\n}\r\n\r\nexport function userPrefersReducedMotion() {\r\n const QUERY = '(prefers-reduced-motion: no-preference)';\r\n const mediaQueryList = window.matchMedia(QUERY);\r\n const prefersReducedMotion = !mediaQueryList.matches;\r\n return prefersReducedMotion;\r\n}\r\n\r\nexport const debounce = (func, limit) => {\r\n let wait = false; \r\n return () => {\r\n if (wait) return;\r\n func();\r\n wait = true;\r\n setTimeout(() => wait = false, limit);\r\n }\r\n}\r\n\r\nexport const lerp = (x, y, a) => x * (1 - a) + y * a;\r\nexport const clamp = (a, min = 0, max = 1) => Math.min(max, Math.max(min, a));\r\nexport const invlerp = (x, y, a) => clamp((a - x) / (y - x));\r\nexport const range = (x1, y1, x2, y2, a) => lerp(x2, y2, invlerp(x1, y1, a));\r\n","import { range, shuffle, userPrefersReducedMotion } from './utilities';\r\n\r\nfunction HeroPattern() {\r\n let time = 0;\r\n\r\n const c = document.querySelector('.c-hero__canvas');\r\n if (!c) return;\r\n const ctx = c.getContext(\"2d\");\r\n \r\n const sineColour = \"rgb(19,170,19)\";\r\n const reduceMotion = userPrefersReducedMotion();\r\n\r\n const crossGap = 147;\r\n const minimumOpacity = 0;\r\n const maximumOpacity = 0.5;\r\n const crossSpeed = 0.25;\r\n\r\n let width;\r\n let height;\r\n let across;\r\n let down;\r\n let crosses = [];\r\n let totalPoints;\r\n\r\n function draw() {\r\n // Sine wave\r\n time = time + 0.005;\r\n \r\n ctx.clearRect(0, 0, c.width, c.height);\r\n ctx.beginPath();\r\n \r\n for(let cnt = c.width; cnt > 0; cnt--) {\r\n ctx.lineTo(cnt, c.height * 0.5 - (Math.cos(time + cnt / 5 * 0.03) * (height * 0.3) ));\r\n }\r\n \r\n ctx.lineWidth = 0.5;\r\n ctx.strokeStyle = sineColour;\r\n ctx.stroke();\r\n \r\n // Crosses\r\n crosses.forEach(cross => {\r\n drawCross(cross.x, cross.y, range(0, crosses.length, minimumOpacity, maximumOpacity, cross.counter));\r\n \r\n cross.counter += cross.direction;\r\n if (cross.counter >= crosses.length) cross.direction = -1 * crossSpeed;\r\n if (cross.counter < 0) cross.direction = crossSpeed;\r\n })\r\n \r\n if (!reduceMotion) {\r\n window.requestAnimationFrame(draw);\r\n }\r\n }\r\n \r\n function onResize() {\r\n width = c.scrollWidth;\r\n height = c.scrollHeight;\r\n \r\n ctx.canvas.width = width;\r\n ctx.canvas.height = height;\r\n \r\n across = Math.ceil(width / crossGap);\r\n down = Math.ceil(height / crossGap);\r\n \r\n totalPoints = (across + 1) * (down + 1);\r\n const ids = shuffle(Array.from({ length: totalPoints }, (_, i) => (i)))\r\n crosses = [];\r\n for(let x = 0; x <= across; x++) {\r\n for(let y = 0; y <= down; y++) {\r\n crosses.push({\r\n counter: ids.shift(),\r\n direction: Math.random() > 0.5 ? crossSpeed : -1 * crossSpeed,\r\n x: crossGap * (x + 1) - crossGap / 1,\r\n y: crossGap * (y + 1) - crossGap / 2\r\n });\r\n }\r\n }\r\n }\r\n \r\n function drawCross(x, y, opacity) {\r\n ctx.beginPath();\r\n ctx.moveTo(x - 14, y);\r\n ctx.lineTo(x + 14, y);\r\n ctx.strokeStyle = `rgba(255, 255, 255, ${opacity}`;\r\n ctx.moveTo(x, y - 14);\r\n ctx.lineTo(x, y + 14);\r\n ctx.stroke();\r\n }\r\n\r\n window.addEventListener('resize', onResize);\r\n onResize();\r\n draw();\r\n}\r\n\r\nexport default HeroPattern;\r\n","function HeroVideo() {\r\n document.addEventListener(\"DOMContentLoaded\", () => {\r\n const videoBackground = document.getElementById('videoBackground');\r\n if(typeof(videoBackground) != 'undefined' && videoBackground != null) {\r\n const reducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)');\r\n if(!reducedMotion || reducedMotion.matches) {\r\n videoBackground.classList.add('u-hidden');\r\n }\r\n \r\n const lightboxTrigger = document.getElementById('playVideo');\r\n const lightboxContainer = document.getElementById('lightboxVideo');\r\n const lightboxVideo = lightboxContainer.querySelector('.c-lightbox__video');\r\n\r\n lightboxTrigger.addEventListener('click', e => {\r\n videoBackground.pause();\r\n lightboxContainer.classList.remove('u-hidden');\r\n checkVideos();\r\n });\r\n \r\n lightboxContainer.addEventListener('click', (e) => {\r\n if (!e.target.classList.contains('c-lightbox__video')) {\r\n videoBackground.setAttribute('autoplay','');\r\n lightboxContainer.classList.add('u-hidden');\r\n checkVideos();\r\n }\r\n });\r\n window.addEventListener('keydown', function(e) {\r\n if (e.key == \"Escape\") {\r\n videoBackground.setAttribute('autoplay','');\r\n lightboxContainer.classList.add('u-hidden');\r\n checkVideos();\r\n }\r\n });\r\n\r\n function checkVideos() {\r\n if(lightboxContainer.classList.contains('u-hidden')) {\r\n if (videoBackground.paused) {\r\n videoBackground.play();\r\n }\r\n if (!lightboxVideo.paused) {\r\n lightboxVideo.pause();\r\n }\r\n } else {\r\n if (!videoBackground.paused) {\r\n videoBackground.pause();\r\n }\r\n }\r\n }\r\n }\r\n });\r\n}\r\n\r\nexport default HeroVideo;","// Function to initialize off-canvas behavior\r\nfunction OffCanvas() {\r\n // Select all elements that trigger off-canvas behavior\r\n const toggles = document.querySelectorAll(\".c-off-canvas__toggle\");\r\n\r\n // Iterate through each toggle element\r\n if (toggles.length) {\r\n toggles.forEach(toggle => {\r\n // Determine initial visibility state and handle click event\r\n handleOffCanvas(toggle, isVisible(toggle));\r\n toggle.addEventListener('click', () => toggleOffCanvas(toggle));\r\n });\r\n\r\n // Add event listener for scroll events to check visibility\r\n // window.addEventListener('scroll', () => {\r\n // toggles.forEach(toggle => {\r\n // handleOffCanvas(toggle, isVisible(toggle));\r\n // });\r\n // });\r\n\r\n // Add event listener for resize events to check visibility\r\n window.addEventListener('resize', () => {\r\n toggles.forEach(toggle => {\r\n handleOffCanvas(toggle, isVisible(toggle));\r\n });\r\n });\r\n }\r\n}\r\n\r\n// Function to check if an element is currently visible on the page\r\nfunction isVisible(element) {\r\n // Check element's position and styles for visibility\r\n const rect = element.getBoundingClientRect();\r\n const style = window.getComputedStyle(element);\r\n return (\r\n rect.top >= 0 &&\r\n rect.left >= 0 &&\r\n rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&\r\n rect.right <= (window.innerWidth || document.documentElement.clientWidth) &&\r\n style.display !== 'none' &&\r\n style.visibility !== 'hidden'\r\n );\r\n}\r\n\r\n// Function to handle off-canvas behavior based on visibility\r\nfunction handleOffCanvas(toggle, isVisible) {\r\n const target = document.getElementById(toggle.getAttribute('data-target'));\r\n if (isVisible === true) {\r\n createOffCanvas(target);\r\n } else {\r\n removeOffCanvas(target);\r\n }\r\n}\r\n\r\n// Function to create off canvas\r\nfunction createOffCanvas(target) {\r\n // Add necessary classes and attributes for off-canvas display\r\n target.classList.add('c-off-canvas');\r\n target.setAttribute('tabindex', '-1');\r\n target.setAttribute('aria-hidden', 'true');\r\n \r\n // Extract specific sections of the off-canvas content\r\n const targetHeader = target.querySelector('[data-off-canvas=\"header\"]');\r\n const targetMain = target.querySelector('[data-off-canvas=\"main\"]');\r\n const targetFooter = target.querySelector('[data-off-canvas=\"footer\"]');\r\n\r\n // Extract content from the sections\r\n const targetHeaderContent = targetHeader !== null ? targetHeader.outerHTML : '';\r\n const targetMainContent = targetMain !== null ? targetMain.outerHTML : '';\r\n const targetFooterContent = targetFooter !== null ? targetFooter.outerHTML : '';\r\n\r\n // Replace the target's content with off-canvas structure\r\n target.innerHTML = `\r\n <div class=\"c-off-canvas__backdrop\" role=\"presentation\"></div>\r\n <div class=\"c-off-canvas__content\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"offCanvasHeader\">\r\n <header id=\"offCanvasHeader\" class=\"c-off-canvas__header\">${targetHeaderContent}</header>\r\n <main class=\"c-off-canvas__main\">${targetMainContent}</main>\r\n <footer class=\"c-off-canvas__footer\">\r\n ${targetFooterContent}\r\n <button class=\"mp c-twi c-twi--left c-off-canvas__close\" data-off-canvas-close=\"true\" onclick=\"return false\">\r\n <span>Cancel</span>\r\n <svg role=\"img\" aria-hidden=\"true\" focusable=\"false\" class=\"mp c-icon c-icon--cross\">\r\n <use xlink:href=\"/static/svg/sprite.svg#cross\"></use>\r\n </svg>\r\n </button>\r\n </footer>\r\n </div>\r\n `;\r\n}\r\n\r\n// Function to remove off-canvas layout\r\nfunction removeOffCanvas(target) {\r\n // Remove classes and attributes for off-canvas display\r\n target.classList.remove('c-off-canvas', 'c-off-canvas--active');\r\n target.removeAttribute('tabindex');\r\n target.removeAttribute('aria-hidden');\r\n\r\n // Remove backdrop element if present\r\n const targetBackdrop = target.querySelector('.c-off-canvas__backdrop');\r\n if (targetBackdrop) {\r\n targetBackdrop.remove();\r\n }\r\n\r\n // Restore original content by removing off-canvas structure\r\n const targetContent = target.querySelector('.c-off-canvas__content');\r\n if (targetContent) {\r\n while (targetContent.firstChild) {\r\n target.insertBefore(targetContent.firstChild, targetContent);\r\n }\r\n target.removeChild(targetContent);\r\n }\r\n\r\n const targetHeader = target.querySelector('.c-off-canvas__header');\r\n if (targetHeader) {\r\n while (targetHeader.firstChild) {\r\n target.insertBefore(targetHeader.firstChild, targetHeader);\r\n }\r\n target.removeChild(targetHeader);\r\n }\r\n\r\n const targetMain = target.querySelector('.c-off-canvas__main');\r\n if (targetMain) {\r\n while (targetMain.firstChild) {\r\n target.insertBefore(targetMain.firstChild, targetMain);\r\n }\r\n target.removeChild(targetMain);\r\n }\r\n\r\n const targetFooter = target.querySelector('.c-off-canvas__footer');\r\n if (targetFooter) {\r\n while (targetFooter.firstChild) {\r\n target.insertBefore(targetFooter.firstChild, targetFooter);\r\n }\r\n target.removeChild(targetFooter);\r\n }\r\n \r\n // Remove close button element if present\r\n const targetClose = target.querySelector('.c-off-canvas__close');\r\n if (targetClose) {\r\n targetClose.remove();\r\n }\r\n}\r\n\r\n// Function to toggle off-canvas visibility\r\nfunction toggleOffCanvas(toggle) {\r\n const target = document.getElementById(toggle.getAttribute('data-target'));\r\n\r\n // Check if the target is already open or closed\r\n if (!target.classList.contains('c-off-canvas--active')) {\r\n openOffCanvas(toggle, target);\r\n } else if (target.classList.contains('c-off-canvas--active')) {\r\n closeOffCanvas(target);\r\n }\r\n}\r\n\r\nfunction openOffCanvas(toggle, target) {\r\n // Add classes and attributes for open off-canvas\r\n toggle.setAttribute('aria-expanded', 'true');\r\n target.classList.add('c-off-canvas--active');\r\n target.setAttribute('aria-hidden', 'false');\r\n\r\n // Add event listener for backdrop clicks\r\n const offCanvasBackdrop = target.querySelector('.c-off-canvas__backdrop');\r\n if(offCanvasBackdrop) {\r\n offCanvasBackdrop.addEventListener('click', handleBackdropClick);\r\n }\r\n\r\n // Add event listener forclose button clicks\r\n const offCanvasCloseElements = target.querySelectorAll('[data-off-canvas-close=\"true\"]');\r\n if (offCanvasCloseElements.length > 0) {\r\n offCanvasCloseElements.forEach((offCanvasClose) => {\r\n offCanvasClose.addEventListener('click', handleCloseClick);\r\n });\r\n }\r\n\r\n // Add event listener for Escape key press\r\n document.addEventListener('keydown', handleKeyDown, { once: true });\r\n\r\n // Adjust body overflow to prevent scrolling\r\n document.body.style.overflowY = 'hidden';\r\n\r\n // Close other open off-canvas elements\r\n const allOffCanvasElementsExceptCurrent = Array.from(document.querySelectorAll('.c-off-canvas')).filter(offCanvas => offCanvas !== target);\r\n if (allOffCanvasElementsExceptCurrent.length > 0) {\r\n allOffCanvasElementsExceptCurrent.forEach((offCanvas) => {\r\n closeOffCanvas(offCanvas);\r\n });\r\n }\r\n}\r\n\r\n// Function to close an off-canvas\r\nfunction closeOffCanvas(target) {\r\n // Remove classes and attributes for open off-canvas\r\n document.querySelector('[data-target=\"' + target.id + '\"').setAttribute('aria-expanded', 'false');\r\n target.classList.remove('c-off-canvas--active');\r\n target.setAttribute('aria-hidden', 'true');\r\n\r\n // Restore body overflow\r\n document.body.style.overflowY = '';\r\n}\r\n\r\n// Function to handle backdrop click\r\nfunction handleBackdropClick() {\r\n const offCanvas = this.closest('.c-off-canvas');\r\n closeOffCanvas(offCanvas);\r\n}\r\n\r\n// Function to handle Escape key press\r\nfunction handleKeyDown(event) {\r\n if (event.key === 'Escape') {\r\n const activeOffCanvas = document.querySelector('.c-off-canvas--active');\r\n if (activeOffCanvas) {\r\n closeOffCanvas(activeOffCanvas);\r\n }\r\n }\r\n}\r\n\r\n// Function to handle close button click\r\nfunction handleCloseClick() {\r\n const offCanvas = this.closest('.c-off-canvas');\r\n closeOffCanvas(offCanvas);\r\n}\r\n\r\nexport default OffCanvas;","const ResponsiveTable = () => {\r\n const tables = Array.from(document.querySelectorAll('.c-table--responsive'));\r\n tables.forEach(createResponsiveTable);\r\n\r\n /**\r\n * Create responsive table headers for large tables\r\n * @param {HTMLTableElement} table\r\n */\r\n function createResponsiveTable(table) {\r\n const headers = table.querySelectorAll('thead > :first-child th');\r\n const breakPoint = Number(table.getAttribute('data-columns')) || 2\r\n \r\n if (headers.length < breakPoint) {\r\n table.classList.remove('c-table--responsive');\r\n return;\r\n };\r\n\r\n Array.from(table.querySelectorAll('tbody tr')).forEach((row) => {\r\n Array.from(headers)\r\n .map((x) => x.textContent)\r\n .forEach((header, index) => {\r\n if (row.children[index]) {\r\n row.children[index].setAttribute('data-responsive-title', header);\r\n }\r\n });\r\n });\r\n }\r\n};\r\n\r\nexport default ResponsiveTable;\r\n","import { debounce } from './utilities';\r\n\r\nfunction ScrollbarWidth() {\r\n setScrollbarWidth();\r\n window.addEventListener('resize', debounce(setScrollbarWidth, 250));\r\n}\r\n\r\nfunction setScrollbarWidth() {\r\n document.documentElement.style.setProperty(\r\n '--scrollbarWidth', \r\n window.innerWidth - document.body.clientWidth + 'px'\r\n );\r\n}\r\n\r\nexport default ScrollbarWidth;","function ScrollSpy() {\r\n const spies = Array.from(document.querySelectorAll('.c-scroll-spy'));\r\n spies.forEach(setup);\r\n}\r\n\r\nfunction setup(element) {\r\n const anchors = Array.from(element.querySelectorAll('a'));\r\n const observer = new IntersectionObserver(observation(anchors));\r\n \r\n anchors.forEach(anchor => {\r\n const id = anchor.getAttribute('href').replace('#', '');\r\n const target = document.getElementById(id);\r\n if (!target) return;\r\n\r\n observer.observe(target);\r\n });\r\n}\r\n\r\n/**\r\n * @param {Array<HTMLAnchorElement>} results \r\n * @return {Array<IntersectionObserverEntry>}\r\n */\r\nfunction observation(anchors) {\r\n return (results) => {\r\n const firstObservation = results.find(x => x.isIntersecting);\r\n\r\n if (firstObservation) {\r\n anchors.forEach(x => {\r\n x.classList.toggle(\r\n 'c-scroll-spy-active',\r\n x.getAttribute('href') === '#' + firstObservation.target.id\r\n )\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport default ScrollSpy;\r\n","function Tabs() {\r\n const tabs = Array.from(document.querySelectorAll('.c-tabs--anchor'));\r\n tabs.forEach(setupTabs);\r\n}\r\n\r\nfunction setupTabs(parent) {\r\n const controls = Array.from(parent.querySelectorAll('.c-tabs__control'));\r\n const content = Array.from(parent.querySelectorAll('.c-tab'));\r\n const persist = parent.classList.contains('c-tabs--persist');\r\n \r\n if (!controls.length || !content.length) return;\r\n\r\n controls.forEach(control => {\r\n control.addEventListener('click', controlClick(controls, content, persist))\r\n })\r\n\r\n if (persist && window.location.hash) {\r\n const control = parent.querySelector('[href=\"' + window.location.hash + '\"]');\r\n if (control) control.dispatchEvent(new Event('click'));\r\n }\r\n}\r\n\r\nfunction controlClick(controls, contents, persist) {\r\n return (event) => {\r\n const control = event.currentTarget;\r\n const content = contents.find(x => x.id === control.getAttribute('href').replace('#', ''));\r\n \r\n if (!content) {\r\n return true;\r\n };\r\n\r\n event.preventDefault();\r\n \r\n if (persist) {\r\n history.pushState(null, null, control.getAttribute('href'));\r\n }\r\n\r\n controls.forEach(c => c.classList.toggle('c-tabs__control--active', c === control));\r\n contents.forEach(c => {\r\n const isCurrent = c === content;\r\n c.classList.toggle('c-tab--active', isCurrent);\r\n \r\n if (persist) return;\r\n\r\n if (isCurrent) {\r\n c.setAttribute('tabIndex', -1);\r\n \r\n const y = window.scrollY;\r\n c.focus();\r\n window.scrollTo({ behavior: \"auto\", top: y })\r\n } else {\r\n c.removeAttribute('tabIndex');\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport default Tabs;\r\n","import Accordion from './imports/accordion';\r\nimport Carousel from './imports/carousel';\r\nimport ClearForm from './imports/clear-form';\r\nimport Comparison from './imports/comparison';\r\nimport Gallery from './imports/gallery';\r\nimport HeroPattern from './imports/hero-pattern';\r\nimport HeroVideo from './imports/hero-video';\r\nimport OffCanvas from './imports/off-canvas';\r\nimport ResponsiveTable from './imports/responsive-table';\r\nimport ScrollbarWidth from './imports/scrollbar-width';\r\nimport ScrollSpy from './imports/scroll-spy';\r\nimport Tabs from './imports/tabs';\r\n\r\n(() => {\r\n if(window.NodeList && !NodeList.prototype.forEach) {\r\n NodeList.prototype.forEach = Array.prototype.forEach;\r\n }\r\n if(window.HTMLCollection && !HTMLCollection.prototype.forEach) {\r\n HTMLCollection.prototype.forEach = Array.prototype.forEach;\r\n }\r\n \r\n Accordion();\r\n Carousel();\r\n ClearForm();\r\n Comparison();\r\n Gallery();\r\n HeroPattern();\r\n HeroVideo();\r\n OffCanvas();\r\n ResponsiveTable();\r\n ScrollbarWidth();\r\n ScrollSpy();\r\n Tabs();\r\n})();"],"names":["$c274619fa9ae66ac$var$setupAccordions","title","addEventListener","event","currentTarget","parentElement","classList","toggle","$c274619fa9ae66ac$export$2e2bcd8739ae039","Array","from","document","querySelectorAll","forEach","$5bdce36a18199573$export$2e2bcd8739ae039","current","bgSlides","fgSlides","length","setInterval","bgSlide","style","opacity","fgSlide","$2b04c6f63ef290fb$export$2e2bcd8739ae039","formClear","getElementById","this","closest","elements","field","value","type","toLowerCase","checked","$7fbc59e2fab6d5d2$var$extractMobileComparison","container","parent","parentNode","body","querySelector","head","mobile","products","children","filter","x","i","map","info","innerHTML","table","row","contains","push","textContent","cells","firstCell","shift","el","index","key","product","createElement","join","$7fbc59e2fab6d5d2$var$createMobileProduct","appendChild","$7fbc59e2fab6d5d2$export$2e2bcd8739ae039","console","log","$dfe0031b837edf6f$export$2e2bcd8739ae039","mainSlides","thumbnailSlides","lightboxTrigger","lightbox","cloneNode","remove","add","slide","slideImg","srcset","removeAttribute","slideImgSrc","getAttribute","indexOf","setAttribute","split","insertAdjacentHTML","lightboxActive","prevImage","parseInt","dataset","nextImage","e","target","thumbnailSlide","thumbnail","mainSlide","$41a3994d4318effb$export$b568019c0551f0a4","y","a","min","max","Math","$41a3994d4318effb$export$7d15b64cf5a3a4c4","$2e27ca8f14f20195$export$2e2bcd8739ae039","time","c","ctx","getContext","reduceMotion","window","matchMedia","matches","crossGap","crossSpeed","width","height","across","down","totalPoints","crosses","onResize","scrollWidth","scrollHeight","canvas","ceil","ids","array","arr","j","floor","random","$41a3994d4318effb$export$448332262467e042","_","counter","direction","draw","clearRect","beginPath","cnt","lineTo","cos","lineWidth","strokeStyle","stroke","cross","x1","y1","x2","y2","$41a3994d4318effb$export$3a89f8d6f6bf6c9f","moveTo","requestAnimationFrame","$63fd9338c6a56d33$export$2e2bcd8739ae039","videoBackground","reducedMotion","lightboxContainer","lightboxVideo","checkVideos","paused","play","pause","$34e92b90f028a0e5$var$isVisible","element","rect","getBoundingClientRect","getComputedStyle","top","left","bottom","innerHeight","documentElement","clientHeight","right","innerWidth","clientWidth","display","visibility","$34e92b90f028a0e5$var$handleOffCanvas","isVisible","targetHeader","targetMain","targetFooter","targetHeaderContent","outerHTML","targetMainContent","targetFooterContent","$34e92b90f028a0e5$var$createOffCanvas","targetBackdrop","targetContent","firstChild","insertBefore","removeChild","targetClose","$34e92b90f028a0e5$var$removeOffCanvas","$34e92b90f028a0e5$var$closeOffCanvas","id","overflowY","$34e92b90f028a0e5$var$handleBackdropClick","$34e92b90f028a0e5$var$handleKeyDown","activeOffCanvas","$34e92b90f028a0e5$var$handleCloseClick","$34e92b90f028a0e5$export$2e2bcd8739ae039","toggles","offCanvasBackdrop","offCanvasCloseElements","offCanvasClose","once","allOffCanvasElementsExceptCurrent","offCanvas","$34e92b90f028a0e5$var$openOffCanvas","$34e92b90f028a0e5$var$toggleOffCanvas","headers","breakPoint","Number","header","$e3dc92a106d80d6c$var$setScrollbarWidth","setProperty","$e3dc92a106d80d6c$export$2e2bcd8739ae039","func","limit","wait","setTimeout","$41a3994d4318effb$export$61fc7d43ac8f84b0","$9d1dec2ad218c628$var$setup","anchors","observer","IntersectionObserver","results","firstObservation","find","isIntersecting","$9d1dec2ad218c628$var$observation","anchor","replace","observe","$1d2dabc452d8efd6$var$setupTabs","controls","content","persist","control","contents","preventDefault","history","pushState","isCurrent","scrollY","focus","scrollTo","behavior","$1d2dabc452d8efd6$var$controlClick","location","hash","dispatchEvent","Event","$1d2dabc452d8efd6$export$2e2bcd8739ae039","NodeList","prototype","HTMLCollection","$384feef4bde84172$export$2e2bcd8739ae039","$9d1dec2ad218c628$export$2e2bcd8739ae039"],"version":3,"file":"app.js.map"}