maverick-wave 6.2.0 → 6.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/maverick-wave.min.css +6 -6
- package/maverick-wave.min.js +1 -1
- package/package.json +2 -2
- package/src/js/main.js +11 -0
- package/src/scss/components/_alerts.scss +9 -0
- package/src/scss/components/_announcement.scss +18 -3
- package/src/scss/components/_dropdown.scss +7 -1
- package/src/scss/components/_info.scss +15 -0
- package/src/scss/components/_panels.scss +65 -1
- package/src/scss/components/_tables.scss +4 -4
- package/src/scss/components/_tags.scss +5 -0
- package/src/scss/components/_theme-toggle.scss +7 -0
- package/src/scss/components/_toasts.scss +20 -4
- package/src/scss/form-elements/_input.scss +21 -0
- package/src/scss/layout/_app-shell.scss +6 -4
- package/src/scss/layout/_header.scss +36 -18
- package/src/scss/layout/_page-header.scss +74 -0
- package/src/scss/utilities/_display.scss +5 -0
- package/src/scss/utilities/_print.scss +2 -0
- package/src/scss/utilities/_touch-targets.scss +5 -0
package/maverick-wave.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(){"use strict";function e(e,t){e&&(e.classList.toggle("mw-active",t),t||e.classList.remove("active"))}function t(e){return!!e&&(e.classList.contains("mw-active")||e.classList.contains("active"))}const n=new WeakSet;function o(e){return!(!e||n.has(e))&&(n.add(e),!0)}const a={get(e){try{return localStorage.getItem(e)}catch{return null}},set(e,t){try{localStorage.setItem(e,t)}catch{}},remove(e){try{localStorage.removeItem(e)}catch{}}};let c=!1;function r(){c||(c=!0,function(){const t=document.querySelector(".mw-theme-toggle");if(!t)return;const n=document.documentElement,o=t.querySelector(".mw-theme-toggle-slider i"),c=getComputedStyle(document.documentElement).getPropertyValue("--mw-internal-theme-mode").trim()||"switchable";if("switchable"!==c)return console.log(`Theme mode fixed to: ${c}. Disabling toggle.`),o&&(o.className="light"===c?"fas fa-sun":"fas fa-moon"),e(t,"light"===c),t.style.opacity="0.4",t.style.pointerEvents="none",t.style.cursor="default",t.setAttribute("aria-disabled","true"),a.remove("mw-theme"),void n.classList.remove("mw-theme-light","mw-theme-dark");const r=window.matchMedia("(prefers-color-scheme: light)"),s=()=>r.matches,i=a.get("mw-theme");let l=i?"light"===i:s();const d=a=>{n.classList.add("mw-theme-switching"),n.classList.toggle("mw-theme-light",a),n.classList.toggle("mw-theme-dark",!a),n.offsetHeight,n.classList.remove("mw-theme-switching"),e(t,a),o&&(o.className=a?"fas fa-sun":"fas fa-moon")};d(l),r.addEventListener("change",()=>{a.get("mw-theme")||(l=s(),d(l),p())}),t.addEventListener("click",()=>{l=!l,d(l),a.set("mw-theme",l?"light":"dark"),p()})}(),p(),function(){const e=document.querySelector(".mw-menu-btn"),t=document.querySelector(".mw-navbar");if(!e||!t)return;const n="BUTTON"===e.tagName;function o(o){e.classList.toggle("mw-active",o),t.classList.toggle("mw-active",o),document.body.classList.toggle("mw-nav-open",o),n&&e.setAttribute("aria-expanded",String(o))}function a(e){e.preventDefault(),e.stopPropagation(),o(!t.classList.contains("mw-active"))}e.addEventListener("click",a),document.addEventListener("click",function(n){t.classList.contains("mw-active")&&(t.contains(n.target)||e.contains(n.target)||o(!1))}),document.addEventListener("keydown",function(n){"Escape"===n.key&&t.classList.contains("mw-active")&&(o(!1),e.focus())})}(),function(){const e=h();function t(e){const t=e.querySelector('[aria-current="page"], .mw-active')||e.querySelector('a[href], button, input, select, textarea, [tabindex]:not([tabindex="-1"])');t&&t.focus({preventScroll:!0})}function n(e,t,n){const o=[...e.querySelectorAll(t)].find(e=>!n||!n.contains(e));o&&o.focus({preventScroll:!0})}function o(t,o){const a=g(t,e);if(!a)return;const c=a.classList.contains("mw-app-aside");t.classList.remove(c?"mw-app-aside-open":"mw-app-sidebar-open"),y(t,e),o&&n(t,c?"[data-mw-app-aside-toggle]":"[data-mw-app-toggle]",a)}function a(){document.querySelectorAll(".mw-app").forEach(t=>{e.sidebar.matches&&t.classList.remove("mw-app-sidebar-open"),e.aside.matches||t.classList.remove("mw-app-aside-open"),y(t,e)})}document.addEventListener("click",a=>{const c=a.target.closest(".mw-app");if(!c)return;const r=a.target.closest("[data-mw-app-toggle]");if(r){if(e.sidebar.matches)return v(c,"collapsed",c.classList.toggle("mw-app-collapsed")),void y(c,e);const o=c.querySelector(".mw-app-sidebar");c.classList.remove("mw-app-aside-open");const a=c.classList.toggle("mw-app-sidebar-open");return y(c,e),void(a?t(o):o&&o.contains(r)&&n(c,"[data-mw-app-toggle]",o))}const s=a.target.closest("[data-mw-app-aside-toggle]");if(s){const o=c.querySelector(".mw-app-aside");e.sidebar.matches||c.classList.remove("mw-app-sidebar-open");const a=c.classList.toggle("mw-app-aside-open");return e.aside.matches&&v(c,"aside",a),y(c,e),a&&o&&!e.aside.matches&&t(o),void(!a&&o&&o.contains(s)&&n(c,"[data-mw-app-aside-toggle]",o))}const i=g(c,e);i&&(i.contains(a.target)?i.classList.contains("mw-app-sidebar")&&a.target.closest("a[href]")&&o(c,!1):o(c,!0))}),document.addEventListener("keydown",t=>{if("Escape"!==t.key)return;if(document.querySelector("dialog:modal, .mw-dropdown[open]"))return;const n=[...document.querySelectorAll(".mw-app")].find(t=>g(t,e));n&&o(n,!0)}),e.sidebar.addEventListener("change",a),e.aside.addEventListener("change",a)}(),function(){const e=document.querySelector(".mw-header-reveal");if(!e)return;if(CSS.supports("animation-timeline","scroll()"))return;if(q())return;const t=document.querySelector(".mw-announcement:not(.mw-announcement-static)"),n=270;let o=null;const a=()=>{const a=window.scrollY<n;a!==o&&(o=a,e.classList.toggle("mw-header-away",a),t&&t.classList.toggle("mw-announcement-away",a))};a(),requestAnimationFrame(()=>{e.classList.add("mw-header-driven"),t&&t.classList.add("mw-announcement-driven")}),window.addEventListener("scroll",a,{passive:!0})}(),function(){if(CSS.supports("animation-timeline","view()"))return;if(q())return;const e=document.querySelectorAll(".mw-parallax-media");if(!e.length)return;const t=[...e].map(e=>(e.classList.add("mw-parallax-driven"),{el:e,pinned:Boolean(e.closest(".mw-parallax-sticky"))})),n=e=>Math.min(1,Math.max(0,e)),o=(e,t)=>{if(e.pinned)return n(window.scrollY/t);const o=e.el.getBoundingClientRect();return n((t-o.top)/(t+o.height))};let a=!1;const c=()=>{a=!1;const e=document.documentElement.clientHeight,n=t.map(t=>o(t,e));t.forEach((e,t)=>e.el.style.setProperty("--mw-parallax-progress",n[t]))},r=()=>{a||(a=!0,requestAnimationFrame(c))};c(),window.addEventListener("scroll",r,{passive:!0}),window.addEventListener("resize",r,{passive:!0})}(),function(){function e(e){const t=e.style.position,n="sticky"===getComputedStyle(e).position;n&&(e.style.position="static");const o=e.getBoundingClientRect().top+window.scrollY;return n&&(e.style.position=t),o}function t(e){const t=window.scrollY,n=e-t;if(!n)return;const o=Math.min(2e3,600+.5*Math.abs(n)),a={};L=a;let c=null;function r(e){if(L!==a)return;null===c&&(c=e);const s=Math.min(1,(e-c)/o),i=s<.5?4*s*s*s:1-Math.pow(-2*s+2,3)/2;window.scrollTo({top:t+n*i,behavior:"instant"}),s<1?requestAnimationFrame(r):L=null}requestAnimationFrame(r)}document.querySelectorAll('a[href^="#"]').forEach(n=>{n.addEventListener("click",function(n){const o=this.getAttribute("href");if("#"===o)return;const a=document.querySelector(o);if(!a)return;E(a);const c=document.querySelector(".mw-menu-btn"),r=document.querySelector(".mw-navbar");c&&r&&(c.classList.remove("mw-active"),r.classList.remove("mw-active"),document.body.classList.remove("mw-nav-open"),"BUTTON"===c.tagName&&c.setAttribute("aria-expanded","false")),n.preventDefault();const s=Math.max(0,e(a)-b());a.hasAttribute("tabindex")||a.setAttribute("tabindex","-1"),a.focus({preventScroll:!0}),q()?window.scrollTo({top:s,behavior:"instant"}):t(s),history.replaceState(null,"",o)})})}(),function(){const t=document.querySelectorAll("section[id]"),n=e=>e.replace(/index\.html$/,""),o=[...document.querySelectorAll(".mw-navbar-link")].filter(e=>{const t=new URL(e.href,location.href);return t.hash&&n(t.pathname)===n(location.pathname)});if(0===t.length||0===o.length)return;window.addEventListener("scroll",M(function(){let n="";const a=b()+2;t.forEach(e=>{const t=e.offsetTop-a,o=e.clientHeight;scrollY>=t&&scrollY<t+o&&(n=e.getAttribute("id"))}),o.forEach(t=>{e(t,!1);const o=t.getAttribute("href");if(o){const a=o.indexOf("#");if(-1!==a){o.substring(a+1)===n&&e(t,!0)}}})},100),{passive:!0})}(),document.addEventListener("click",e=>{const t=e.target.closest(".mw-modal-close");if(t){const e=t.closest("dialog.mw-modal");return void(e&&e.close())}const n=e.target.closest("[data-mw-modal]");n?F(document.getElementById(n.dataset.mwModal)):e.target.matches('dialog.mw-modal[open][closedby="any"]')&&!("closedBy"in e.target)&&e.target.close()}),function(){let e=null;document.addEventListener("click",t=>{const n=t.target.closest("a[href]"),o=n&&n.closest(".mw-mosaic, [data-mw-lightbox]");if(!o||!n.querySelector("img")||t.defaultPrevented)return;if(0!==t.button||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey)return;t.preventDefault();const a=Array.from(o.querySelectorAll("a[href]")).filter(e=>e.querySelector("img")).map(e=>({a:e,box:e.getBoundingClientRect()})).sort((e,t)=>Math.round(e.box.top-t.box.top)||e.box.left-t.box.left).map(({a:e})=>e);e=e||function(){const e=document.createElement("dialog");e.className="mw-lightbox",e.setAttribute("aria-label","Image viewer");const t=document.createElement("div");t.className="mw-lightbox-bar";const n=m("mw-overlay-btn mw-lightbox-prev","Previous image","prev"),o=m("mw-overlay-btn mw-lightbox-next","Next image","next"),a=m("mw-overlay-btn mw-lightbox-close","Close","close");a.autofocus=!0;const c=document.createElement("span");c.className="mw-lightbox-count",c.setAttribute("aria-live","polite");const r=document.createElement("div");r.className="mw-lightbox-track",t.append(n,c,o,a),e.append(t,r),document.body.appendChild(e);let s=[],i=-1;function l(e){const t=r.children[e]&&r.children[e].querySelector("img");t&&!t.src&&(t.src=t.dataset.src)}const d=f(r,()=>r.clientWidth,n,o,e=>{e!==i&&(i=e,c.textContent=e+1+" / "+s.length,[e-1,e,e+1].forEach(l))});return a.addEventListener("click",()=>e.close()),r.addEventListener("click",t=>{t.target.classList.contains("mw-lightbox-slide")&&e.close()}),e.addEventListener("keydown",e=>{"ArrowLeft"===e.key?n.click():"ArrowRight"===e.key&&o.click()}),e.addEventListener("close",()=>{e.open||s[i]&&s[i].focus()}),{open(t,n){s=t,i=-1,r.replaceChildren(...t.map(w)),e.showModal(),r.scrollTo({left:n*r.clientWidth,behavior:"instant"}),d()}}}(),e.open(a,a.indexOf(n))})}(),function(){function e(e){document.querySelectorAll(".mw-dropdown[open]").forEach(t=>{t!==e&&t.removeAttribute("open")})}document.addEventListener("click",function(t){const n=t.target.closest(".mw-dropdown");e(n),n&&t.target.closest(".mw-dropdown-item")&&n.removeAttribute("open")}),document.addEventListener("keydown",function(e){if("Escape"!==e.key)return;const t=document.querySelector(".mw-dropdown[open]");if(!t)return;t.removeAttribute("open");const n=t.querySelector("summary");n&&n.focus()})}(),document.addEventListener("click",e=>{const t=e.target.closest(".mw-tags-remove");if(!t)return;const n=t.closest(".mw-tags-item");n&&n.remove()}),document.addEventListener("click",e=>{const t=e.target.closest("[data-mw-copy]");if(!t||!navigator.clipboard)return;const n=t.getAttribute("data-mw-copy"),o=t.closest(".mw-input-group")?.querySelector("input"),a=n||o?.value;a&&navigator.clipboard.writeText(a).then(()=>{t.dispatchEvent(new CustomEvent("mwCopied",{bubbles:!0,detail:{text:a}}))})}),function(){const e=document.querySelector(".mw-localhost-indicator-activated"),t=document.querySelector(".mw-header");if(e&&C()){const e=document.createElement("div");e.className="mw-localhost-indicator-pulse",t.prepend(e)}}(),function(){const e=["snow","christmas","newyear","spring","easter","summer","autumn","football","birthday","anniversary"],t=document.documentElement,n=new URLSearchParams(location.search),o=n.get("mw-occasion");e.includes(o)&&!t.classList.contains("mw-occasion-"+o)&&(e.forEach(e=>t.classList.remove("mw-occasion-"+e)),t.classList.add("mw-occasion-"+o),t.classList.toggle("mw-occasion-scroll",n.has("mw-occasion-scroll")),t.classList.toggle("mw-occasion-sm","sm"===n.get("mw-occasion-size")),t.classList.toggle("mw-occasion-lg","lg"===n.get("mw-occasion-size")),n.has("mw-occasion-intro")&&t.setAttribute("data-mw-occasion-intro","preview"));const a=e.find(e=>t.classList.contains("mw-occasion-"+e));if(q())return;if(function(e){if(CSS.supports("animation-timeline","view()"))return;const t=e&&document.documentElement.classList.contains("mw-occasion-scroll"),n=[...document.querySelectorAll(t?".mw-card, .mw-panel, .mw-testimonial, .mw-occasion-spot":".mw-occasion-scroll:not(:root)")].filter(e=>e.getBoundingClientRect().top>=window.innerHeight);if(!n.length)return;const o=new IntersectionObserver((e,t)=>{e.forEach(e=>{e.isIntersecting&&(t.unobserve(e.target),e.target.classList.replace("mw-occasion-waiting","mw-occasion-arriving"))})},{threshold:.15});n.forEach(e=>{e.classList.add("mw-occasion-waiting"),o.observe(e)})}(a),!a)return;t.classList.contains("mw-occasion-scroll")&&function(e){const t=document.createElement("div");t.className="mw-occasion-drift",t.setAttribute("aria-hidden","true");const n=!window.ScrollTimeline;n&&t.classList.add("mw-occasion-driven");"summer"===e?function(e){const t=Math.round(5*Math.min(1.4,z()));for(let n=0;n<t;n++)I(e,"beam","beaming",{"--mw-occasion-size":D(9,16).toFixed(1)+"vw","--mw-occasion-angle":(24+54*n/Math.max(1,t-1)+D(-3,3)).toFixed(1)+"deg","--mw-occasion-lap":String(n%2)})}(t):function(e,t){const n={snow:["flake","flake","crystal"],christmas:["flake","flake","star"],newyear:["glint"],spring:["petal"],easter:["petal"],autumn:["maple","oak","birch"],football:["strip"],birthday:["confetti"],anniversary:["confetti","glint"]}[t],o={flake:[9,16],crystal:[16,22],star:[14,20],glint:[16,24],petal:[18,26],maple:[28,40],oak:[28,40],birch:[24,34],strip:[12,18],confetti:[11,17]},a=Math.min(1.15,Math.max(.85,window.innerWidth/1280)),c=Math.round((window.innerWidth<768?11:18)*z());for(let t=0;t<c;t++){const r=n[t%n.length],s=["maple","oak","birch","petal"].includes(r),i=37*t%100*.3;I(e,r,"falling",{"--mw-occasion-x":((t+D(.1,.9))*(100/c)).toFixed(1)+"vw","--mw-occasion-size":(D(o[r][0],o[r][1])*a).toFixed(1)+"px","--mw-occasion-start":i.toFixed(1)+"%","--mw-occasion-from":(i/100).toFixed(3),"--mw-occasion-lap":String(t%3),"--mw-occasion-drift":D(-6,6).toFixed(1)+"vw","--mw-occasion-sway":D(8,24).toFixed(0)+"px","--mw-occasion-spin":T(.5,2).toFixed(2)+"turn","--mw-occasion-axis":P(s?"soft":["confetti","strip"].includes(r))})}}(t,e);document.body.appendChild(t),n&&function(e){const t=document.documentElement;let n=!1;const o=()=>{n=!1;const o=t.scrollHeight-t.clientHeight,a=o>0?Math.min(1,Math.max(0,scrollY/o)):0;e.style.visibility=o>0?"":"hidden",e.style.setProperty("--mw-occasion-progress",a.toFixed(4))},a=()=>{n||(n=!0,requestAnimationFrame(o))};o(),window.addEventListener("load",a),window.addEventListener("scroll",a,{passive:!0}),window.addEventListener("resize",a,{passive:!0})}(t);function o(){const e=document.documentElement.scrollHeight-innerHeight;t.style.setProperty("--mw-occasion-laps",String(Math.max(1,Math.round(e/(1.2*innerHeight)))))}o(),window.addEventListener("load",o),window.addEventListener("resize",M(o,200),{passive:!0})}(a);const c=t.getAttribute("data-mw-occasion-intro"),r=navigator.connection&&navigator.connection.saveData;null===c||r||"preview"!==c&&function(e){try{if(sessionStorage.getItem("mw-occasion-intro")===e)return!0;sessionStorage.setItem("mw-occasion-intro",e)}catch{}return!1}(a)||function(e){function t(){if(!document.hidden)return e();document.addEventListener("visibilitychange",function t(){document.hidden||(document.removeEventListener("visibilitychange",t),e())})}"complete"===document.readyState?t():window.addEventListener("load",t,{once:!0})}(()=>function(e){const t=document.createElement("div");t.className="mw-occasion-intro mw-occasion-intro-"+e,t.setAttribute("aria-hidden","true");const n=function(){const e=window.innerWidth*window.innerHeight/1296e3,t=(navigator.hardwareConcurrency||8)<=4||(navigator.deviceMemory||8)<=4;return Math.min(1,Math.max(.4,e))*(t?.5:1)*z()}();(function(){const e={size:[18,28],drift:[12,40],time:[3,4.2],spread:1.4,spin:1.2,flip:"soft"};return{snow:(e,t)=>H(e,t(70),["flake","flake","flake","crystal"],{size:[6,17],drift:[-4,6],time:[4.2,6.2],spread:2.4,spin:.5}),christmas:(e,t)=>{e.insertAdjacentHTML("beforeend",'<svg class="mw-occasion-tree" viewBox="0 0 120 150"><defs><linearGradient id="mw-tree-fir" x1="0" x2="1"><stop offset="0" stop-color="#2a7a45"/><stop offset=".55" stop-color="#17532d"/><stop offset="1" stop-color="#0d3a1e"/></linearGradient><radialGradient id="mw-tree-light"><stop offset="0" stop-color="#fffbe6"/><stop offset=".35" stop-color="#ffe08a"/><stop offset="1" stop-color="#ffd166" stop-opacity="0"/></radialGradient><radialGradient id="mw-tree-glow"><stop offset="0" stop-color="#fff3b0" stop-opacity=".9"/><stop offset="1" stop-color="#ffd166" stop-opacity="0"/></radialGradient><linearGradient id="mw-tree-gold" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#fff4c2"/><stop offset=".5" stop-color="#f1c84b"/><stop offset="1" stop-color="#b8860b"/></linearGradient></defs><rect x="53" y="108" width="14" height="18" rx="2" fill="#6b4226"/><g fill="url(#mw-tree-fir)"><path d="M60 56C70 76 86 94 106 112C84 106 36 106 14 112C34 94 50 76 60 56Z"/><path d="M60 32C68 48 80 64 96 80C80 76 40 76 24 80C40 64 52 48 60 32Z"/><path d="M60 12C66 24 74 36 86 50C76 47 44 47 34 50C46 36 54 24 60 12Z"/></g><g fill="none" stroke="#e9c46a" stroke-width="1.4" stroke-opacity=".85"><path d="M40 44Q62 54 80 42"/><path d="M30 70Q60 86 88 66"/><path d="M22 100Q62 118 100 94"/></g><circle cx="54" cy="38" r="3.4" fill="#d62839"/><circle cx="68" cy="39" r="3" fill="#e9b949"/><circle cx="46" cy="62" r="3.4" fill="#e9b949"/><circle cx="74" cy="62" r="3.4" fill="#d62839"/><circle cx="60" cy="66" r="3" fill="#cfd6de"/><circle cx="40" cy="94" r="3.6" fill="#d62839"/><circle cx="62" cy="95" r="3.6" fill="#e9b949"/><circle cx="84" cy="92" r="3.4" fill="#cfd6de"/><g>'+[[46.5,46.5],[61,48.5],[74.5,45.1],[39,74],[53.7,77],[68.2,75.6],[81.3,70.3],[31.6,103.7],[49.8,107.5],[69.3,106.5],[88.6,100.3]].map(([e,t])=>`<g class="mw-occasion-tree-light"><circle cx="${e}" cy="${t}" r="4.6" fill="url(#mw-tree-light)"/><circle cx="${e}" cy="${t}" r="1.4" fill="#fffbe6"/></g>`).join("")+'</g><circle class="mw-occasion-tree-glow" cx="60" cy="12" r="18" fill="url(#mw-tree-glow)"/><path class="mw-occasion-tree-star" fill="url(#mw-tree-gold)" d="M60 3L62.23 8.93L68.56 9.22L63.61 13.17L65.29 19.28L60 15.8L54.71 19.28L56.39 13.17L51.44 9.22L57.77 8.93Z"/></svg>'),H(e,t(34),["flake","flake","star"],{size:[6,16],drift:[-4,6],time:[4.4,6.4],spread:2.4,spin:.6})},newyear:(e,t)=>function(e,t,n){const o=["#ffd166","#fff1c1","#ff6b6b","#4cc9f0","#c4a7ff"];for(let a=0;a<t;a++){const t=D(14,86).toFixed(1)+"vw",c=D(14,46).toFixed(1)+"vh",r=.55*a+D(0,.2),s=(r+.65).toFixed(2)+"s";I(e,"trail","launching",{"--mw-occasion-x":t,"--mw-occasion-y":c,"--mw-occasion-size":"6px","--mw-occasion-delay":r.toFixed(2)+"s"}),I(e,"flash","flashing",{"--mw-occasion-x":t,"--mw-occasion-y":c,"--mw-occasion-size":"26vmin","--mw-occasion-delay":s});for(let r=0;r<n;r++){const i=r%3==0,l=360/n*r+D(-5,5),d=i?D(6,10):D(14,22),m=l*Math.PI/180;I(e,"spark","exploding",{"--mw-occasion-x":t,"--mw-occasion-y":c,"--mw-occasion-dx":(Math.cos(m)*d).toFixed(2)+"vmin","--mw-occasion-dy":(Math.sin(m)*d).toFixed(2)+"vmin","--mw-occasion-angle":(l+90).toFixed(0)+"deg","--mw-occasion-size":i?"12px":"20px","--mw-occasion-tint":o[a%o.length],"--mw-occasion-time":D(1.3,1.8).toFixed(2)+"s","--mw-occasion-delay":s})}}}(e,Math.min(6,Math.max(3,t(5))),Math.max(18,t(36))),spring:(t,n)=>H(t,n(44),["petal"],e),easter:(t,n)=>H(t,n(44),["petal"],e),summer:(e,t)=>{const n=document.createElement("div");n.className="mw-occasion-sun",e.appendChild(n),function(e,t){for(let n=0;n<t;n++)I(e,"glint","twinkling",{"--mw-occasion-x":D(35,96).toFixed(1)+"vw","--mw-occasion-y":D(4,62).toFixed(1)+"vh","--mw-occasion-size":D(14,30).toFixed(1)+"px","--mw-occasion-time":D(1.2,2.2).toFixed(2)+"s","--mw-occasion-delay":D(.4,2.8).toFixed(2)+"s","--mw-occasion-spin":T(.1,.25).toFixed(2)+"turn"})}(e,t(18))},autumn:(e,t)=>H(e,t(32),["maple","oak","birch"],{size:[30,46],drift:[-8,22],time:[3,4.2],spread:1.4,spin:1.5,flip:"soft"}),football:(e,t)=>{O(e,t(80),["strip"],{size:[12,20],spin:5,flip:!0}),O(e,3,["ball"],{size:[34,46],spin:3})},birthday:(e,t)=>{O(e,t(90),["confetti"],{size:[10,15],spin:5,flip:!0}),H(e,Math.max(4,t(8)),["balloon"],{size:[44,62],drift:[-6,6],time:[3.8,4.8],spread:.8,rising:!0})},anniversary:(e,t)=>O(e,t(90),["confetti","confetti","glint"],{size:[10,16],spin:5,flip:!0})}})()[e](t,e=>Math.max(1,Math.round(e*n))),document.body.appendChild(t);const o=["pointerdown","keydown","wheel","touchmove"];function a(){t.remove(),o.forEach(e=>window.removeEventListener(e,c))}function c(){t.classList.add("mw-occasion-leaving"),setTimeout(a,350)}o.forEach(e=>window.addEventListener(e,c,{once:!0,passive:!0})),t.addEventListener("animationend",e=>{e.target===t&&a()})}(a))}(),function(){const e=()=>E(document.getElementById(location.hash.slice(1)));e(),window.addEventListener("hashchange",e)}(),function(){if(!C())return;const e=document.querySelector('meta[name="viewport"]'),t=e&&e.getAttribute("content")||"";if(/viewport-fit\s*=\s*cover/.test(t))return;console.warn('MaverickWave: <meta name="viewport"> is missing viewport-fit=cover. env(safe-area-inset-*) resolves to 0 without it, so notched phones lose the gutter, the nav panel and the modal padding that expect it.')}())}function s(n){const a=n||document;!function(e){e.querySelectorAll(".mw-gallery").forEach(e=>{if(!o(e))return;const t=e.closest(".mw-gallery-container")||e.parentElement;t&&function(e,t){const n=t.querySelector(".mw-gallery-track");if(!n||!n.children.length)return;const o=n.children,a=e.querySelector(".mw-gallery-dots"),c=e.querySelector(".mw-gallery-desc"),r=t.querySelector(".mw-gallery-navi-prev"),s=t.querySelector(".mw-gallery-navi-next");let i=0;function l(e){const t=o.length;i=(e+t)%t,n.style.transform=`translateX(-${100*i}%)`,a&&a.querySelectorAll(".mw-gallery-dot").forEach((e,t)=>{e.classList.toggle("mw-active",t===i)}),c&&(c.textContent=o[i].dataset.desc||"")}if(a)for(let e=0;e<o.length;e++){const t=document.createElement("button");t.type="button",t.className="mw-gallery-dot"+(0===e?" mw-active":""),t.setAttribute("aria-label","Go to slide "+(e+1)),t.addEventListener("click",()=>l(e)),a.appendChild(t)}r&&r.addEventListener("click",()=>l(i-1));s&&s.addEventListener("click",()=>l(i+1));let d=0,m=0,u=!1;n.addEventListener("touchstart",e=>{u=1===e.touches.length,u&&(d=e.touches[0].clientX,m=e.touches[0].clientY)},{passive:!0}),n.addEventListener("touchcancel",()=>u=!1),n.addEventListener("touchend",e=>{if(!u)return;u=!1;const t=e.changedTouches[0].clientX-d,n=e.changedTouches[0].clientY-m;Math.abs(t)<50||Math.abs(t)<=Math.abs(n)||l(i+(t<0?1:-1))},{passive:!0}),l(0)}(t,e)})}(a),function(e){e.querySelectorAll(".mw-portrait-gallery").forEach(e=>{o(e)&&function(e){const t=e.querySelector(".mw-portrait-gallery-track");if(!t)return;const n=Array.from(t.children);if(n.forEach(e=>{const t=e.querySelector(":scope > img, :scope > video");t&&function(e,t){if(e.classList.contains("mw-fit-cover"))return;const n="VIDEO"===t.tagName,o=e.classList.contains("mw-fit-contain");function a(){if(!o){const n=u(t);if(!n||!e.clientHeight)return;const o=n/(e.clientWidth/e.clientHeight);e.classList.toggle("mw-fit-contain",Math.max(o,1/o)>=1.4)}const a=n?t.poster:t.currentSrc||t.src;if(e.classList.contains("mw-fit-contain")&&a&&!e.querySelector(":scope > .mw-fit-backdrop")){const t=document.createElement("img");t.className="mw-fit-backdrop",t.alt="",t.src=a,e.prepend(t)}}new ResizeObserver(a).observe(e),t.addEventListener(n?"loadedmetadata":"load",a)}(e,t)}),n.length<2)return;const o=m("mw-overlay-btn mw-portrait-gallery-prev","Previous image","prev"),a=m("mw-overlay-btn mw-portrait-gallery-next","Next image","next"),c=document.createElement("div");c.className="mw-portrait-gallery-dots";const r=()=>n[1].offsetLeft-n[0].offsetLeft;n.forEach((e,n)=>{const o=document.createElement("button");o.type="button",o.className="mw-portrait-gallery-dot",o.setAttribute("aria-label","Go to image "+(n+1)),o.addEventListener("click",()=>t.scrollTo({left:n*r()})),c.appendChild(o)}),e.append(o,a,c),f(t,r,o,a,e=>{Array.from(c.children).forEach((t,n)=>{t.classList.toggle("mw-active",n===e)})})()}(e)})}(a),function(e){e.querySelectorAll(".mw-mosaic-item").forEach(e=>{if(!o(e))return;const t=e.querySelector("img"),n=["mw-mosaic-wide","mw-mosaic-tall","mw-mosaic-big"].some(t=>e.classList.contains(t));function a(){const n=u(t);return n>=1.3?e.classList.add("mw-mosaic-wide"):n&&n<=.8&&e.classList.add("mw-mosaic-tall"),n>0}t&&!n&&(a()||t.addEventListener("load",a,{once:!0}))})}(a),function(e){e.querySelectorAll(".mw-story-reel").forEach(e=>{o(e)&&function(e){const t=Array.from(e.querySelectorAll(":scope > img, :scope > video")),n=m("mw-story-reel-prev","Previous","prev"),o=m("mw-story-reel-next","Next","next"),a=e.querySelector(".mw-story-reel-pause input"),c=e.querySelector('[popovertargetaction="hide"]');c&&(c.autofocus=!0);e.append(n,o);const r=()=>e.getAnimations({subtree:!0}).filter(e=>e instanceof CSSAnimation);function s(){const e=r().find(e=>"mw-story-reel-fill"===e.animationName);if(!e)return null;const n=t.filter(e=>"none"!==getComputedStyle(e).display).length,o=e.effect.getTiming().duration/n;return{count:n,length:o,index:Math.floor(e.currentTime/o)}}function i(e){t.forEach(t=>{"VIDEO"===t.tagName&&t!==e&&t.pause()}),e&&"VIDEO"===e.tagName&&(e.currentTime=0,a&&a.checked||e.play().catch(()=>{}))}function l(n){const o=s();if(!o)return;const a=Math.max(o.index+n,0);if(a>=o.count)return void e.hidePopover();const c=a*o.length+20;r().forEach(e=>e.currentTime=c),i(t[a])}function d(n){const o=e.matches(":popover-open")&&s(),c=o&&t[o.index];c&&"VIDEO"===c.tagName&&(n||a&&a.checked?c.pause():c.play().catch(()=>{}))}let u=0;function f(e){return t=>{t.detail&&t.timeStamp-u>250||l(e)}}e.addEventListener("pointerdown",e=>{u=e.timeStamp,d(!0)}),["pointerup","pointercancel"].forEach(t=>{e.addEventListener(t,()=>d(!1))}),n.addEventListener("click",f(-1)),o.addEventListener("click",f(1)),e.addEventListener("animationend",n=>{if("mw-story-reel-fill"===n.animationName)e.hidePopover();else if("mw-story-reel-frame"===n.animationName){const e=s();e&&t[e.index]===n.target&&i(n.target)}}),e.addEventListener("toggle",e=>{i("open"===e.newState?t[0]:null)}),a&&a.addEventListener("change",()=>d(!1));e.addEventListener("keydown",e=>{"ArrowLeft"===e.key?l(-1):"ArrowRight"===e.key&&l(1)})}(e)})}(a),function(t){t.querySelectorAll(".mw-deck").forEach(t=>{if(o(t))try{!function(t){const n=t.querySelector(".mw-deck-slides");if(!n)return;const o=Array.from(n.children).filter(e=>e.classList.contains("mw-slide"));if(!o.length)return;const a=!t.classList.contains("mw-deck-portrait"),c=t===document.body,r=t.querySelector(".mw-deck-counter"),s=t.querySelector(".mw-deck-segments"),i=e=>String(e).padStart(2,"0"),l=Number.parseInt(location.hash.slice(1),10)-1,d=c&&l>0&&l<o.length?l:0;let m=d,u=-1,f=!1;s&&s.replaceChildren(...o.map(()=>document.createElement("span")));function w(n){if(!(n<0||n>=o.length)&&(m=n,n!==u)){if(u=n,o.forEach((t,o)=>e(t,o===n)),r){const e=document.createElement("span");e.className="mw-deck-counter-current",e.textContent=i(n+1),r.replaceChildren(e," / "+i(o.length))}if(t.style.setProperty("--mw-deck-progress",String((n+1)/o.length)),s&&Array.from(s.children).forEach((e,t)=>e.classList.toggle("mw-done",t<=n)),c)try{history.replaceState(history.state,"","#"+(n+1))}catch{}}}const p=e=>a?e.offsetLeft:e.offsetTop;function h(e,t=!0){const c=o[Math.max(0,Math.min(o.length-1,e))],r=q();n.scrollTo({left:a?c.offsetLeft:0,top:a?0:c.offsetTop,behavior:t&&!r?"smooth":"auto"})}function g(){const e=a?n.scrollLeft:n.scrollTop;let t=0;return o.forEach((n,a)=>{Math.abs(p(n)-e)<Math.abs(p(o[t])-e)&&(t=a)}),t}let y=!1;n.addEventListener("scroll",()=>{f&&!y&&(y=!0,requestAnimationFrame(()=>{y=!1,w(g())}))},{passive:!0});const v=()=>document.fullscreenElement||document.webkitFullscreenElement,b=document.fullscreenEnabled||document.webkitFullscreenEnabled,E=c?document.documentElement:t;function L(){if(b)try{const e=v()?(document.exitFullscreen||document.webkitExitFullscreen).call(document):(E.requestFullscreen||E.webkitRequestFullscreen).call(E);e&&e.catch&&e.catch(()=>{})}catch{}}b||t.querySelectorAll("[data-deck-fullscreen]").forEach(e=>{e.hidden=!0});const x=()=>h(m,!1);if(["fullscreenchange","webkitfullscreenchange"].forEach(e=>{document.addEventListener(e,()=>{t.classList.toggle("mw-deck-fullscreen",Boolean(v())),x()})}),window.addEventListener("resize",x),t.addEventListener("click",e=>{if(!(e.target instanceof Element))return;const t=e.target.closest("[data-deck-goto], [data-deck-next], [data-deck-prev], [data-deck-fullscreen]");if(t)if(t.hasAttribute("data-deck-goto")){const e=o.findIndex(e=>e.id===t.dataset.deckGoto);e>=0&&h(e)}else t.hasAttribute("data-deck-next")?h(m+1):t.hasAttribute("data-deck-prev")?h(m-1):L()}),(c?document:t).addEventListener("keydown",e=>{if(e.defaultPrevented||e.isComposing)return;if(e.metaKey||e.ctrlKey||e.altKey)return;const t=e.target instanceof Element?e.target:document.body;if(t.closest("input, textarea, select, [contenteditable]"))return;if(" "===e.key&&t.closest("button, a, summary")&&t.matches(":focus-visible"))return;const n={ArrowRight:1,ArrowDown:1,PageDown:1," ":e.shiftKey?-1:1,ArrowLeft:-1,ArrowUp:-1,PageUp:-1};if(e.key in n)h(m+n[e.key]);else if("Home"===e.key)h(0);else if("End"===e.key)h(o.length-1);else{if("f"!==e.key&&"F"!==e.key)return;L()}e.preventDefault()}),c&&window.self===window.top){let e=!1;document.addEventListener("wheel",t=>{t.ctrlKey||!a&&n.contains(t.target)||Math.abs(t.deltaX)>Math.abs(t.deltaY)||(t.preventDefault(),e||Math.abs(t.deltaY)<8||(e=!0,h(m+Math.sign(t.deltaY)),setTimeout(()=>e=!1,700)))},{passive:!1})}t.classList.add("mw-deck-ready"),h(d,!1),requestAnimationFrame(()=>requestAnimationFrame(()=>{f=!0,w(d)}))}(t)}catch(e){console.error("MaverickWave: deck not initialised",e)}})}(a),function(n){n.querySelectorAll("button.mw-device").forEach(n=>{if(!o(n))return;const a=n.querySelector(".mw-device-screen"),c=a&&a.querySelector(":scope > img");if(!c)return;let r=0;const s=()=>{clearTimeout(r),e(n,!1),n.setAttribute("aria-pressed","false")};n.setAttribute("aria-pressed","false"),n.addEventListener("click",()=>{if(t(n))return s();c.offsetHeight<=a.clientHeight||(e(n,!0),n.setAttribute("aria-pressed","true"))}),c.addEventListener("transitionend",e=>{"translate"===e.propertyName&&t(n)&&(r=setTimeout(s,1200))})})}(a),function(e){const t=h();e.querySelectorAll(".mw-app").forEach(e=>{if(!o(e))return;const n=v(e,"collapsed"),a=v(e,"aside");null===n&&null===a||(e.classList.add("mw-app-restoring"),null!==n&&e.classList.toggle("mw-app-collapsed","1"===n),null!==a&&t.aside.matches&&e.classList.toggle("mw-app-aside-open","1"===a),requestAnimationFrame(()=>requestAnimationFrame(()=>e.classList.remove("mw-app-restoring")))),y(e,t)})}(a),function(n){const a=n.querySelectorAll(".mw-accordion-header");a.forEach(n=>{if(!o(n))return;const a="BUTTON"===n.tagName;a&&n.setAttribute("aria-expanded",String(t(n))),n.addEventListener("click",function(){const n=!t(this);e(this,n),e(this.nextElementSibling,n),a&&this.setAttribute("aria-expanded",String(n))})})}(a),function(e){const t=Array.from(e.querySelectorAll(".mw-progress-fill")).filter(o);if(!t.length)return;const n=CSS.supports("animation-timeline","view()"),a=e=>e.dataset.value?e.dataset.value+"%":e.style.width,c=[];if(t.forEach(e=>{const t=a(e);t&&(e.style.setProperty("--mw-progress-value",t),n?e.classList.add("mw-progress-driven"):c.push(e))}),n)return;const r=new IntersectionObserver((e,t)=>{e.forEach(e=>{e.isIntersecting&&(e.target.style.width=a(e.target),t.unobserve(e.target))})},{root:null,threshold:.2});c.forEach(e=>r.observe(e))}(a),function(e){if(CSS.supports("animation-timeline","view()"))return;if(q())return;const t=Array.from(e.querySelectorAll(".mw-reveal, .mw-reveal-stagger > *")).filter(o);if(!t.length)return;const n=e=>{const t=e.parentElement;if(!t||!t.classList.contains("mw-reveal-stagger"))return 0;const n=getComputedStyle(t).gridTemplateColumns.split(" ").length;return[...t.children].indexOf(e)%n*90},a=new IntersectionObserver((e,t)=>{e.forEach(e=>{e.isIntersecting&&(t.unobserve(e.target),e.target.style.animationDelay=n(e.target)+"ms",e.target.classList.replace("mw-reveal-hidden","mw-reveal-run"))})},{threshold:.15});t.forEach(e=>{e.getBoundingClientRect().top<window.innerHeight||(e.classList.add("mw-reveal-hidden"),a.observe(e))})}(a),function(e){e.querySelectorAll(".mw-tabs-nav").forEach(e=>{if(!o(e))return;const t=Array.from(e.querySelectorAll(".mw-tabs-nav-item"));if(!t.length)return;const n=!!e.closest(".mw-tabs-vertical");e.setAttribute("role","tablist"),n&&e.setAttribute("aria-orientation","vertical"),t.forEach((e,o)=>{const a=k(e);e.setAttribute("role","tab"),e.id||(e.id=(a?a.id:"mw-tab-"+o)+"-tab"),a&&(e.setAttribute("aria-controls",a.id),a.setAttribute("role","tabpanel"),a.setAttribute("aria-labelledby",e.id)),S(e),e.addEventListener("click",()=>A(t,e)),e.addEventListener("keydown",e=>{const a=function(e,t,n,o){const a=t?"ArrowUp":"ArrowLeft",c=t?"ArrowDown":"ArrowRight";return e.key===a?(o-1+n)%n:e.key===c?(o+1)%n:"Home"===e.key?0:"End"===e.key?n-1:null}(e,n,t.length,o);null!==a&&(e.preventDefault(),A(t,t[a]),t[a].focus())})}),x(e);const a=new ResizeObserver(()=>x(e));a.observe(e),t.forEach(e=>a.observe(e))})}(a),function(e){const t=e.querySelectorAll(".mw-alert-close");t.forEach(e=>{o(e)&&e.addEventListener("click",function(){const e=this.closest(".mw-alert");e&&(e.classList.add("mw-alert-closing"),setTimeout(()=>{e.classList.add("mw-alert-closed")},300))})})}(a),function(e){e.querySelectorAll(".mw-slider-container").forEach(e=>{if(!o(e))return;const t=e.querySelector(".mw-slider"),n=e.querySelector(".mw-slider-value");if(!t||!n)return;const a=()=>{const e=Number(t.value),o=Number(t.max)||100,a=Math.round(e/o*100);t.style.setProperty("--value",a+"%"),n.classList.contains("mw-slider-numeric")?n.setAttribute("data-value",e):n.setAttribute("data-value",a)};t.addEventListener("input",a),a()})}(a),function(t){const n=t.querySelectorAll(".mw-image-slider");n.forEach(t=>{if(!o(t))return;const n=t.querySelectorAll(".mw-image-slider-overlay-image"),a=t.querySelectorAll("button[data-index]");if(!n.length||!a.length)return;let c=0;function r(){n.forEach(t=>{e(t,parseInt(t.dataset.index)===c)}),a.forEach(t=>{e(t,parseInt(t.dataset.index)===c)})}function s(e){c=e,r()}a.forEach(e=>{e.addEventListener("click",()=>{s(parseInt(e.dataset.index))})}),r()})}(a),function(e){e.querySelectorAll(".mw-compare-range").forEach(e=>{if(!o(e))return;const t=e.closest(".mw-compare");if(!t)return;const n=()=>{const n=Number(e.min)||0,o=Number(e.max)||100,a=(e.valueAsNumber-n)/(o-n)*100;t.style.setProperty("--mw-compare-position",a+"%")};e.addEventListener("input",n),n()})}(a),function(e){const t=e.querySelectorAll(".mw-item-list-checkbox, .mw-item-list-checkbox-scroll");t.forEach(e=>{if(!o(e))return;e.querySelectorAll("li").forEach(e=>{const t=e.querySelector('input[type="checkbox"]'),n=e.querySelector(".mw-checkbox");t&&n&&(t.checked&&e.classList.add("mw-selected"),e.addEventListener("click",function(e){e.target!==t&&e.target.closest(".mw-checkbox")!==n&&l(this)}),t.addEventListener("change",function(){const e=this.closest("li");this.checked?e.classList.add("mw-selected"):e.classList.remove("mw-selected"),e.dispatchEvent(new CustomEvent("checkboxToggle",{detail:{checked:this.checked,item:e}}))}),n.addEventListener("click",function(e){setTimeout(()=>{const e=this.closest("li");this.querySelector('input[type="checkbox"]').checked?e.classList.add("mw-selected"):e.classList.remove("mw-selected")},0)}))})})}(a),function(e){e.querySelectorAll(".mw-kanban").forEach(e=>{o(e)&&function(e){const t=Array.from(e.querySelectorAll(".mw-kanban-column")),n=e.querySelector(".mw-kanban-composer"),o=e.querySelector(".mw-kanban-card-template"),a=e.dataset.kanbanPrefix||"MW",c=n.querySelector(".mw-kanban-composer-title"),r=n.querySelector(".mw-kanban-composer-text"),s=n.querySelector(".mw-kanban-composer-priority"),i=n.querySelector(".mw-kanban-composer-assignee");let l=null;function d(){t.forEach(function(e,n){const o=e.querySelectorAll(".mw-kanban-card"),a=e.querySelector(".mw-kanban-count");a&&(a.textContent=o.length),e.querySelectorAll("[data-kanban-move]").forEach(function(e){const o=n+parseInt(e.dataset.kanbanMove,10);e.disabled=o<0||o>=t.length})})}function m(){const t=Array.from(e.querySelectorAll(".mw-kanban-card-id")).map(function(e){return parseInt(e.textContent.split("-").pop(),10)||0});return a+"-"+(Math.max(0,...t)+1)}function u(e){const t=e.querySelector(".mw-card-ribbon");if(!t)return"";const n=Array.from(t.classList).find(function(e){return 0===e.indexOf("mw-card-addon-")});return n?n.replace("mw-card-addon-",""):""}function f(e,t){const n=e.querySelector(".mw-card-ribbon");if(n&&n.remove(),!t||!t.value)return;const o=document.createElement("div");o.className="mw-card-ribbon mw-card-addon-"+t.value,o.textContent=t.textContent,e.prepend(o)}function w(e){const t=e.querySelector(".mw-avatar-initials");return t?t.textContent.trim():""}function p(e,t){const n=e.querySelector(t);return n?n.textContent.replace(/\s+/g," ").trim():""}function h(e,t){const n=e.querySelector(".mw-kanban-card-actions"),o=n.querySelector(".mw-avatar");if(!t)return void(o&&o.remove());const a=o||document.createElement("div");a.className="mw-avatar mw-avatar-xs mw-avatar-initials",a.textContent=t,o||n.prepend(a)}function g(e,t){y(),l=t||null,c.value=t?p(t,".mw-kanban-card-title"):"",r.value=t?p(t,".mw-kanban-card-text"):"",s.value=t?u(t):"",i.value=t?w(t):"",t?(t.classList.add("mw-kanban-editing"),t.before(n)):e.querySelector(".mw-kanban-column-body").prepend(n),n.classList.add("mw-active"),c.focus()}function y(){n.classList.remove("mw-active"),l&&l.classList.remove("mw-kanban-editing"),l=null}function v(){const e=c.value.trim();if(!e)return void c.focus();const t=l||o.content.firstElementChild.cloneNode(!0);if(t.querySelector(".mw-kanban-card-title").textContent=e,t.querySelector(".mw-kanban-card-text").textContent=r.value.trim(),f(t,s.selectedOptions[0]),h(t,i.value),!l){const e=m();t.classList.add("mw-kanban-card-in"),t.querySelector(".mw-kanban-card-id").textContent=e,t.querySelectorAll("[aria-label]").forEach(function(t){t.setAttribute("aria-label",t.getAttribute("aria-label").replace(/[A-Z]+-\d+/,e))}),n.before(t)}y(),d()}const b=["mw-kanban-card-moved-forward","mw-kanban-card-moved-back"];function E(e,n){const o=e.closest(".mw-kanban-column"),a=t[t.indexOf(o)+n];a&&(a.querySelector(".mw-kanban-column-body").appendChild(e),e.classList.remove.apply(e.classList,b),e.offsetWidth,e.classList.add(n>0?b[0]:b[1]),d())}e.addEventListener("click",function(e){const t=e.target.closest("[data-kanban-move]");if(t){if(E(t.closest(".mw-kanban-card"),parseInt(t.dataset.kanbanMove,10)),t.disabled){const e=t.parentElement.querySelector("[data-kanban-move]:not(:disabled)");e&&e.focus()}return}const n=e.target.closest(".mw-kanban-edit");if(n){const e=n.closest(".mw-kanban-card");return void g(e.closest(".mw-kanban-column"),e)}const o=e.target.closest(".mw-kanban-delete");if(o){const e=o.closest(".mw-kanban-card");return e===l&&y(),e.remove(),void d()}const a=e.target.closest(".mw-kanban-add");a?g(a.closest(".mw-kanban-column"),null):e.target.closest(".mw-kanban-composer-cancel")&&y()}),n.addEventListener("submit",function(e){e.preventDefault(),v()}),n.addEventListener("keydown",function(e){"Escape"===e.key&&y()}),d()}(e)})}(a),function(e){e.querySelectorAll("[data-calendar]").forEach(e=>{o(e)&&function(e){const t=e.querySelector(".mw-calendar-grid"),n=e.querySelector(".mw-calendar-title");if(!t)return;const o="week"===e.dataset.calendar,a=function(e){if(!e)return{};try{return JSON.parse(e)}catch(e){return{}}}(e.dataset.calendarMarkers),c=e.dataset.calendarLocale||document.documentElement.lang||void 0,r=new Date;r.setHours(0,0,0,0);let s=e.dataset.calendarDate?new Date(e.dataset.calendarDate+"T00:00:00"):new Date(r),i=e.dataset.calendarSelected||"";function l(e){const t=new Date(e);return t.setDate(t.getDate()-(t.getDay()+6)%7),t}function d(e){return e.getFullYear()+"-"+String(e.getMonth()+1).padStart(2,"0")+"-"+String(e.getDate()).padStart(2,"0")}function m(e){const t=l(e);t.setDate(t.getDate()+3);const n=l(new Date(t.getFullYear(),0,4));return n.setDate(n.getDate()+3),1+Math.round((t-n)/6048e5)}function u(){if(!o)return s.toLocaleDateString(c,{month:"long",year:"numeric"});const e=l(s),t=new Date(e);t.setDate(t.getDate()+6);const n=e.toLocaleDateString(c,{day:"numeric",month:e.getMonth()===t.getMonth()?void 0:"short"}),a=t.toLocaleDateString(c,{day:"numeric",month:"short",year:"numeric"});return"Week "+m(e)+" · "+n+" - "+a}function f(e){const t=e.getDay();return 0===t||6===t}function w(){const e=l(new Date);for(let n=0;n<7;n++){const n=document.createElement("div");n.className="mw-calendar-weekday",f(e)&&n.classList.add("mw-calendar-weekend"),n.setAttribute("aria-hidden","true"),n.textContent=e.toLocaleDateString(c,{weekday:"short"}),t.appendChild(n),e.setDate(e.getDate()+1)}}function p(e,t){const n=d(e),s=document.createElement("button");s.type="button",s.className="mw-calendar-day",s.tabIndex=-1,s.dataset.calendarDay=n,s.setAttribute("aria-pressed",n===i?"true":"false"),s.setAttribute("aria-label",e.toLocaleDateString(c,{weekday:"long",day:"numeric",month:"long",year:"numeric"})),f(e)&&s.classList.add("mw-calendar-weekend"),o||e.getMonth()===t||s.classList.add("mw-calendar-adjacent"),n===d(r)&&(s.classList.add("mw-calendar-today"),s.setAttribute("aria-current","date")),n===i&&s.classList.add("mw-selected");const l=document.createElement("span");l.className="mw-calendar-date",l.textContent=e.getDate(),s.appendChild(l);const m=[].concat(a[n]||[]);if(m.length){const e=document.createElement("span");e.className="mw-calendar-dots",m.forEach(function(t){const n=document.createElement("span");n.className=t?"mw-calendar-dot mw-calendar-dot-"+t:"mw-calendar-dot",e.appendChild(n)}),s.appendChild(e)}return s}function h(){const e=s.getMonth(),a=o?7:42,c=l(o?s:new Date(s.getFullYear(),e,1));t.innerHTML="",w();for(let n=0;n<a;n++)t.appendChild(p(c,e)),c.setDate(c.getDate()+1);n&&(n.textContent=u()),g()}function g(){const e=t.querySelector(".mw-selected")||t.querySelector(".mw-calendar-today")||t.querySelector(".mw-calendar-day:not(.mw-calendar-adjacent)")||t.querySelector(".mw-calendar-day");e&&(e.tabIndex=0)}function y(n){i=n===i?"":n,t.querySelectorAll(".mw-calendar-day").forEach(function(e){const t=e.dataset.calendarDay===i;e.classList.toggle("mw-selected",t),e.setAttribute("aria-pressed",t?"true":"false")}),e.dispatchEvent(new CustomEvent("mw-calendar-select",{bubbles:!0,detail:{date:i}}))}function v(e){o?s.setDate(s.getDate()+7*e):s=new Date(s.getFullYear(),s.getMonth()+e,1),h()}function b(e){const n=d(e);let o=t.querySelector('[data-calendar-day="'+n+'"]');o||(s=new Date(e),h(),o=t.querySelector('[data-calendar-day="'+n+'"]')),o&&(t.querySelectorAll(".mw-calendar-day").forEach(function(e){e.tabIndex=-1}),o.tabIndex=0,o.focus())}e.addEventListener("click",function(e){const t=e.target.closest("[data-calendar-nav]");if(t)return void v(parseInt(t.dataset.calendarNav,10));const n=e.target.closest(".mw-calendar-day");n&&!n.disabled&&y(n.dataset.calendarDay)}),t.addEventListener("keydown",function(e){const t={ArrowLeft:-1,ArrowRight:1,ArrowUp:-7,ArrowDown:7}[e.key];if(!t)return;const n=e.target.closest(".mw-calendar-day");if(!n)return;e.preventDefault();const o=new Date(n.dataset.calendarDay+"T00:00:00");o.setDate(o.getDate()+t),b(o)}),h()}(e)})}(a),function(t){t.querySelectorAll(".mw-lang-switch").forEach(t=>{if(!o(t))return;const n=t.querySelectorAll("[data-mw-lang]"),a=t.querySelector("summary"),c=t.querySelector("summary .mw-flag"),r=t.querySelector("summary .mw-lang-switch-code");n.forEach(o=>{o.addEventListener("click",function(){const s=o.dataset.mwLang,i=o.querySelector(".mw-lang-switch-name"),l=i?i.textContent.trim():s;n.forEach(t=>{e(t,t===o),t===o?t.setAttribute("aria-current","true"):t.removeAttribute("aria-current")}),r&&(r.textContent=s);const d=o.querySelector(".mw-flag");c&&d&&(c.className=d.className),a&&a.setAttribute("aria-label","Language: "+l),t.dispatchEvent(new CustomEvent("mw-language-change",{bubbles:!0,detail:{lang:s,name:l}}))})})})}(a)}function i(){try{r()}catch(e){console.error("MaverickWave: page behaviour not initialised",e)}s(document)}function l(e){const t=e.querySelector('input[type="checkbox"]');if(!t)return;const n=t.checked;t.checked=!n,t.checked?e.classList.add("mw-selected"):e.classList.remove("mw-selected"),e.dispatchEvent(new CustomEvent("checkboxToggle",{detail:{checked:t.checked,item:e}}))}window.MaverickWave={init:function(e){r(),s(e)}},window.mwToggleCheckbox=l;const d={close:"M6 6l12 12M18 6L6 18",prev:"M15 5l-7 7 7 7",next:"M9 5l7 7-7 7"};function m(e,t,n){const o=document.createElement("button");return o.type="button",o.className=e,o.setAttribute("aria-label",t),o.innerHTML='<svg viewBox="0 0 24 24" aria-hidden="true"><path d="'+d[n]+'"/></svg>',o}function u(e){const t=e.naturalWidth||e.videoWidth||+e.getAttribute("width"),n=e.naturalHeight||e.videoHeight||+e.getAttribute("height");return t&&n?t/n:0}function f(e,t,n,o,a){function c(){const c=e.scrollWidth-e.clientWidth-2,r=e.children.length-1;a(e.scrollLeft>=c?r:Math.round(e.scrollLeft/t())),n.disabled=e.scrollLeft<=2,o.disabled=e.scrollLeft>=c}return n.addEventListener("click",()=>e.scrollBy({left:-t()})),o.addEventListener("click",()=>e.scrollBy({left:t()})),e.addEventListener("scroll",c,{passive:!0}),c}function w(e){const t=document.createElement("figure");t.className="mw-lightbox-slide";const n=document.createElement("img");n.dataset.src=e.href,n.alt=e.querySelector("img").alt,n.decoding="async",t.appendChild(n);const o=e.closest("figure"),a=o&&o.querySelector("figcaption");if(a){const e=document.createElement("figcaption");a.childNodes.forEach(t=>e.append(t.cloneNode(!0))),t.appendChild(e)}return t}function p(){const e=Array.from(document.querySelectorAll(".color-swatch")),t=e.map(e=>function(e){if(!e||"transparent"===e)return"#000000";const t=e=>Math.max(0,Math.min(255,Math.round(e))).toString(16).padStart(2,"0"),n=e.match(/color\(srgb\s+([\d.]+)\s+([\d.]+)\s+([\d.]+)(?:\s*\/\s*([\d.]+))?\)/);if(n){const e="#"+t(255*n[1])+t(255*n[2])+t(255*n[3]),o=void 0===n[4]?1:parseFloat(n[4]);return(o<1?`${e} / ${o}`:e).toUpperCase()}const o=e.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*([\d.]+))?\)/);if(!o)return e;const a="#"+t(o[1])+t(o[2])+t(o[3]),c=void 0===o[4]?1:parseFloat(o[4]);return(c<1?`${a} / ${c}`:a).toUpperCase()}(window.getComputedStyle(e).backgroundColor));e.forEach((e,n)=>{const o=e.parentElement.querySelector(".mw-text-muted");o&&(o.textContent=t[n])})}function h(){return{sidebar:window.matchMedia("(width >= 992px)"),aside:window.matchMedia("(width >= 1200px)")}}function g(e,t){return!t.sidebar.matches&&e.classList.contains("mw-app-sidebar-open")?e.querySelector(".mw-app-sidebar"):!t.aside.matches&&e.classList.contains("mw-app-aside-open")?e.querySelector(".mw-app-aside"):null}function y(e,t){const n=g(e,t);[...e.children].forEach(e=>{e.inert=Boolean(n)&&e!==n});[["[data-mw-app-toggle]",".mw-app-sidebar",t.sidebar.matches?!e.classList.contains("mw-app-collapsed"):e.classList.contains("mw-app-sidebar-open")],["[data-mw-app-aside-toggle]",".mw-app-aside",e.classList.contains("mw-app-aside-open")]].forEach(([t,n,o])=>{const a=e.querySelector(n);e.querySelectorAll(t).forEach(e=>{e.setAttribute("aria-expanded",String(o)),a&&a.id&&!e.hasAttribute("aria-controls")&&e.setAttribute("aria-controls",a.id)})})}function v(e,t,n){const o=e.dataset.mwAppPersist;return o?void 0===n?a.get(`mw-app:${o}:${t}`):(a.set(`mw-app:${o}:${t}`,n?"1":"0"),null):null}function b(){const e=parseFloat(getComputedStyle(document.documentElement).scrollPaddingTop);return Number.isNaN(e)?0:e}function E(e){const t=e&&e.closest(".mw-faq-item");t&&(t.open=!0)}let L=null;function x(e){const t=e.querySelector(".mw-tabs-nav-item.mw-active, .mw-tabs-nav-item.active");t?(e.style.setProperty("--mw-tabs-marker-x",t.offsetLeft+"px"),e.style.setProperty("--mw-tabs-marker-w",t.offsetWidth),e.style.setProperty("--mw-tabs-marker-y",t.offsetTop+"px"),e.style.setProperty("--mw-tabs-marker-h",t.offsetHeight),e.setAttribute("data-mw-tabs-marker","")):e.removeAttribute("data-mw-tabs-marker")}function k(e){const t=e.getAttribute("data-tab");return t?document.getElementById(t):null}function S(e){const n=t(e);e.setAttribute("aria-selected",String(n)),e.tabIndex=n?0:-1}function A(t,n){t.forEach(t=>{const o=t===n;e(t,o),e(k(t),o),S(t)});const o=n.closest(".mw-tabs-nav");o&&x(o)}function q(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches||document.documentElement.classList.contains("mw-motion-off")}function M(e,t){let n;return function(){const o=this,a=arguments;clearTimeout(n),n=setTimeout(()=>e.apply(o,a),t)}}function C(){const e=window.location.hostname;return"localhost"===e||"127.0.0.1"===e||e.includes("192.168.")}function F(e){e instanceof HTMLDialogElement&&!e.open&&e.showModal()}function D(e,t){return e+Math.random()*(t-e)}function N(e){return e[Math.floor(Math.random()*e.length)]}function T(e,t){return(Math.random()<.5?-1:1)*D(e,t)}function I(e,t,n,o){const a=document.createElement("span");a.className="mw-occasion-particle mw-occasion-"+t+" mw-occasion-"+n,Object.keys(o).forEach(e=>a.style.setProperty(e,o[e])),e.appendChild(a)}function z(){const e=parseFloat(getComputedStyle(document.documentElement).getPropertyValue("--mw-occasion-amount"));return e>0?e:1}function P(e){return"soft"===e?D(.2,.6).toFixed(2)+" "+D(0,.5).toFixed(2)+" 1":e?"1 "+D(0,1).toFixed(2)+" 0.3":"z"}function H(e,t,n,o){for(let a=0;a<t;a++)I(e,N(n),o.rising?"rising":"falling",{"--mw-occasion-x":D(-5,100).toFixed(1)+"vw","--mw-occasion-drift":D(o.drift[0],o.drift[1]).toFixed(1)+"vw","--mw-occasion-size":D(o.size[0],o.size[1]).toFixed(1)+"px","--mw-occasion-time":D(o.time[0],o.time[1]).toFixed(2)+"s","--mw-occasion-delay":D(0,o.spread).toFixed(2)+"s","--mw-occasion-sway":D(6,22).toFixed(0)+"px","--mw-occasion-sway-time":D(1.2,2.4).toFixed(2)+"s","--mw-occasion-spin":T(.3,o.spin||.3).toFixed(2)+"turn","--mw-occasion-spin-time":D(2.5,5).toFixed(2)+"s","--mw-occasion-axis":P(o.flip)})}function O(e,t,n,o){for(let a=0;a<t;a++){const t=a%2==0;I(e,N(n),"bursting",{"--mw-occasion-x":t?"-2vw":"100vw","--mw-occasion-dx":(t?1:-1)*D(8,62)+"vw","--mw-occasion-peak":D(55,92)+"vh","--mw-occasion-size":D(o.size[0],o.size[1]).toFixed(1)+"px","--mw-occasion-time":D(2.6,3.6).toFixed(2)+"s","--mw-occasion-delay":(D(0,.35)+(a%3==2?.9:0)).toFixed(2)+"s","--mw-occasion-spin":T(1.5,o.spin).toFixed(2)+"turn","--mw-occasion-spin-time":D(.8,1.6).toFixed(2)+"s","--mw-occasion-axis":P(o.flip)})}}["wheel","touchstart"].forEach(e=>{window.addEventListener(e,()=>L=null,{passive:!0})}),window.mwOpenModal=e=>F(document.getElementById(e)),window.mwCloseModal=e=>{var t;(t=document.getElementById(e))instanceof HTMLDialogElement&&t.close()},window.mwRefreshColorSwatches=p,"loading"===document.readyState?document.addEventListener("DOMContentLoaded",i):i()}();
|
|
1
|
+
!function(){"use strict";function e(e,t){e&&(e.classList.toggle("mw-active",t),t||e.classList.remove("active"))}function t(e){return!!e&&(e.classList.contains("mw-active")||e.classList.contains("active"))}const n=new WeakSet;function o(e){return!(!e||n.has(e))&&(n.add(e),!0)}const a={get(e){try{return localStorage.getItem(e)}catch{return null}},set(e,t){try{localStorage.setItem(e,t)}catch{}},remove(e){try{localStorage.removeItem(e)}catch{}}};let c=!1;function r(){c||(c=!0,function(){const t=document.querySelector(".mw-theme-toggle");if(!t)return;const n=document.documentElement,o=t.querySelector(".mw-theme-toggle-slider i"),c=getComputedStyle(document.documentElement).getPropertyValue("--mw-internal-theme-mode").trim()||"switchable";if("switchable"!==c)return console.log(`Theme mode fixed to: ${c}. Disabling toggle.`),o&&(o.className="light"===c?"fas fa-sun":"fas fa-moon"),e(t,"light"===c),t.style.opacity="0.4",t.style.pointerEvents="none",t.style.cursor="default",t.setAttribute("aria-disabled","true"),a.remove("mw-theme"),void n.classList.remove("mw-theme-light","mw-theme-dark");const r=window.matchMedia("(prefers-color-scheme: light)"),s=()=>r.matches,i=a.get("mw-theme");let l=i?"light"===i:s();const d=a=>{n.classList.add("mw-theme-switching"),n.classList.toggle("mw-theme-light",a),n.classList.toggle("mw-theme-dark",!a),n.offsetHeight,n.classList.remove("mw-theme-switching"),e(t,a),o&&(o.className=a?"fas fa-sun":"fas fa-moon")};d(l),r.addEventListener("change",()=>{a.get("mw-theme")||(l=s(),d(l),p())}),t.addEventListener("click",()=>{l=!l,d(l),a.set("mw-theme",l?"light":"dark"),p()})}(),p(),function(){const e=document.querySelector(".mw-menu-btn"),t=document.querySelector(".mw-navbar");if(!e||!t)return;const n="BUTTON"===e.tagName;function o(o){e.classList.toggle("mw-active",o),t.classList.toggle("mw-active",o),document.body.classList.toggle("mw-nav-open",o),n&&e.setAttribute("aria-expanded",String(o))}function a(e){e.preventDefault(),e.stopPropagation(),o(!t.classList.contains("mw-active"))}e.addEventListener("click",a),document.addEventListener("click",function(n){t.classList.contains("mw-active")&&(t.contains(n.target)||e.contains(n.target)||o(!1))}),document.addEventListener("keydown",function(n){"Escape"===n.key&&t.classList.contains("mw-active")&&(o(!1),e.focus())})}(),function(){const e=h();function t(e){const t=e.querySelector('[aria-current="page"], .mw-active')||e.querySelector('a[href], button, input, select, textarea, [tabindex]:not([tabindex="-1"])');t&&t.focus({preventScroll:!0})}function n(e,t,n){const o=[...e.querySelectorAll(t)].find(e=>!n||!n.contains(e));o&&o.focus({preventScroll:!0})}function o(t,o){const a=g(t,e);if(!a)return;const c=a.classList.contains("mw-app-aside");t.classList.remove(c?"mw-app-aside-open":"mw-app-sidebar-open"),y(t,e),o&&n(t,c?"[data-mw-app-aside-toggle]":"[data-mw-app-toggle]",a)}function a(){document.querySelectorAll(".mw-app").forEach(t=>{e.sidebar.matches&&t.classList.remove("mw-app-sidebar-open"),e.aside.matches||t.classList.remove("mw-app-aside-open"),y(t,e)})}document.addEventListener("click",a=>{const c=a.target.closest(".mw-app");if(!c)return;const r=a.target.closest("[data-mw-app-toggle]");if(r){if(e.sidebar.matches)return v(c,"collapsed",c.classList.toggle("mw-app-collapsed")),void y(c,e);const o=c.querySelector(".mw-app-sidebar");c.classList.remove("mw-app-aside-open");const a=c.classList.toggle("mw-app-sidebar-open");return y(c,e),void(a?t(o):o&&o.contains(r)&&n(c,"[data-mw-app-toggle]",o))}const s=a.target.closest("[data-mw-app-aside-toggle]");if(s){const o=c.querySelector(".mw-app-aside");e.sidebar.matches||c.classList.remove("mw-app-sidebar-open");const a=c.classList.toggle("mw-app-aside-open");return e.aside.matches&&v(c,"aside",a),y(c,e),a&&o&&!e.aside.matches&&t(o),void(!a&&o&&o.contains(s)&&n(c,"[data-mw-app-aside-toggle]",o))}const i=g(c,e);i&&(i.contains(a.target)?i.classList.contains("mw-app-sidebar")&&a.target.closest("a[href]")&&o(c,!1):o(c,!0))}),document.addEventListener("keydown",t=>{if("Escape"!==t.key)return;if(document.querySelector("dialog:modal, .mw-dropdown[open]"))return;const n=[...document.querySelectorAll(".mw-app")].find(t=>g(t,e));n&&o(n,!0)}),e.sidebar.addEventListener("change",a),e.aside.addEventListener("change",a)}(),function(){const e=document.querySelector(".mw-header-reveal");if(!e)return;if(CSS.supports("animation-timeline","scroll()"))return;if(q())return;const t=document.querySelector(".mw-announcement:not(.mw-announcement-static)"),n=270;let o=null;const a=()=>{const a=window.scrollY<n;a!==o&&(o=a,e.classList.toggle("mw-header-away",a),t&&t.classList.toggle("mw-announcement-away",a))};a(),requestAnimationFrame(()=>{e.classList.add("mw-header-driven"),t&&t.classList.add("mw-announcement-driven")}),window.addEventListener("scroll",a,{passive:!0})}(),function(){if(CSS.supports("animation-timeline","view()"))return;if(q())return;const e=document.querySelectorAll(".mw-parallax-media");if(!e.length)return;const t=[...e].map(e=>(e.classList.add("mw-parallax-driven"),{el:e,pinned:Boolean(e.closest(".mw-parallax-sticky"))})),n=e=>Math.min(1,Math.max(0,e)),o=(e,t)=>{if(e.pinned)return n(window.scrollY/t);const o=e.el.getBoundingClientRect();return n((t-o.top)/(t+o.height))};let a=!1;const c=()=>{a=!1;const e=document.documentElement.clientHeight,n=t.map(t=>o(t,e));t.forEach((e,t)=>e.el.style.setProperty("--mw-parallax-progress",n[t]))},r=()=>{a||(a=!0,requestAnimationFrame(c))};c(),window.addEventListener("scroll",r,{passive:!0}),window.addEventListener("resize",r,{passive:!0})}(),function(){function e(e){const t=e.style.position,n="sticky"===getComputedStyle(e).position;n&&(e.style.position="static");const o=e.getBoundingClientRect().top+window.scrollY;return n&&(e.style.position=t),o}function t(e){const t=window.scrollY,n=e-t;if(!n)return;const o=Math.min(2e3,600+.5*Math.abs(n)),a={};L=a;let c=null;function r(e){if(L!==a)return;null===c&&(c=e);const s=Math.min(1,(e-c)/o),i=s<.5?4*s*s*s:1-Math.pow(-2*s+2,3)/2;window.scrollTo({top:t+n*i,behavior:"instant"}),s<1?requestAnimationFrame(r):L=null}requestAnimationFrame(r)}document.querySelectorAll('a[href^="#"]').forEach(n=>{n.addEventListener("click",function(n){const o=this.getAttribute("href");if("#"===o)return;const a=document.querySelector(o);if(!a)return;E(a);const c=document.querySelector(".mw-menu-btn"),r=document.querySelector(".mw-navbar");c&&r&&(c.classList.remove("mw-active"),r.classList.remove("mw-active"),document.body.classList.remove("mw-nav-open"),"BUTTON"===c.tagName&&c.setAttribute("aria-expanded","false")),n.preventDefault();const s=Math.max(0,e(a)-b());a.hasAttribute("tabindex")||a.setAttribute("tabindex","-1"),a.focus({preventScroll:!0}),q()?window.scrollTo({top:s,behavior:"instant"}):t(s),history.replaceState(null,"",o)})})}(),function(){const t=document.querySelectorAll("section[id]"),n=e=>e.replace(/index\.html$/,""),o=[...document.querySelectorAll(".mw-navbar-link")].filter(e=>{const t=new URL(e.href,location.href);return t.hash&&n(t.pathname)===n(location.pathname)});if(0===t.length||0===o.length)return;window.addEventListener("scroll",M(function(){let n="";const a=b()+2;t.forEach(e=>{const t=e.offsetTop-a,o=e.clientHeight;scrollY>=t&&scrollY<t+o&&(n=e.getAttribute("id"))}),o.forEach(t=>{e(t,!1);const o=t.getAttribute("href");if(o){const a=o.indexOf("#");if(-1!==a){o.substring(a+1)===n&&e(t,!0)}}})},100),{passive:!0})}(),document.addEventListener("click",e=>{const t=e.target.closest(".mw-modal-close");if(t){const e=t.closest("dialog.mw-modal");return void(e&&e.close())}const n=e.target.closest("[data-mw-modal]");n?F(document.getElementById(n.dataset.mwModal)):e.target.matches('dialog.mw-modal[open][closedby="any"]')&&!("closedBy"in e.target)&&e.target.close()}),function(){let e=null;document.addEventListener("click",t=>{const n=t.target.closest("a[href]"),o=n&&n.closest(".mw-mosaic, [data-mw-lightbox]");if(!o||!n.querySelector("img")||t.defaultPrevented)return;if(0!==t.button||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey)return;t.preventDefault();const a=Array.from(o.querySelectorAll("a[href]")).filter(e=>e.querySelector("img")).map(e=>({a:e,box:e.getBoundingClientRect()})).sort((e,t)=>Math.round(e.box.top-t.box.top)||e.box.left-t.box.left).map(({a:e})=>e);e=e||function(){const e=document.createElement("dialog");e.className="mw-lightbox",e.setAttribute("aria-label","Image viewer");const t=document.createElement("div");t.className="mw-lightbox-bar";const n=m("mw-overlay-btn mw-lightbox-prev","Previous image","prev"),o=m("mw-overlay-btn mw-lightbox-next","Next image","next"),a=m("mw-overlay-btn mw-lightbox-close","Close","close");a.autofocus=!0;const c=document.createElement("span");c.className="mw-lightbox-count",c.setAttribute("aria-live","polite");const r=document.createElement("div");r.className="mw-lightbox-track",t.append(n,c,o,a),e.append(t,r),document.body.appendChild(e);let s=[],i=-1;function l(e){const t=r.children[e]&&r.children[e].querySelector("img");t&&!t.src&&(t.src=t.dataset.src)}const d=f(r,()=>r.clientWidth,n,o,e=>{e!==i&&(i=e,c.textContent=e+1+" / "+s.length,[e-1,e,e+1].forEach(l))});return a.addEventListener("click",()=>e.close()),r.addEventListener("click",t=>{t.target.classList.contains("mw-lightbox-slide")&&e.close()}),e.addEventListener("keydown",e=>{"ArrowLeft"===e.key?n.click():"ArrowRight"===e.key&&o.click()}),e.addEventListener("close",()=>{e.open||s[i]&&s[i].focus()}),{open(t,n){s=t,i=-1,r.replaceChildren(...t.map(w)),e.showModal(),r.scrollTo({left:n*r.clientWidth,behavior:"instant"}),d()}}}(),e.open(a,a.indexOf(n))})}(),function(){function e(e){document.querySelectorAll(".mw-dropdown[open]").forEach(t=>{t!==e&&t.removeAttribute("open")})}document.addEventListener("click",function(t){const n=t.target.closest(".mw-dropdown");e(n),n&&t.target.closest(".mw-dropdown-item")&&n.removeAttribute("open")}),document.addEventListener("keydown",function(e){if("Escape"!==e.key)return;const t=document.querySelector(".mw-dropdown[open]");if(!t)return;t.removeAttribute("open");const n=t.querySelector("summary");n&&n.focus()})}(),document.addEventListener("click",e=>{const t=e.target.closest(".mw-tags-remove");if(!t)return;const n=t.closest(".mw-tags-item");n&&n.remove()}),document.addEventListener("click",e=>{const t=e.target.closest("[data-mw-copy]");if(!t||!navigator.clipboard)return;const n=t.getAttribute("data-mw-copy"),o=t.closest(".mw-input-group")?.querySelector("input"),a=n||o?.value;a&&navigator.clipboard.writeText(a).then(()=>{t.dispatchEvent(new CustomEvent("mwCopied",{bubbles:!0,detail:{text:a}}))})}),function(){const e=document.querySelector(".mw-localhost-indicator-activated"),t=document.querySelector(".mw-header");if(e&&C()){const e=document.createElement("div");e.className="mw-localhost-indicator-pulse",t.prepend(e)}}(),function(){const e=["snow","christmas","newyear","spring","easter","summer","autumn","football","birthday","anniversary"],t=document.documentElement,n=new URLSearchParams(location.search),o=n.get("mw-occasion");e.includes(o)&&!t.classList.contains("mw-occasion-"+o)&&(e.forEach(e=>t.classList.remove("mw-occasion-"+e)),t.classList.add("mw-occasion-"+o),t.classList.toggle("mw-occasion-scroll",n.has("mw-occasion-scroll")),t.classList.toggle("mw-occasion-sm","sm"===n.get("mw-occasion-size")),t.classList.toggle("mw-occasion-lg","lg"===n.get("mw-occasion-size")),n.has("mw-occasion-intro")&&t.setAttribute("data-mw-occasion-intro","preview"));const a=e.find(e=>t.classList.contains("mw-occasion-"+e));if(q())return;if(function(e){if(CSS.supports("animation-timeline","view()"))return;const t=e&&document.documentElement.classList.contains("mw-occasion-scroll"),n=[...document.querySelectorAll(t?".mw-card, .mw-panel, .mw-testimonial, .mw-occasion-spot":".mw-occasion-scroll:not(:root)")].filter(e=>e.getBoundingClientRect().top>=window.innerHeight);if(!n.length)return;const o=new IntersectionObserver((e,t)=>{e.forEach(e=>{e.isIntersecting&&(t.unobserve(e.target),e.target.classList.replace("mw-occasion-waiting","mw-occasion-arriving"))})},{threshold:.15});n.forEach(e=>{e.classList.add("mw-occasion-waiting"),o.observe(e)})}(a),!a)return;t.classList.contains("mw-occasion-scroll")&&function(e){const t=document.createElement("div");t.className="mw-occasion-drift",t.setAttribute("aria-hidden","true");const n=!window.ScrollTimeline;n&&t.classList.add("mw-occasion-driven");"summer"===e?function(e){const t=Math.round(5*Math.min(1.4,z()));for(let n=0;n<t;n++)I(e,"beam","beaming",{"--mw-occasion-size":D(9,16).toFixed(1)+"vw","--mw-occasion-angle":(24+54*n/Math.max(1,t-1)+D(-3,3)).toFixed(1)+"deg","--mw-occasion-lap":String(n%2)})}(t):function(e,t){const n={snow:["flake","flake","crystal"],christmas:["flake","flake","star"],newyear:["glint"],spring:["petal"],easter:["petal"],autumn:["maple","oak","birch"],football:["strip"],birthday:["confetti"],anniversary:["confetti","glint"]}[t],o={flake:[9,16],crystal:[16,22],star:[14,20],glint:[16,24],petal:[18,26],maple:[28,40],oak:[28,40],birch:[24,34],strip:[12,18],confetti:[11,17]},a=Math.min(1.15,Math.max(.85,window.innerWidth/1280)),c=Math.round((window.innerWidth<768?11:18)*z());for(let t=0;t<c;t++){const r=n[t%n.length],s=["maple","oak","birch","petal"].includes(r),i=37*t%100*.3;I(e,r,"falling",{"--mw-occasion-x":((t+D(.1,.9))*(100/c)).toFixed(1)+"vw","--mw-occasion-size":(D(o[r][0],o[r][1])*a).toFixed(1)+"px","--mw-occasion-start":i.toFixed(1)+"%","--mw-occasion-from":(i/100).toFixed(3),"--mw-occasion-lap":String(t%3),"--mw-occasion-drift":D(-6,6).toFixed(1)+"vw","--mw-occasion-sway":D(8,24).toFixed(0)+"px","--mw-occasion-spin":T(.5,2).toFixed(2)+"turn","--mw-occasion-axis":P(s?"soft":["confetti","strip"].includes(r))})}}(t,e);document.body.appendChild(t),n&&function(e){const t=document.documentElement;let n=!1;const o=()=>{n=!1;const o=t.scrollHeight-t.clientHeight,a=o>0?Math.min(1,Math.max(0,scrollY/o)):0;e.style.visibility=o>0?"":"hidden",e.style.setProperty("--mw-occasion-progress",a.toFixed(4))},a=()=>{n||(n=!0,requestAnimationFrame(o))};o(),window.addEventListener("load",a),window.addEventListener("scroll",a,{passive:!0}),window.addEventListener("resize",a,{passive:!0})}(t);function o(){const e=document.documentElement.scrollHeight-innerHeight;t.style.setProperty("--mw-occasion-laps",String(Math.max(1,Math.round(e/(1.2*innerHeight)))))}o(),window.addEventListener("load",o),window.addEventListener("resize",M(o,200),{passive:!0})}(a);const c=t.getAttribute("data-mw-occasion-intro"),r=navigator.connection&&navigator.connection.saveData;null===c||r||"preview"!==c&&function(e){try{if(sessionStorage.getItem("mw-occasion-intro")===e)return!0;sessionStorage.setItem("mw-occasion-intro",e)}catch{}return!1}(a)||function(e){function t(){if(!document.hidden)return e();document.addEventListener("visibilitychange",function t(){document.hidden||(document.removeEventListener("visibilitychange",t),e())})}"complete"===document.readyState?t():window.addEventListener("load",t,{once:!0})}(()=>function(e){const t=document.createElement("div");t.className="mw-occasion-intro mw-occasion-intro-"+e,t.setAttribute("aria-hidden","true");const n=function(){const e=window.innerWidth*window.innerHeight/1296e3,t=(navigator.hardwareConcurrency||8)<=4||(navigator.deviceMemory||8)<=4;return Math.min(1,Math.max(.4,e))*(t?.5:1)*z()}();(function(){const e={size:[18,28],drift:[12,40],time:[3,4.2],spread:1.4,spin:1.2,flip:"soft"};return{snow:(e,t)=>H(e,t(70),["flake","flake","flake","crystal"],{size:[6,17],drift:[-4,6],time:[4.2,6.2],spread:2.4,spin:.5}),christmas:(e,t)=>{e.insertAdjacentHTML("beforeend",'<svg class="mw-occasion-tree" viewBox="0 0 120 150"><defs><linearGradient id="mw-tree-fir" x1="0" x2="1"><stop offset="0" stop-color="#2a7a45"/><stop offset=".55" stop-color="#17532d"/><stop offset="1" stop-color="#0d3a1e"/></linearGradient><radialGradient id="mw-tree-light"><stop offset="0" stop-color="#fffbe6"/><stop offset=".35" stop-color="#ffe08a"/><stop offset="1" stop-color="#ffd166" stop-opacity="0"/></radialGradient><radialGradient id="mw-tree-glow"><stop offset="0" stop-color="#fff3b0" stop-opacity=".9"/><stop offset="1" stop-color="#ffd166" stop-opacity="0"/></radialGradient><linearGradient id="mw-tree-gold" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#fff4c2"/><stop offset=".5" stop-color="#f1c84b"/><stop offset="1" stop-color="#b8860b"/></linearGradient></defs><rect x="53" y="108" width="14" height="18" rx="2" fill="#6b4226"/><g fill="url(#mw-tree-fir)"><path d="M60 56C70 76 86 94 106 112C84 106 36 106 14 112C34 94 50 76 60 56Z"/><path d="M60 32C68 48 80 64 96 80C80 76 40 76 24 80C40 64 52 48 60 32Z"/><path d="M60 12C66 24 74 36 86 50C76 47 44 47 34 50C46 36 54 24 60 12Z"/></g><g fill="none" stroke="#e9c46a" stroke-width="1.4" stroke-opacity=".85"><path d="M40 44Q62 54 80 42"/><path d="M30 70Q60 86 88 66"/><path d="M22 100Q62 118 100 94"/></g><circle cx="54" cy="38" r="3.4" fill="#d62839"/><circle cx="68" cy="39" r="3" fill="#e9b949"/><circle cx="46" cy="62" r="3.4" fill="#e9b949"/><circle cx="74" cy="62" r="3.4" fill="#d62839"/><circle cx="60" cy="66" r="3" fill="#cfd6de"/><circle cx="40" cy="94" r="3.6" fill="#d62839"/><circle cx="62" cy="95" r="3.6" fill="#e9b949"/><circle cx="84" cy="92" r="3.4" fill="#cfd6de"/><g>'+[[46.5,46.5],[61,48.5],[74.5,45.1],[39,74],[53.7,77],[68.2,75.6],[81.3,70.3],[31.6,103.7],[49.8,107.5],[69.3,106.5],[88.6,100.3]].map(([e,t])=>`<g class="mw-occasion-tree-light"><circle cx="${e}" cy="${t}" r="4.6" fill="url(#mw-tree-light)"/><circle cx="${e}" cy="${t}" r="1.4" fill="#fffbe6"/></g>`).join("")+'</g><circle class="mw-occasion-tree-glow" cx="60" cy="12" r="18" fill="url(#mw-tree-glow)"/><path class="mw-occasion-tree-star" fill="url(#mw-tree-gold)" d="M60 3L62.23 8.93L68.56 9.22L63.61 13.17L65.29 19.28L60 15.8L54.71 19.28L56.39 13.17L51.44 9.22L57.77 8.93Z"/></svg>'),H(e,t(34),["flake","flake","star"],{size:[6,16],drift:[-4,6],time:[4.4,6.4],spread:2.4,spin:.6})},newyear:(e,t)=>function(e,t,n){const o=["#ffd166","#fff1c1","#ff6b6b","#4cc9f0","#c4a7ff"];for(let a=0;a<t;a++){const t=D(14,86).toFixed(1)+"vw",c=D(14,46).toFixed(1)+"vh",r=.55*a+D(0,.2),s=(r+.65).toFixed(2)+"s";I(e,"trail","launching",{"--mw-occasion-x":t,"--mw-occasion-y":c,"--mw-occasion-size":"6px","--mw-occasion-delay":r.toFixed(2)+"s"}),I(e,"flash","flashing",{"--mw-occasion-x":t,"--mw-occasion-y":c,"--mw-occasion-size":"26vmin","--mw-occasion-delay":s});for(let r=0;r<n;r++){const i=r%3==0,l=360/n*r+D(-5,5),d=i?D(6,10):D(14,22),m=l*Math.PI/180;I(e,"spark","exploding",{"--mw-occasion-x":t,"--mw-occasion-y":c,"--mw-occasion-dx":(Math.cos(m)*d).toFixed(2)+"vmin","--mw-occasion-dy":(Math.sin(m)*d).toFixed(2)+"vmin","--mw-occasion-angle":(l+90).toFixed(0)+"deg","--mw-occasion-size":i?"12px":"20px","--mw-occasion-tint":o[a%o.length],"--mw-occasion-time":D(1.3,1.8).toFixed(2)+"s","--mw-occasion-delay":s})}}}(e,Math.min(6,Math.max(3,t(5))),Math.max(18,t(36))),spring:(t,n)=>H(t,n(44),["petal"],e),easter:(t,n)=>H(t,n(44),["petal"],e),summer:(e,t)=>{const n=document.createElement("div");n.className="mw-occasion-sun",e.appendChild(n),function(e,t){for(let n=0;n<t;n++)I(e,"glint","twinkling",{"--mw-occasion-x":D(35,96).toFixed(1)+"vw","--mw-occasion-y":D(4,62).toFixed(1)+"vh","--mw-occasion-size":D(14,30).toFixed(1)+"px","--mw-occasion-time":D(1.2,2.2).toFixed(2)+"s","--mw-occasion-delay":D(.4,2.8).toFixed(2)+"s","--mw-occasion-spin":T(.1,.25).toFixed(2)+"turn"})}(e,t(18))},autumn:(e,t)=>H(e,t(32),["maple","oak","birch"],{size:[30,46],drift:[-8,22],time:[3,4.2],spread:1.4,spin:1.5,flip:"soft"}),football:(e,t)=>{O(e,t(80),["strip"],{size:[12,20],spin:5,flip:!0}),O(e,3,["ball"],{size:[34,46],spin:3})},birthday:(e,t)=>{O(e,t(90),["confetti"],{size:[10,15],spin:5,flip:!0}),H(e,Math.max(4,t(8)),["balloon"],{size:[44,62],drift:[-6,6],time:[3.8,4.8],spread:.8,rising:!0})},anniversary:(e,t)=>O(e,t(90),["confetti","confetti","glint"],{size:[10,16],spin:5,flip:!0})}})()[e](t,e=>Math.max(1,Math.round(e*n))),document.body.appendChild(t);const o=["pointerdown","keydown","wheel","touchmove"];function a(){t.remove(),o.forEach(e=>window.removeEventListener(e,c))}function c(){t.classList.add("mw-occasion-leaving"),setTimeout(a,350)}o.forEach(e=>window.addEventListener(e,c,{once:!0,passive:!0})),t.addEventListener("animationend",e=>{e.target===t&&a()})}(a))}(),function(){const e=()=>E(document.getElementById(location.hash.slice(1)));e(),window.addEventListener("hashchange",e)}(),function(){if(!C())return;const e=document.querySelector('meta[name="viewport"]'),t=e&&e.getAttribute("content")||"";if(/viewport-fit\s*=\s*cover/.test(t))return;console.warn('MaverickWave: <meta name="viewport"> is missing viewport-fit=cover. env(safe-area-inset-*) resolves to 0 without it, so notched phones lose the gutter, the nav panel and the modal padding that expect it.')}())}function s(n){const a=n||document;!function(e){e.querySelectorAll(".mw-gallery").forEach(e=>{if(!o(e))return;const t=e.closest(".mw-gallery-container")||e.parentElement;t&&function(e,t){const n=t.querySelector(".mw-gallery-track");if(!n||!n.children.length)return;const o=n.children,a=e.querySelector(".mw-gallery-dots"),c=e.querySelector(".mw-gallery-desc"),r=t.querySelector(".mw-gallery-navi-prev"),s=t.querySelector(".mw-gallery-navi-next");let i=0;function l(e){const t=o.length;i=(e+t)%t,n.style.transform=`translateX(-${100*i}%)`,a&&a.querySelectorAll(".mw-gallery-dot").forEach((e,t)=>{e.classList.toggle("mw-active",t===i)}),c&&(c.textContent=o[i].dataset.desc||"")}if(a)for(let e=0;e<o.length;e++){const t=document.createElement("button");t.type="button",t.className="mw-gallery-dot"+(0===e?" mw-active":""),t.setAttribute("aria-label","Go to slide "+(e+1)),t.addEventListener("click",()=>l(e)),a.appendChild(t)}r&&r.addEventListener("click",()=>l(i-1));s&&s.addEventListener("click",()=>l(i+1));let d=0,m=0,u=!1;n.addEventListener("touchstart",e=>{u=1===e.touches.length,u&&(d=e.touches[0].clientX,m=e.touches[0].clientY)},{passive:!0}),n.addEventListener("touchcancel",()=>u=!1),n.addEventListener("touchend",e=>{if(!u)return;u=!1;const t=e.changedTouches[0].clientX-d,n=e.changedTouches[0].clientY-m;Math.abs(t)<50||Math.abs(t)<=Math.abs(n)||l(i+(t<0?1:-1))},{passive:!0}),l(0)}(t,e)})}(a),function(e){e.querySelectorAll(".mw-portrait-gallery").forEach(e=>{o(e)&&function(e){const t=e.querySelector(".mw-portrait-gallery-track");if(!t)return;const n=Array.from(t.children);if(n.forEach(e=>{const t=e.querySelector(":scope > img, :scope > video");t&&function(e,t){if(e.classList.contains("mw-fit-cover"))return;const n="VIDEO"===t.tagName,o=e.classList.contains("mw-fit-contain");function a(){if(!o){const n=u(t);if(!n||!e.clientHeight)return;const o=n/(e.clientWidth/e.clientHeight);e.classList.toggle("mw-fit-contain",Math.max(o,1/o)>=1.4)}const a=n?t.poster:t.currentSrc||t.src;if(e.classList.contains("mw-fit-contain")&&a&&!e.querySelector(":scope > .mw-fit-backdrop")){const t=document.createElement("img");t.className="mw-fit-backdrop",t.alt="",t.src=a,e.prepend(t)}}new ResizeObserver(a).observe(e),t.addEventListener(n?"loadedmetadata":"load",a)}(e,t)}),n.length<2)return;const o=m("mw-overlay-btn mw-portrait-gallery-prev","Previous image","prev"),a=m("mw-overlay-btn mw-portrait-gallery-next","Next image","next"),c=document.createElement("div");c.className="mw-portrait-gallery-dots";const r=()=>n[1].offsetLeft-n[0].offsetLeft;n.forEach((e,n)=>{const o=document.createElement("button");o.type="button",o.className="mw-portrait-gallery-dot",o.setAttribute("aria-label","Go to image "+(n+1)),o.addEventListener("click",()=>t.scrollTo({left:n*r()})),c.appendChild(o)}),e.append(o,a,c),f(t,r,o,a,e=>{Array.from(c.children).forEach((t,n)=>{t.classList.toggle("mw-active",n===e)})})()}(e)})}(a),function(e){e.querySelectorAll(".mw-mosaic-item").forEach(e=>{if(!o(e))return;const t=e.querySelector("img"),n=["mw-mosaic-wide","mw-mosaic-tall","mw-mosaic-big"].some(t=>e.classList.contains(t));function a(){const n=u(t);return n>=1.3?e.classList.add("mw-mosaic-wide"):n&&n<=.8&&e.classList.add("mw-mosaic-tall"),n>0}t&&!n&&(a()||t.addEventListener("load",a,{once:!0}))})}(a),function(e){e.querySelectorAll(".mw-story-reel").forEach(e=>{o(e)&&function(e){const t=Array.from(e.querySelectorAll(":scope > img, :scope > video")),n=m("mw-story-reel-prev","Previous","prev"),o=m("mw-story-reel-next","Next","next"),a=e.querySelector(".mw-story-reel-pause input"),c=e.querySelector('[popovertargetaction="hide"]');c&&(c.autofocus=!0);e.append(n,o);const r=()=>e.getAnimations({subtree:!0}).filter(e=>e instanceof CSSAnimation);function s(){const e=r().find(e=>"mw-story-reel-fill"===e.animationName);if(!e)return null;const n=t.filter(e=>"none"!==getComputedStyle(e).display).length,o=e.effect.getTiming().duration/n;return{count:n,length:o,index:Math.floor(e.currentTime/o)}}function i(e){t.forEach(t=>{"VIDEO"===t.tagName&&t!==e&&t.pause()}),e&&"VIDEO"===e.tagName&&(e.currentTime=0,a&&a.checked||e.play().catch(()=>{}))}function l(n){const o=s();if(!o)return;const a=Math.max(o.index+n,0);if(a>=o.count)return void e.hidePopover();const c=a*o.length+20;r().forEach(e=>e.currentTime=c),i(t[a])}function d(n){const o=e.matches(":popover-open")&&s(),c=o&&t[o.index];c&&"VIDEO"===c.tagName&&(n||a&&a.checked?c.pause():c.play().catch(()=>{}))}let u=0;function f(e){return t=>{t.detail&&t.timeStamp-u>250||l(e)}}e.addEventListener("pointerdown",e=>{u=e.timeStamp,d(!0)}),["pointerup","pointercancel"].forEach(t=>{e.addEventListener(t,()=>d(!1))}),n.addEventListener("click",f(-1)),o.addEventListener("click",f(1)),e.addEventListener("animationend",n=>{if("mw-story-reel-fill"===n.animationName)e.hidePopover();else if("mw-story-reel-frame"===n.animationName){const e=s();e&&t[e.index]===n.target&&i(n.target)}}),e.addEventListener("toggle",e=>{i("open"===e.newState?t[0]:null)}),a&&a.addEventListener("change",()=>d(!1));e.addEventListener("keydown",e=>{"ArrowLeft"===e.key?l(-1):"ArrowRight"===e.key&&l(1)})}(e)})}(a),function(t){t.querySelectorAll(".mw-deck").forEach(t=>{if(o(t))try{!function(t){const n=t.querySelector(".mw-deck-slides");if(!n)return;const o=Array.from(n.children).filter(e=>e.classList.contains("mw-slide"));if(!o.length)return;const a=!t.classList.contains("mw-deck-portrait"),c=t===document.body,r=t.querySelector(".mw-deck-counter"),s=t.querySelector(".mw-deck-segments"),i=e=>String(e).padStart(2,"0"),l=Number.parseInt(location.hash.slice(1),10)-1,d=c&&l>0&&l<o.length?l:0;let m=d,u=-1,f=!1;s&&s.replaceChildren(...o.map(()=>document.createElement("span")));function w(n){if(!(n<0||n>=o.length)&&(m=n,n!==u)){if(u=n,o.forEach((t,o)=>e(t,o===n)),r){const e=document.createElement("span");e.className="mw-deck-counter-current",e.textContent=i(n+1),r.replaceChildren(e," / "+i(o.length))}if(t.style.setProperty("--mw-deck-progress",String((n+1)/o.length)),s&&Array.from(s.children).forEach((e,t)=>e.classList.toggle("mw-done",t<=n)),c)try{history.replaceState(history.state,"","#"+(n+1))}catch{}}}const p=e=>a?e.offsetLeft:e.offsetTop;function h(e,t=!0){const c=o[Math.max(0,Math.min(o.length-1,e))],r=q();n.scrollTo({left:a?c.offsetLeft:0,top:a?0:c.offsetTop,behavior:t&&!r?"smooth":"auto"})}function g(){const e=a?n.scrollLeft:n.scrollTop;let t=0;return o.forEach((n,a)=>{Math.abs(p(n)-e)<Math.abs(p(o[t])-e)&&(t=a)}),t}let y=!1;n.addEventListener("scroll",()=>{f&&!y&&(y=!0,requestAnimationFrame(()=>{y=!1,w(g())}))},{passive:!0});const v=()=>document.fullscreenElement||document.webkitFullscreenElement,b=document.fullscreenEnabled||document.webkitFullscreenEnabled,E=c?document.documentElement:t;function L(){if(b)try{const e=v()?(document.exitFullscreen||document.webkitExitFullscreen).call(document):(E.requestFullscreen||E.webkitRequestFullscreen).call(E);e&&e.catch&&e.catch(()=>{})}catch{}}b||t.querySelectorAll("[data-deck-fullscreen]").forEach(e=>{e.hidden=!0});const x=()=>h(m,!1);if(["fullscreenchange","webkitfullscreenchange"].forEach(e=>{document.addEventListener(e,()=>{t.classList.toggle("mw-deck-fullscreen",Boolean(v())),x()})}),window.addEventListener("resize",x),t.addEventListener("click",e=>{if(!(e.target instanceof Element))return;const t=e.target.closest("[data-deck-goto], [data-deck-next], [data-deck-prev], [data-deck-fullscreen]");if(t)if(t.hasAttribute("data-deck-goto")){const e=o.findIndex(e=>e.id===t.dataset.deckGoto);e>=0&&h(e)}else t.hasAttribute("data-deck-next")?h(m+1):t.hasAttribute("data-deck-prev")?h(m-1):L()}),(c?document:t).addEventListener("keydown",e=>{if(e.defaultPrevented||e.isComposing)return;if(e.metaKey||e.ctrlKey||e.altKey)return;const t=e.target instanceof Element?e.target:document.body;if(t.closest("input, textarea, select, [contenteditable]"))return;if(" "===e.key&&t.closest("button, a, summary")&&t.matches(":focus-visible"))return;const n={ArrowRight:1,ArrowDown:1,PageDown:1," ":e.shiftKey?-1:1,ArrowLeft:-1,ArrowUp:-1,PageUp:-1};if(e.key in n)h(m+n[e.key]);else if("Home"===e.key)h(0);else if("End"===e.key)h(o.length-1);else{if("f"!==e.key&&"F"!==e.key)return;L()}e.preventDefault()}),c&&window.self===window.top){let e=!1;document.addEventListener("wheel",t=>{t.ctrlKey||!a&&n.contains(t.target)||Math.abs(t.deltaX)>Math.abs(t.deltaY)||(t.preventDefault(),e||Math.abs(t.deltaY)<8||(e=!0,h(m+Math.sign(t.deltaY)),setTimeout(()=>e=!1,700)))},{passive:!1})}t.classList.add("mw-deck-ready"),h(d,!1),requestAnimationFrame(()=>requestAnimationFrame(()=>{f=!0,w(d)}))}(t)}catch(e){console.error("MaverickWave: deck not initialised",e)}})}(a),function(n){n.querySelectorAll("button.mw-device").forEach(n=>{if(!o(n))return;const a=n.querySelector(".mw-device-screen"),c=a&&a.querySelector(":scope > img");if(!c)return;let r=0;const s=()=>{clearTimeout(r),e(n,!1),n.setAttribute("aria-pressed","false")};n.setAttribute("aria-pressed","false"),n.addEventListener("click",()=>{if(t(n))return s();c.offsetHeight<=a.clientHeight||(e(n,!0),n.setAttribute("aria-pressed","true"))}),c.addEventListener("transitionend",e=>{"translate"===e.propertyName&&t(n)&&(r=setTimeout(s,1200))})})}(a),function(e){const t=h();e.querySelectorAll(".mw-app").forEach(e=>{if(!o(e))return;const n=v(e,"collapsed"),a=v(e,"aside");null===n&&null===a||(e.classList.add("mw-app-restoring"),null!==n&&e.classList.toggle("mw-app-collapsed","1"===n),null!==a&&t.aside.matches&&e.classList.toggle("mw-app-aside-open","1"===a),requestAnimationFrame(()=>requestAnimationFrame(()=>e.classList.remove("mw-app-restoring")))),y(e,t)})}(a),function(n){const a=n.querySelectorAll(".mw-accordion-header");a.forEach(n=>{if(!o(n))return;const a="BUTTON"===n.tagName;a&&n.setAttribute("aria-expanded",String(t(n))),n.addEventListener("click",function(){const n=!t(this);e(this,n),e(this.nextElementSibling,n),a&&this.setAttribute("aria-expanded",String(n))})})}(a),function(e){const t=Array.from(e.querySelectorAll(".mw-progress-fill")).filter(o);if(!t.length)return;const n=CSS.supports("animation-timeline","view()"),a=e=>e.dataset.value?e.dataset.value+"%":e.style.width,c=[];if(t.forEach(e=>{const t=a(e);t&&(e.style.setProperty("--mw-progress-value",t),n?e.classList.add("mw-progress-driven"):c.push(e))}),n)return;const r=new IntersectionObserver((e,t)=>{e.forEach(e=>{e.isIntersecting&&(e.target.style.width=a(e.target),t.unobserve(e.target))})},{root:null,threshold:.2});c.forEach(e=>r.observe(e))}(a),function(e){if(CSS.supports("animation-timeline","view()"))return;if(q())return;const t=Array.from(e.querySelectorAll(".mw-reveal, .mw-reveal-stagger > *")).filter(o);if(!t.length)return;const n=e=>{const t=e.parentElement;if(!t||!t.classList.contains("mw-reveal-stagger"))return 0;const n=getComputedStyle(t).gridTemplateColumns.split(" ").length;return[...t.children].indexOf(e)%n*90},a=new IntersectionObserver((e,t)=>{e.forEach(e=>{e.isIntersecting&&(t.unobserve(e.target),e.target.style.animationDelay=n(e.target)+"ms",e.target.classList.replace("mw-reveal-hidden","mw-reveal-run"))})},{threshold:.15});t.forEach(e=>{e.getBoundingClientRect().top<window.innerHeight||(e.classList.add("mw-reveal-hidden"),a.observe(e))})}(a),function(e){e.querySelectorAll(".mw-tabs-nav").forEach(e=>{if(!o(e))return;const t=Array.from(e.querySelectorAll(".mw-tabs-nav-item"));if(!t.length)return;const n=!!e.closest(".mw-tabs-vertical");e.setAttribute("role","tablist"),n&&e.setAttribute("aria-orientation","vertical"),t.forEach((e,o)=>{const a=k(e);e.setAttribute("role","tab"),e.id||(e.id=(a?a.id:"mw-tab-"+o)+"-tab"),a&&(e.setAttribute("aria-controls",a.id),a.setAttribute("role","tabpanel"),a.setAttribute("aria-labelledby",e.id)),S(e),e.addEventListener("click",()=>A(t,e)),e.addEventListener("keydown",e=>{const a=function(e,t,n,o){const a=t?"ArrowUp":"ArrowLeft",c=t?"ArrowDown":"ArrowRight";return e.key===a?(o-1+n)%n:e.key===c?(o+1)%n:"Home"===e.key?0:"End"===e.key?n-1:null}(e,n,t.length,o);null!==a&&(e.preventDefault(),A(t,t[a]),t[a].focus())})}),x(e);const a=new ResizeObserver(()=>x(e));a.observe(e),t.forEach(e=>a.observe(e))})}(a),function(e){const t=e.querySelectorAll(".mw-alert-close");t.forEach(e=>{o(e)&&e.addEventListener("click",function(){const e=this.closest(".mw-alert");e&&(e.classList.add("mw-alert-closing"),setTimeout(()=>{e.classList.add("mw-alert-closed")},300))})})}(a),function(e){e.querySelectorAll(".mw-announcement-close").forEach(e=>{o(e)&&e.addEventListener("click",()=>{const t=e.closest(".mw-announcement");t&&(t.hidden=!0)})})}(a),function(e){e.querySelectorAll(".mw-slider-container").forEach(e=>{if(!o(e))return;const t=e.querySelector(".mw-slider"),n=e.querySelector(".mw-slider-value");if(!t||!n)return;const a=()=>{const e=Number(t.value),o=Number(t.max)||100,a=Math.round(e/o*100);t.style.setProperty("--value",a+"%"),n.classList.contains("mw-slider-numeric")?n.setAttribute("data-value",e):n.setAttribute("data-value",a)};t.addEventListener("input",a),a()})}(a),function(t){const n=t.querySelectorAll(".mw-image-slider");n.forEach(t=>{if(!o(t))return;const n=t.querySelectorAll(".mw-image-slider-overlay-image"),a=t.querySelectorAll("button[data-index]");if(!n.length||!a.length)return;let c=0;function r(){n.forEach(t=>{e(t,parseInt(t.dataset.index)===c)}),a.forEach(t=>{e(t,parseInt(t.dataset.index)===c)})}function s(e){c=e,r()}a.forEach(e=>{e.addEventListener("click",()=>{s(parseInt(e.dataset.index))})}),r()})}(a),function(e){e.querySelectorAll(".mw-compare-range").forEach(e=>{if(!o(e))return;const t=e.closest(".mw-compare");if(!t)return;const n=()=>{const n=Number(e.min)||0,o=Number(e.max)||100,a=(e.valueAsNumber-n)/(o-n)*100;t.style.setProperty("--mw-compare-position",a+"%")};e.addEventListener("input",n),n()})}(a),function(e){const t=e.querySelectorAll(".mw-item-list-checkbox, .mw-item-list-checkbox-scroll");t.forEach(e=>{if(!o(e))return;e.querySelectorAll("li").forEach(e=>{const t=e.querySelector('input[type="checkbox"]'),n=e.querySelector(".mw-checkbox");t&&n&&(t.checked&&e.classList.add("mw-selected"),e.addEventListener("click",function(e){e.target!==t&&e.target.closest(".mw-checkbox")!==n&&l(this)}),t.addEventListener("change",function(){const e=this.closest("li");this.checked?e.classList.add("mw-selected"):e.classList.remove("mw-selected"),e.dispatchEvent(new CustomEvent("checkboxToggle",{detail:{checked:this.checked,item:e}}))}),n.addEventListener("click",function(e){setTimeout(()=>{const e=this.closest("li");this.querySelector('input[type="checkbox"]').checked?e.classList.add("mw-selected"):e.classList.remove("mw-selected")},0)}))})})}(a),function(e){e.querySelectorAll(".mw-kanban").forEach(e=>{o(e)&&function(e){const t=Array.from(e.querySelectorAll(".mw-kanban-column")),n=e.querySelector(".mw-kanban-composer"),o=e.querySelector(".mw-kanban-card-template"),a=e.dataset.kanbanPrefix||"MW",c=n.querySelector(".mw-kanban-composer-title"),r=n.querySelector(".mw-kanban-composer-text"),s=n.querySelector(".mw-kanban-composer-priority"),i=n.querySelector(".mw-kanban-composer-assignee");let l=null;function d(){t.forEach(function(e,n){const o=e.querySelectorAll(".mw-kanban-card"),a=e.querySelector(".mw-kanban-count");a&&(a.textContent=o.length),e.querySelectorAll("[data-kanban-move]").forEach(function(e){const o=n+parseInt(e.dataset.kanbanMove,10);e.disabled=o<0||o>=t.length})})}function m(){const t=Array.from(e.querySelectorAll(".mw-kanban-card-id")).map(function(e){return parseInt(e.textContent.split("-").pop(),10)||0});return a+"-"+(Math.max(0,...t)+1)}function u(e){const t=e.querySelector(".mw-card-ribbon");if(!t)return"";const n=Array.from(t.classList).find(function(e){return 0===e.indexOf("mw-card-addon-")});return n?n.replace("mw-card-addon-",""):""}function f(e,t){const n=e.querySelector(".mw-card-ribbon");if(n&&n.remove(),!t||!t.value)return;const o=document.createElement("div");o.className="mw-card-ribbon mw-card-addon-"+t.value,o.textContent=t.textContent,e.prepend(o)}function w(e){const t=e.querySelector(".mw-avatar-initials");return t?t.textContent.trim():""}function p(e,t){const n=e.querySelector(t);return n?n.textContent.replace(/\s+/g," ").trim():""}function h(e,t){const n=e.querySelector(".mw-kanban-card-actions"),o=n.querySelector(".mw-avatar");if(!t)return void(o&&o.remove());const a=o||document.createElement("div");a.className="mw-avatar mw-avatar-xs mw-avatar-initials",a.textContent=t,o||n.prepend(a)}function g(e,t){y(),l=t||null,c.value=t?p(t,".mw-kanban-card-title"):"",r.value=t?p(t,".mw-kanban-card-text"):"",s.value=t?u(t):"",i.value=t?w(t):"",t?(t.classList.add("mw-kanban-editing"),t.before(n)):e.querySelector(".mw-kanban-column-body").prepend(n),n.classList.add("mw-active"),c.focus()}function y(){n.classList.remove("mw-active"),l&&l.classList.remove("mw-kanban-editing"),l=null}function v(){const e=c.value.trim();if(!e)return void c.focus();const t=l||o.content.firstElementChild.cloneNode(!0);if(t.querySelector(".mw-kanban-card-title").textContent=e,t.querySelector(".mw-kanban-card-text").textContent=r.value.trim(),f(t,s.selectedOptions[0]),h(t,i.value),!l){const e=m();t.classList.add("mw-kanban-card-in"),t.querySelector(".mw-kanban-card-id").textContent=e,t.querySelectorAll("[aria-label]").forEach(function(t){t.setAttribute("aria-label",t.getAttribute("aria-label").replace(/[A-Z]+-\d+/,e))}),n.before(t)}y(),d()}const b=["mw-kanban-card-moved-forward","mw-kanban-card-moved-back"];function E(e,n){const o=e.closest(".mw-kanban-column"),a=t[t.indexOf(o)+n];a&&(a.querySelector(".mw-kanban-column-body").appendChild(e),e.classList.remove.apply(e.classList,b),e.offsetWidth,e.classList.add(n>0?b[0]:b[1]),d())}e.addEventListener("click",function(e){const t=e.target.closest("[data-kanban-move]");if(t){if(E(t.closest(".mw-kanban-card"),parseInt(t.dataset.kanbanMove,10)),t.disabled){const e=t.parentElement.querySelector("[data-kanban-move]:not(:disabled)");e&&e.focus()}return}const n=e.target.closest(".mw-kanban-edit");if(n){const e=n.closest(".mw-kanban-card");return void g(e.closest(".mw-kanban-column"),e)}const o=e.target.closest(".mw-kanban-delete");if(o){const e=o.closest(".mw-kanban-card");return e===l&&y(),e.remove(),void d()}const a=e.target.closest(".mw-kanban-add");a?g(a.closest(".mw-kanban-column"),null):e.target.closest(".mw-kanban-composer-cancel")&&y()}),n.addEventListener("submit",function(e){e.preventDefault(),v()}),n.addEventListener("keydown",function(e){"Escape"===e.key&&y()}),d()}(e)})}(a),function(e){e.querySelectorAll("[data-calendar]").forEach(e=>{o(e)&&function(e){const t=e.querySelector(".mw-calendar-grid"),n=e.querySelector(".mw-calendar-title");if(!t)return;const o="week"===e.dataset.calendar,a=function(e){if(!e)return{};try{return JSON.parse(e)}catch(e){return{}}}(e.dataset.calendarMarkers),c=e.dataset.calendarLocale||document.documentElement.lang||void 0,r=new Date;r.setHours(0,0,0,0);let s=e.dataset.calendarDate?new Date(e.dataset.calendarDate+"T00:00:00"):new Date(r),i=e.dataset.calendarSelected||"";function l(e){const t=new Date(e);return t.setDate(t.getDate()-(t.getDay()+6)%7),t}function d(e){return e.getFullYear()+"-"+String(e.getMonth()+1).padStart(2,"0")+"-"+String(e.getDate()).padStart(2,"0")}function m(e){const t=l(e);t.setDate(t.getDate()+3);const n=l(new Date(t.getFullYear(),0,4));return n.setDate(n.getDate()+3),1+Math.round((t-n)/6048e5)}function u(){if(!o)return s.toLocaleDateString(c,{month:"long",year:"numeric"});const e=l(s),t=new Date(e);t.setDate(t.getDate()+6);const n=e.toLocaleDateString(c,{day:"numeric",month:e.getMonth()===t.getMonth()?void 0:"short"}),a=t.toLocaleDateString(c,{day:"numeric",month:"short",year:"numeric"});return"Week "+m(e)+" · "+n+" - "+a}function f(e){const t=e.getDay();return 0===t||6===t}function w(){const e=l(new Date);for(let n=0;n<7;n++){const n=document.createElement("div");n.className="mw-calendar-weekday",f(e)&&n.classList.add("mw-calendar-weekend"),n.setAttribute("aria-hidden","true"),n.textContent=e.toLocaleDateString(c,{weekday:"short"}),t.appendChild(n),e.setDate(e.getDate()+1)}}function p(e,t){const n=d(e),s=document.createElement("button");s.type="button",s.className="mw-calendar-day",s.tabIndex=-1,s.dataset.calendarDay=n,s.setAttribute("aria-pressed",n===i?"true":"false"),s.setAttribute("aria-label",e.toLocaleDateString(c,{weekday:"long",day:"numeric",month:"long",year:"numeric"})),f(e)&&s.classList.add("mw-calendar-weekend"),o||e.getMonth()===t||s.classList.add("mw-calendar-adjacent"),n===d(r)&&(s.classList.add("mw-calendar-today"),s.setAttribute("aria-current","date")),n===i&&s.classList.add("mw-selected");const l=document.createElement("span");l.className="mw-calendar-date",l.textContent=e.getDate(),s.appendChild(l);const m=[].concat(a[n]||[]);if(m.length){const e=document.createElement("span");e.className="mw-calendar-dots",m.forEach(function(t){const n=document.createElement("span");n.className=t?"mw-calendar-dot mw-calendar-dot-"+t:"mw-calendar-dot",e.appendChild(n)}),s.appendChild(e)}return s}function h(){const e=s.getMonth(),a=o?7:42,c=l(o?s:new Date(s.getFullYear(),e,1));t.innerHTML="",w();for(let n=0;n<a;n++)t.appendChild(p(c,e)),c.setDate(c.getDate()+1);n&&(n.textContent=u()),g()}function g(){const e=t.querySelector(".mw-selected")||t.querySelector(".mw-calendar-today")||t.querySelector(".mw-calendar-day:not(.mw-calendar-adjacent)")||t.querySelector(".mw-calendar-day");e&&(e.tabIndex=0)}function y(n){i=n===i?"":n,t.querySelectorAll(".mw-calendar-day").forEach(function(e){const t=e.dataset.calendarDay===i;e.classList.toggle("mw-selected",t),e.setAttribute("aria-pressed",t?"true":"false")}),e.dispatchEvent(new CustomEvent("mw-calendar-select",{bubbles:!0,detail:{date:i}}))}function v(e){o?s.setDate(s.getDate()+7*e):s=new Date(s.getFullYear(),s.getMonth()+e,1),h()}function b(e){const n=d(e);let o=t.querySelector('[data-calendar-day="'+n+'"]');o||(s=new Date(e),h(),o=t.querySelector('[data-calendar-day="'+n+'"]')),o&&(t.querySelectorAll(".mw-calendar-day").forEach(function(e){e.tabIndex=-1}),o.tabIndex=0,o.focus())}e.addEventListener("click",function(e){const t=e.target.closest("[data-calendar-nav]");if(t)return void v(parseInt(t.dataset.calendarNav,10));const n=e.target.closest(".mw-calendar-day");n&&!n.disabled&&y(n.dataset.calendarDay)}),t.addEventListener("keydown",function(e){const t={ArrowLeft:-1,ArrowRight:1,ArrowUp:-7,ArrowDown:7}[e.key];if(!t)return;const n=e.target.closest(".mw-calendar-day");if(!n)return;e.preventDefault();const o=new Date(n.dataset.calendarDay+"T00:00:00");o.setDate(o.getDate()+t),b(o)}),h()}(e)})}(a),function(t){t.querySelectorAll(".mw-lang-switch").forEach(t=>{if(!o(t))return;const n=t.querySelectorAll("[data-mw-lang]"),a=t.querySelector("summary"),c=t.querySelector("summary .mw-flag"),r=t.querySelector("summary .mw-lang-switch-code");n.forEach(o=>{o.addEventListener("click",function(){const s=o.dataset.mwLang,i=o.querySelector(".mw-lang-switch-name"),l=i?i.textContent.trim():s;n.forEach(t=>{e(t,t===o),t===o?t.setAttribute("aria-current","true"):t.removeAttribute("aria-current")}),r&&(r.textContent=s);const d=o.querySelector(".mw-flag");c&&d&&(c.className=d.className),a&&a.setAttribute("aria-label","Language: "+l),t.dispatchEvent(new CustomEvent("mw-language-change",{bubbles:!0,detail:{lang:s,name:l}}))})})})}(a)}function i(){try{r()}catch(e){console.error("MaverickWave: page behaviour not initialised",e)}s(document)}function l(e){const t=e.querySelector('input[type="checkbox"]');if(!t)return;const n=t.checked;t.checked=!n,t.checked?e.classList.add("mw-selected"):e.classList.remove("mw-selected"),e.dispatchEvent(new CustomEvent("checkboxToggle",{detail:{checked:t.checked,item:e}}))}window.MaverickWave={init:function(e){r(),s(e)}},window.mwToggleCheckbox=l;const d={close:"M6 6l12 12M18 6L6 18",prev:"M15 5l-7 7 7 7",next:"M9 5l7 7-7 7"};function m(e,t,n){const o=document.createElement("button");return o.type="button",o.className=e,o.setAttribute("aria-label",t),o.innerHTML='<svg viewBox="0 0 24 24" aria-hidden="true"><path d="'+d[n]+'"/></svg>',o}function u(e){const t=e.naturalWidth||e.videoWidth||+e.getAttribute("width"),n=e.naturalHeight||e.videoHeight||+e.getAttribute("height");return t&&n?t/n:0}function f(e,t,n,o,a){function c(){const c=e.scrollWidth-e.clientWidth-2,r=e.children.length-1;a(e.scrollLeft>=c?r:Math.round(e.scrollLeft/t())),n.disabled=e.scrollLeft<=2,o.disabled=e.scrollLeft>=c}return n.addEventListener("click",()=>e.scrollBy({left:-t()})),o.addEventListener("click",()=>e.scrollBy({left:t()})),e.addEventListener("scroll",c,{passive:!0}),c}function w(e){const t=document.createElement("figure");t.className="mw-lightbox-slide";const n=document.createElement("img");n.dataset.src=e.href,n.alt=e.querySelector("img").alt,n.decoding="async",t.appendChild(n);const o=e.closest("figure"),a=o&&o.querySelector("figcaption");if(a){const e=document.createElement("figcaption");a.childNodes.forEach(t=>e.append(t.cloneNode(!0))),t.appendChild(e)}return t}function p(){const e=Array.from(document.querySelectorAll(".color-swatch")),t=e.map(e=>function(e){if(!e||"transparent"===e)return"#000000";const t=e=>Math.max(0,Math.min(255,Math.round(e))).toString(16).padStart(2,"0"),n=e.match(/color\(srgb\s+([\d.]+)\s+([\d.]+)\s+([\d.]+)(?:\s*\/\s*([\d.]+))?\)/);if(n){const e="#"+t(255*n[1])+t(255*n[2])+t(255*n[3]),o=void 0===n[4]?1:parseFloat(n[4]);return(o<1?`${e} / ${o}`:e).toUpperCase()}const o=e.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*([\d.]+))?\)/);if(!o)return e;const a="#"+t(o[1])+t(o[2])+t(o[3]),c=void 0===o[4]?1:parseFloat(o[4]);return(c<1?`${a} / ${c}`:a).toUpperCase()}(window.getComputedStyle(e).backgroundColor));e.forEach((e,n)=>{const o=e.parentElement.querySelector(".mw-text-muted");o&&(o.textContent=t[n])})}function h(){return{sidebar:window.matchMedia("(width >= 992px)"),aside:window.matchMedia("(width >= 1200px)")}}function g(e,t){return!t.sidebar.matches&&e.classList.contains("mw-app-sidebar-open")?e.querySelector(".mw-app-sidebar"):!t.aside.matches&&e.classList.contains("mw-app-aside-open")?e.querySelector(".mw-app-aside"):null}function y(e,t){const n=g(e,t);[...e.children].forEach(e=>{e.inert=Boolean(n)&&e!==n});[["[data-mw-app-toggle]",".mw-app-sidebar",t.sidebar.matches?!e.classList.contains("mw-app-collapsed"):e.classList.contains("mw-app-sidebar-open")],["[data-mw-app-aside-toggle]",".mw-app-aside",e.classList.contains("mw-app-aside-open")]].forEach(([t,n,o])=>{const a=e.querySelector(n);e.querySelectorAll(t).forEach(e=>{e.setAttribute("aria-expanded",String(o)),a&&a.id&&!e.hasAttribute("aria-controls")&&e.setAttribute("aria-controls",a.id)})})}function v(e,t,n){const o=e.dataset.mwAppPersist;return o?void 0===n?a.get(`mw-app:${o}:${t}`):(a.set(`mw-app:${o}:${t}`,n?"1":"0"),null):null}function b(){const e=parseFloat(getComputedStyle(document.documentElement).scrollPaddingTop);return Number.isNaN(e)?0:e}function E(e){const t=e&&e.closest(".mw-faq-item");t&&(t.open=!0)}let L=null;function x(e){const t=e.querySelector(".mw-tabs-nav-item.mw-active, .mw-tabs-nav-item.active");t?(e.style.setProperty("--mw-tabs-marker-x",t.offsetLeft+"px"),e.style.setProperty("--mw-tabs-marker-w",t.offsetWidth),e.style.setProperty("--mw-tabs-marker-y",t.offsetTop+"px"),e.style.setProperty("--mw-tabs-marker-h",t.offsetHeight),e.setAttribute("data-mw-tabs-marker","")):e.removeAttribute("data-mw-tabs-marker")}function k(e){const t=e.getAttribute("data-tab");return t?document.getElementById(t):null}function S(e){const n=t(e);e.setAttribute("aria-selected",String(n)),e.tabIndex=n?0:-1}function A(t,n){t.forEach(t=>{const o=t===n;e(t,o),e(k(t),o),S(t)});const o=n.closest(".mw-tabs-nav");o&&x(o)}function q(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches||document.documentElement.classList.contains("mw-motion-off")}function M(e,t){let n;return function(){const o=this,a=arguments;clearTimeout(n),n=setTimeout(()=>e.apply(o,a),t)}}function C(){const e=window.location.hostname;return"localhost"===e||"127.0.0.1"===e||e.includes("192.168.")}function F(e){e instanceof HTMLDialogElement&&!e.open&&e.showModal()}function D(e,t){return e+Math.random()*(t-e)}function N(e){return e[Math.floor(Math.random()*e.length)]}function T(e,t){return(Math.random()<.5?-1:1)*D(e,t)}function I(e,t,n,o){const a=document.createElement("span");a.className="mw-occasion-particle mw-occasion-"+t+" mw-occasion-"+n,Object.keys(o).forEach(e=>a.style.setProperty(e,o[e])),e.appendChild(a)}function z(){const e=parseFloat(getComputedStyle(document.documentElement).getPropertyValue("--mw-occasion-amount"));return e>0?e:1}function P(e){return"soft"===e?D(.2,.6).toFixed(2)+" "+D(0,.5).toFixed(2)+" 1":e?"1 "+D(0,1).toFixed(2)+" 0.3":"z"}function H(e,t,n,o){for(let a=0;a<t;a++)I(e,N(n),o.rising?"rising":"falling",{"--mw-occasion-x":D(-5,100).toFixed(1)+"vw","--mw-occasion-drift":D(o.drift[0],o.drift[1]).toFixed(1)+"vw","--mw-occasion-size":D(o.size[0],o.size[1]).toFixed(1)+"px","--mw-occasion-time":D(o.time[0],o.time[1]).toFixed(2)+"s","--mw-occasion-delay":D(0,o.spread).toFixed(2)+"s","--mw-occasion-sway":D(6,22).toFixed(0)+"px","--mw-occasion-sway-time":D(1.2,2.4).toFixed(2)+"s","--mw-occasion-spin":T(.3,o.spin||.3).toFixed(2)+"turn","--mw-occasion-spin-time":D(2.5,5).toFixed(2)+"s","--mw-occasion-axis":P(o.flip)})}function O(e,t,n,o){for(let a=0;a<t;a++){const t=a%2==0;I(e,N(n),"bursting",{"--mw-occasion-x":t?"-2vw":"100vw","--mw-occasion-dx":(t?1:-1)*D(8,62)+"vw","--mw-occasion-peak":D(55,92)+"vh","--mw-occasion-size":D(o.size[0],o.size[1]).toFixed(1)+"px","--mw-occasion-time":D(2.6,3.6).toFixed(2)+"s","--mw-occasion-delay":(D(0,.35)+(a%3==2?.9:0)).toFixed(2)+"s","--mw-occasion-spin":T(1.5,o.spin).toFixed(2)+"turn","--mw-occasion-spin-time":D(.8,1.6).toFixed(2)+"s","--mw-occasion-axis":P(o.flip)})}}["wheel","touchstart"].forEach(e=>{window.addEventListener(e,()=>L=null,{passive:!0})}),window.mwOpenModal=e=>F(document.getElementById(e)),window.mwCloseModal=e=>{var t;(t=document.getElementById(e))instanceof HTMLDialogElement&&t.close()},window.mwRefreshColorSwatches=p,"loading"===document.readyState?document.addEventListener("DOMContentLoaded",i):i()}();
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "maverick-wave",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.3.0",
|
|
4
4
|
"config": {
|
|
5
|
-
"version_short": "6.
|
|
5
|
+
"version_short": "6.3"
|
|
6
6
|
},
|
|
7
7
|
"description": "A lightweight, modern CSS framework for building responsive websites with elegance and speed.",
|
|
8
8
|
"main": "src/js/main.js",
|
package/src/js/main.js
CHANGED
|
@@ -94,6 +94,7 @@
|
|
|
94
94
|
initReveals(scope);
|
|
95
95
|
initTabs(scope);
|
|
96
96
|
initAlerts(scope);
|
|
97
|
+
initAnnouncements(scope);
|
|
97
98
|
initFormSliders(scope);
|
|
98
99
|
initImageSliders(scope);
|
|
99
100
|
initCompares(scope);
|
|
@@ -1993,6 +1994,16 @@
|
|
|
1993
1994
|
}
|
|
1994
1995
|
|
|
1995
1996
|
// ===== Alerts =====
|
|
1997
|
+
function initAnnouncements(root) {
|
|
1998
|
+
root.querySelectorAll('.mw-announcement-close').forEach((button) => {
|
|
1999
|
+
if (!fresh(button)) return;
|
|
2000
|
+
button.addEventListener('click', () => {
|
|
2001
|
+
const ribbon = button.closest('.mw-announcement');
|
|
2002
|
+
if (ribbon) ribbon.hidden = true;
|
|
2003
|
+
});
|
|
2004
|
+
});
|
|
2005
|
+
}
|
|
2006
|
+
|
|
1996
2007
|
function initAlerts(root) {
|
|
1997
2008
|
const alertCloseButtons = root.querySelectorAll('.mw-alert-close');
|
|
1998
2009
|
|
|
@@ -21,6 +21,15 @@
|
|
|
21
21
|
margin-top: spacing('1');
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
+
// An SVG has no glyph metrics - boxed to the title's line it sits on the title
|
|
25
|
+
&-icon:has(> :is(svg, .mw-icon)) {
|
|
26
|
+
display: flex;
|
|
27
|
+
align-items: center;
|
|
28
|
+
height: 1.3rem;
|
|
29
|
+
margin-top: 0;
|
|
30
|
+
line-height: 1;
|
|
31
|
+
}
|
|
32
|
+
|
|
24
33
|
&-content {
|
|
25
34
|
flex: 1;
|
|
26
35
|
color: var(--mw-text-color);
|
|
@@ -52,14 +52,29 @@
|
|
|
52
52
|
// notice inside a page, or a demo of the component itself. Static, it scrolls
|
|
53
53
|
// with the content and shifts no anchor offset below.
|
|
54
54
|
.mw-announcement-static {
|
|
55
|
-
|
|
55
|
+
// Relative for the close button, without a z-index lifting it over nearby menus
|
|
56
|
+
position: relative;
|
|
57
|
+
z-index: auto;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// Centred by margin, not by transform - the button's press state scales it
|
|
61
|
+
.mw-announcement > .mw-announcement-close {
|
|
62
|
+
position: absolute;
|
|
63
|
+
inset-block: 0;
|
|
64
|
+
inset-inline-end: spacing('4');
|
|
65
|
+
margin-block: auto;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// The same room on both sides, so the text stays centred
|
|
69
|
+
.mw-announcement:has(> .mw-announcement-close) .mw-announcement-content {
|
|
70
|
+
padding-inline: spacing('9');
|
|
56
71
|
}
|
|
57
72
|
|
|
58
73
|
// Anchors scrolled to under the fixed chrome would land under the ribbon too -
|
|
59
74
|
// the same reason the reset reserves the header height. Scoped with :has, so a
|
|
60
75
|
// page without a ribbon keeps the plain offset - and a static ribbon does not
|
|
61
|
-
// count, it scrolls with the content.
|
|
62
|
-
html:has(.mw-announcement:not(.mw-announcement-static)) {
|
|
76
|
+
// count, it scrolls with the content, nor does a dismissed one.
|
|
77
|
+
html:has(.mw-announcement:not(.mw-announcement-static, [hidden])) {
|
|
63
78
|
--mw-announcement-offset: var(--mw-announcement-height);
|
|
64
79
|
}
|
|
65
80
|
|
|
@@ -196,10 +196,16 @@
|
|
|
196
196
|
.mw-card-body:has(.mw-dropdown[open]),
|
|
197
197
|
.mw-table-responsive:has(.mw-dropdown[open]),
|
|
198
198
|
.mw-tile:has(.mw-dropdown[open]),
|
|
199
|
-
.mw-modal-body:has(.mw-dropdown[open])
|
|
199
|
+
.mw-modal-body:has(.mw-dropdown[open]),
|
|
200
|
+
.mw-item-list-compact:has(.mw-dropdown[open]) {
|
|
200
201
|
overflow: visible;
|
|
201
202
|
}
|
|
202
203
|
|
|
204
|
+
// A lifted card is its own stacking context - without this the menu opens under the next card
|
|
205
|
+
.mw-card:has(.mw-dropdown[open]) {
|
|
206
|
+
z-index: z-index('lift');
|
|
207
|
+
}
|
|
208
|
+
|
|
203
209
|
// The clipping caveat at the top of this file, lifted where the browser can do
|
|
204
210
|
// it. `fixed` takes the menu out of every ancestor's containing block and
|
|
205
211
|
// anchor positioning keeps it attached to the trigger, so an actions menu in a
|
|
@@ -104,6 +104,21 @@
|
|
|
104
104
|
opacity: 0.7;
|
|
105
105
|
text-align: center;
|
|
106
106
|
}
|
|
107
|
+
|
|
108
|
+
// A row of key figures above a list, where the full size would outweigh it
|
|
109
|
+
&.mw-info-sm {
|
|
110
|
+
min-width: spacing('11');
|
|
111
|
+
padding: spacing('3') spacing('4');
|
|
112
|
+
|
|
113
|
+
.mw-info-value {
|
|
114
|
+
font-size: font-size('2xl');
|
|
115
|
+
line-height: 1.2;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.mw-info-label {
|
|
119
|
+
font-size: font-size('xs');
|
|
120
|
+
}
|
|
121
|
+
}
|
|
107
122
|
}
|
|
108
123
|
}
|
|
109
124
|
|
|
@@ -46,10 +46,39 @@
|
|
|
46
46
|
// This is the same escape hatch a project needs on its own containers: one
|
|
47
47
|
// `:has(.mw-dropdown[open]) { overflow: visible }` on whatever is clipping.
|
|
48
48
|
&:has(.mw-dropdown[open]),
|
|
49
|
-
&-body:has(.mw-dropdown[open])
|
|
49
|
+
&-body:has(.mw-dropdown[open]),
|
|
50
|
+
&:has([data-tooltip]:is(:hover, :focus-visible)) {
|
|
50
51
|
overflow: visible;
|
|
51
52
|
}
|
|
52
53
|
|
|
54
|
+
// Shrinkable, or a long title pushes the actions out of the head
|
|
55
|
+
&-heading {
|
|
56
|
+
min-width: 0;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
&-title {
|
|
60
|
+
margin: spacing('0');
|
|
61
|
+
font-size: font-size('md');
|
|
62
|
+
font-weight: font-weight('bold');
|
|
63
|
+
line-height: 1.3;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
&-subtitle {
|
|
67
|
+
margin: spacing('1') spacing('0') spacing('0');
|
|
68
|
+
font-size: font-size('sm');
|
|
69
|
+
line-height: 1.35;
|
|
70
|
+
color: var(--mw-text-muted-color);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
&-actions {
|
|
74
|
+
display: flex;
|
|
75
|
+
flex-wrap: wrap;
|
|
76
|
+
align-items: center;
|
|
77
|
+
justify-content: flex-end;
|
|
78
|
+
gap: spacing('2');
|
|
79
|
+
margin-left: auto;
|
|
80
|
+
}
|
|
81
|
+
|
|
53
82
|
&-footer {
|
|
54
83
|
padding: spacing('4') spacing('5');
|
|
55
84
|
border-top: 1px solid var(--mw-border-accent);
|
|
@@ -63,6 +92,11 @@
|
|
|
63
92
|
background: var(--mw-primary-color);
|
|
64
93
|
color: var(--mw-primary-accent-text-color);
|
|
65
94
|
}
|
|
95
|
+
|
|
96
|
+
.mw-panel-subtitle {
|
|
97
|
+
color: inherit;
|
|
98
|
+
opacity: 0.8;
|
|
99
|
+
}
|
|
66
100
|
}
|
|
67
101
|
|
|
68
102
|
&-secondary {
|
|
@@ -70,6 +104,11 @@
|
|
|
70
104
|
background: var(--mw-secondary-color);
|
|
71
105
|
color: var(--mw-secondary-accent-text-color);
|
|
72
106
|
}
|
|
107
|
+
|
|
108
|
+
.mw-panel-subtitle {
|
|
109
|
+
color: inherit;
|
|
110
|
+
opacity: 0.8;
|
|
111
|
+
}
|
|
73
112
|
}
|
|
74
113
|
|
|
75
114
|
// The coloured header already owns the top-right corner. An arc drawn over it
|
|
@@ -91,4 +130,29 @@
|
|
|
91
130
|
}
|
|
92
131
|
}
|
|
93
132
|
}
|
|
133
|
+
|
|
134
|
+
// Not a capped body - it would spill its rows and lose its scroll position
|
|
135
|
+
.mw-panel:not(
|
|
136
|
+
.mw-panel-max-height-sm,
|
|
137
|
+
.mw-panel-max-height-md,
|
|
138
|
+
.mw-panel-max-height-lg,
|
|
139
|
+
.mw-panel-scrollable
|
|
140
|
+
)
|
|
141
|
+
> .mw-panel-body:has([data-tooltip]:is(:hover, :focus-visible)) {
|
|
142
|
+
overflow: visible;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
// A compact list is a box of its own - in the body it would be a box in a box
|
|
146
|
+
.mw-panel-body > .mw-item-list-compact {
|
|
147
|
+
border: 0;
|
|
148
|
+
border-radius: 0;
|
|
149
|
+
background: transparent;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
// The ink tone, not the fill - a 3px line has to hold 3:1 against the card
|
|
153
|
+
@each $name, $col in $semantic-colors {
|
|
154
|
+
.mw-panel-edge-#{$name} {
|
|
155
|
+
border-left: 3px solid var(--mw-#{$name}-text-color);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
94
158
|
}
|
|
@@ -24,6 +24,13 @@
|
|
|
24
24
|
transition-duration: var(--mw-duration-instant);
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
+
// A theme pinned by the site leaves nothing to switch
|
|
28
|
+
&:disabled {
|
|
29
|
+
opacity: 0.6;
|
|
30
|
+
cursor: not-allowed;
|
|
31
|
+
transform: none;
|
|
32
|
+
}
|
|
33
|
+
|
|
27
34
|
&-slider {
|
|
28
35
|
position: absolute;
|
|
29
36
|
left: 3px;
|
|
@@ -38,11 +38,10 @@
|
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
// The reserve only exists while an action bar holds the foot of the screen
|
|
41
|
-
&-bottom-right
|
|
41
|
+
&-bottom-right,
|
|
42
|
+
&-bottom-center {
|
|
42
43
|
bottom: calc(#{spacing('5')} + var(--mw-action-bar-reserve, 0px));
|
|
43
|
-
right: spacing('5');
|
|
44
44
|
top: auto;
|
|
45
|
-
left: auto;
|
|
46
45
|
max-height: calc(
|
|
47
46
|
100dvh - #{2 * spacing('5')} - var(--mw-action-bar-reserve, 0px)
|
|
48
47
|
);
|
|
@@ -53,6 +52,17 @@
|
|
|
53
52
|
}
|
|
54
53
|
}
|
|
55
54
|
|
|
55
|
+
&-bottom-right {
|
|
56
|
+
right: spacing('5');
|
|
57
|
+
left: auto;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
&-bottom-center {
|
|
61
|
+
left: 50%;
|
|
62
|
+
right: auto;
|
|
63
|
+
transform: translateX(-50%);
|
|
64
|
+
}
|
|
65
|
+
|
|
56
66
|
// On phones the stack spans the full width at the top
|
|
57
67
|
@include media-down('sm') {
|
|
58
68
|
left: spacing('5');
|
|
@@ -60,12 +70,18 @@
|
|
|
60
70
|
width: auto;
|
|
61
71
|
transform: none;
|
|
62
72
|
|
|
63
|
-
&-bottom-right
|
|
73
|
+
&-bottom-right,
|
|
74
|
+
&-bottom-center {
|
|
64
75
|
top: auto;
|
|
65
76
|
}
|
|
66
77
|
}
|
|
67
78
|
}
|
|
68
79
|
|
|
80
|
+
// On the wash of its own tone the icon nearly vanishes - the ink does not
|
|
81
|
+
.mw-toast-stack > .mw-alert .mw-alert-icon {
|
|
82
|
+
color: var(--mw-text-color);
|
|
83
|
+
}
|
|
84
|
+
|
|
69
85
|
@keyframes mw-toast-in {
|
|
70
86
|
from {
|
|
71
87
|
opacity: 0;
|
|
@@ -46,6 +46,27 @@
|
|
|
46
46
|
min-height: var(--mw-control-height-lg);
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
+
// A box that looks like the field and holds tags plus the bare input adding them
|
|
50
|
+
&-tags {
|
|
51
|
+
cursor: text;
|
|
52
|
+
@include field-focus('focus-within');
|
|
53
|
+
|
|
54
|
+
> .mw-tags {
|
|
55
|
+
align-items: center;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
input {
|
|
59
|
+
flex: 1 1 8rem;
|
|
60
|
+
min-width: 6rem;
|
|
61
|
+
padding: spacing('1');
|
|
62
|
+
border: 0;
|
|
63
|
+
outline: 0;
|
|
64
|
+
background: transparent;
|
|
65
|
+
color: inherit;
|
|
66
|
+
font: inherit;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
49
70
|
// Numeric input for money and other figures - the entry counterpart to the
|
|
50
71
|
// `mw-text-numeric` utility, so a value looks the same while being typed and
|
|
51
72
|
// once it is rendered into a table.
|