@madgex/design-system 14.4.0 → 14.4.1

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/dist/js/index.js CHANGED
@@ -1 +1 @@
1
- import{M as St}from"./dropdown-nav-DGGzV21D.js";import{M as Lt}from"./timeout-dialog-plrFUmdZ.js";import{M as Ot}from"./image-cropper-BUN9gxO4.js";import{M as Tt}from"./consent-gate-DVi5q-ir.js";import{s as mn}from"./consent-gate-DVi5q-ir.js";window.addEventListener("hashchange",()=>{const t=window.location.hash.trim();Array.from(document.querySelectorAll(`a[href='${t}']`)).forEach(r=>{r.click()})},!1);const ft={baseline:{$value:"4px"},breakpoint:{md:{$value:"600px"},lg:{$value:"1008px"}}},pt={size:ft},qt="js-tabs-item",Ke="mds-tabs",Pt="mds-tabs__list",$t="mds-tabs__list-item",Ue="mds-tabs__panel",me="mds-tabs__tab",ve="mds-tabs__tab--selected",Ge="mds-tabs__panel--hidden",be={left:37,right:39,up:38,down:40},Dt=".js-desktop-tabbed",Bt=".js-full-tabbed",_t=parseInt(pt.size.breakpoint.lg.$value,10),x={init:()=>{x.setTabs(Bt),window.innerWidth>_t&&x.setTabs(Dt)},setTabs:t=>{const e=Array.from(document.querySelectorAll(`${t} .${me}`)),r=Array.from(document.querySelectorAll(`${t} .${Pt}`)),n=Array.from(document.querySelectorAll(`${t} .${$t}`)),s=Array.from(document.querySelectorAll(`${t} .${Ue}`));r.forEach(i=>{i.setAttribute("role","tablist")}),n.forEach(i=>{i.setAttribute("role","presentation")}),e.forEach(i=>{i.setAttribute("role","tab"),i.setAttribute("aria-controls",i.attributes.href.value.substring(1)),i.classList.contains(ve)?i.setAttribute("tabindex","0"):i.setAttribute("tabindex","-1")}),s.forEach(i=>{i.setAttribute("role","tabpanel"),i.setAttribute("aria-labelledby",`label-${i.attributes.id.value}`)});const o=document.querySelectorAll(`${t} .${qt}`);Array.from(o).forEach(i=>{const c=window.location.hash.trim(),l=i.attributes.href.value,d=i.closest(`.${Ke}`),p=x.getAllPanels(d),f=x.getAllTabs(d),h=x.getTargetPanel(i,d);i.addEventListener("click",m=>{m.preventDefault(),x.updateTabs(f,p,i,h,l)}),l===c&&x.updateTabs(f,p,i,h,l)}),r.forEach(i=>{const c=i.closest(`.${Ke}`),l=x.getAllPanels(c),d=x.getAllTabs(c);i.addEventListener("keydown",p=>{switch(p.keyCode){case be.left:case be.up:p.preventDefault(),x.moveTab(i,c,d,l,!1);break;case be.right:case be.down:p.preventDefault(),x.moveTab(i,c,d,l,!0);break}})})},getSelectedTab:t=>t.querySelector(`.${ve}`),getPrevTab:t=>t.parentElement.previousSibling?t.parentElement.previousSibling.querySelector(`.${me}`):!1,getNextTab:t=>t.parentElement.nextSibling?t.parentElement.nextSibling.querySelector(`.${me}`):!1,getTargetPanel:(t,e)=>{const r=t.attributes.href.value;return e.querySelector(r)},getAllPanels:t=>Array.from(t.querySelectorAll(`.${Ue}`)),getAllTabs:t=>Array.from(t.querySelectorAll(`.${me}`)),moveTab:(t,e,r,n,s)=>{const o=x.getSelectedTab(t),a=s?x.getNextTab(o):x.getPrevTab(o);if(a){const i=a.attributes.href.value,c=x.getTargetPanel(a,e);x.updateTabs(r,n,a,c,i,!1)}},updateTabs:(t,e,r,n,s)=>{x.clearAllTabs(t),x.setActiveTab(r),x.clearAllPanels(e),x.setActivePanel(n,s)},clearAllTabs:t=>{t.forEach(e=>{e.classList.remove(ve),e.setAttribute("aria-selected","false"),e.setAttribute("tabindex","-1")})},clearAllPanels:t=>{t.forEach(e=>{e.classList.add(Ge)})},setActiveTab:t=>{t.classList.add(ve),t.setAttribute("aria-selected","true"),t.setAttribute("tabindex","0"),t.focus()},setActivePanel:(t,e)=>{t.classList.remove(Ge),window.history.replaceState({},"",e)}},It={init:()=>{const t=document.querySelectorAll(".mds-subnavigation"),e=[];let r;t.forEach(s=>{const o=s.querySelector(".mds-subnavigation__link-list"),a=Array.from(o.children),i=a[0],c=s.querySelector(".mds-subnavigation__mobile-title"),l=s.querySelector(".mds-subnavigation__drawer"),d=s.querySelector(".mds-subnavigation__drawer-label"),p=s.querySelector(".mds-subnavigation__drawer-label-text"),f=s.querySelector(".mds-subnavigation__drawer-content"),h=l.dataset.label,m=l.dataset.labelPlural;d.addEventListener("click",()=>{d.getAttribute("aria-expanded")==="true"?d.setAttribute("aria-expanded","false"):d.setAttribute("aria-expanded","true")}),l.addEventListener("focusout",v=>{l.contains(v.relatedTarget)||d.setAttribute("aria-expanded","false")});const g=()=>o.clientHeight>i.offsetHeight;e.push(()=>{d.setAttribute("aria-expanded","false"),window.getComputedStyle(c).getPropertyValue("display")==="none"?(a.forEach(b=>{o.append(b)}),l.style.display="none",g()&&(l.style.display="list-item",a.slice().reverse().forEach(b=>{if(g()&&b!==l){f.prepend(b);const y=Array.from(f.children).length,E=y>1?m:h;p.innerText=E.replace("{count}",y)}else o.prepend(b)}),f.style.width=`${o.offsetWidth-l.offsetLeft}px`)):(a.forEach(b=>{b!==l&&b!==c&&f.append(b)}),f.style.width="initial",l.style.display="block")})});const n=()=>{e.forEach(s=>{s()})};n(),window.onresize=()=>{clearTimeout(r),r=setTimeout(n,100)}}},Mt="mds-checkbox-accordion__button",Rt="mds-checkbox-accordion__button--open",Nt={init:()=>{document.querySelectorAll(`.${Mt}`).forEach(e=>{e.classList.contains(Rt)?e.setAttribute("aria-expanded","true"):e.setAttribute("aria-expanded","false"),e.addEventListener("click",()=>{e.getAttribute("aria-expanded")==="true"?e.setAttribute("aria-expanded","false"):e.setAttribute("aria-expanded","true")})})}};var T="top",P="bottom",$="right",q="left",_e="auto",le=[T,P,$,q],Z="start",Ie="end",jt="clippingParents",ht="viewport",re="popper",Wt="reference",Qe=le.reduce(function(t,e){return t.concat([e+"-"+Z,e+"-"+Ie])},[]),mt=[].concat(le,[_e]).reduce(function(t,e){return t.concat([e,e+"-"+Z,e+"-"+Ie])},[]),Ft="beforeRead",Ht="read",Vt="afterRead",zt="beforeMain",Xt="main",Yt="afterMain",Jt="beforeWrite",Kt="write",Ut="afterWrite",Gt=[Ft,Ht,Vt,zt,Xt,Yt,Jt,Kt,Ut];function R(t){return t?(t.nodeName||"").toLowerCase():null}function B(t){if(t==null)return window;if(t.toString()!=="[object Window]"){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function ie(t){var e=B(t).Element;return t instanceof e||t instanceof Element}function D(t){var e=B(t).HTMLElement;return t instanceof e||t instanceof HTMLElement}function vt(t){if(typeof ShadowRoot>"u")return!1;var e=B(t).ShadowRoot;return t instanceof e||t instanceof ShadowRoot}function Qt(t){var e=t.state;Object.keys(e.elements).forEach(function(r){var n=e.styles[r]||{},s=e.attributes[r]||{},o=e.elements[r];!D(o)||!R(o)||(Object.assign(o.style,n),Object.keys(s).forEach(function(a){var i=s[a];i===!1?o.removeAttribute(a):o.setAttribute(a,i===!0?"":i)}))})}function Zt(t){var e=t.state,r={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,r.popper),e.styles=r,e.elements.arrow&&Object.assign(e.elements.arrow.style,r.arrow),function(){Object.keys(e.elements).forEach(function(n){var s=e.elements[n],o=e.attributes[n]||{},a=Object.keys(e.styles.hasOwnProperty(n)?e.styles[n]:r[n]),i=a.reduce(function(c,l){return c[l]="",c},{});!D(s)||!R(s)||(Object.assign(s.style,i),Object.keys(o).forEach(function(c){s.removeAttribute(c)}))})}}const er={name:"applyStyles",enabled:!0,phase:"write",fn:Qt,effect:Zt,requires:["computeStyles"]};function M(t){return t.split("-")[0]}function ee(t){var e=t.getBoundingClientRect();return{width:e.width,height:e.height,top:e.top,right:e.right,bottom:e.bottom,left:e.left,x:e.left,y:e.top}}function Me(t){var e=ee(t),r=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-r)<=1&&(r=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:r,height:n}}function bt(t,e){var r=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(r&&vt(r)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function W(t){return B(t).getComputedStyle(t)}function tr(t){return["table","td","th"].indexOf(R(t))>=0}function V(t){return((ie(t)?t.ownerDocument:t.document)||window.document).documentElement}function Ce(t){return R(t)==="html"?t:t.assignedSlot||t.parentNode||(vt(t)?t.host:null)||V(t)}function Ze(t){return!D(t)||W(t).position==="fixed"?null:t.offsetParent}function rr(t){var e=navigator.userAgent.toLowerCase().indexOf("firefox")!==-1,r=navigator.userAgent.indexOf("Trident")!==-1;if(r&&D(t)){var n=W(t);if(n.position==="fixed")return null}for(var s=Ce(t);D(s)&&["html","body"].indexOf(R(s))<0;){var o=W(s);if(o.transform!=="none"||o.perspective!=="none"||o.contain==="paint"||["transform","perspective"].indexOf(o.willChange)!==-1||e&&o.willChange==="filter"||e&&o.filter&&o.filter!=="none")return s;s=s.parentNode}return null}function de(t){for(var e=B(t),r=Ze(t);r&&tr(r)&&W(r).position==="static";)r=Ze(r);return r&&(R(r)==="html"||R(r)==="body"&&W(r).position==="static")?e:r||rr(t)||e}function Re(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}var H=Math.max,oe=Math.min,ge=Math.round;function Ae(t,e,r){return H(t,oe(e,r))}function gt(){return{top:0,right:0,bottom:0,left:0}}function yt(t){return Object.assign({},gt(),t)}function wt(t,e){return e.reduce(function(r,n){return r[n]=t,r},{})}var nr=function(e,r){return e=typeof e=="function"?e(Object.assign({},r.rects,{placement:r.placement})):e,yt(typeof e!="number"?e:wt(e,le))};function sr(t){var e,r=t.state,n=t.name,s=t.options,o=r.elements.arrow,a=r.modifiersData.popperOffsets,i=M(r.placement),c=Re(i),l=[q,$].indexOf(i)>=0,d=l?"height":"width";if(!(!o||!a)){var p=nr(s.padding,r),f=Me(o),h=c==="y"?T:q,m=c==="y"?P:$,g=r.rects.reference[d]+r.rects.reference[c]-a[c]-r.rects.popper[d],v=a[c]-r.rects.reference[c],b=de(o),y=b?c==="y"?b.clientHeight||0:b.clientWidth||0:0,E=g/2-v/2,u=p[h],C=y-f[d]-p[m],w=y/2-f[d]/2+E,k=Ae(u,w,C),A=c;r.modifiersData[n]=(e={},e[A]=k,e.centerOffset=k-w,e)}}function ir(t){var e=t.state,r=t.options,n=r.element,s=n===void 0?"[data-popper-arrow]":n;s!=null&&(typeof s=="string"&&(s=e.elements.popper.querySelector(s),!s)||bt(e.elements.popper,s)&&(e.elements.arrow=s))}const or={name:"arrow",enabled:!0,phase:"main",fn:sr,effect:ir,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};var ar={top:"auto",right:"auto",bottom:"auto",left:"auto"};function cr(t){var e=t.x,r=t.y,n=window,s=n.devicePixelRatio||1;return{x:ge(ge(e*s)/s)||0,y:ge(ge(r*s)/s)||0}}function et(t){var e,r=t.popper,n=t.popperRect,s=t.placement,o=t.offsets,a=t.position,i=t.gpuAcceleration,c=t.adaptive,l=t.roundOffsets,d=l===!0?cr(o):typeof l=="function"?l(o):o,p=d.x,f=p===void 0?0:p,h=d.y,m=h===void 0?0:h,g=o.hasOwnProperty("x"),v=o.hasOwnProperty("y"),b=q,y=T,E=window;if(c){var u=de(r),C="clientHeight",w="clientWidth";u===B(r)&&(u=V(r),W(u).position!=="static"&&(C="scrollHeight",w="scrollWidth")),u=u,s===T&&(y=P,m-=u[C]-n.height,m*=i?1:-1),s===q&&(b=$,f-=u[w]-n.width,f*=i?1:-1)}var k=Object.assign({position:a},c&&ar);if(i){var A;return Object.assign({},k,(A={},A[y]=v?"0":"",A[b]=g?"0":"",A.transform=(E.devicePixelRatio||1)<2?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",A))}return Object.assign({},k,(e={},e[y]=v?m+"px":"",e[b]=g?f+"px":"",e.transform="",e))}function lr(t){var e=t.state,r=t.options,n=r.gpuAcceleration,s=n===void 0?!0:n,o=r.adaptive,a=o===void 0?!0:o,i=r.roundOffsets,c=i===void 0?!0:i,l={placement:M(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,et(Object.assign({},l,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:a,roundOffsets:c})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,et(Object.assign({},l,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:c})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}const dr={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:lr,data:{}};var ye={passive:!0};function ur(t){var e=t.state,r=t.instance,n=t.options,s=n.scroll,o=s===void 0?!0:s,a=n.resize,i=a===void 0?!0:a,c=B(e.elements.popper),l=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&l.forEach(function(d){d.addEventListener("scroll",r.update,ye)}),i&&c.addEventListener("resize",r.update,ye),function(){o&&l.forEach(function(d){d.removeEventListener("scroll",r.update,ye)}),i&&c.removeEventListener("resize",r.update,ye)}}const fr={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:ur,data:{}};var pr={left:"right",right:"left",bottom:"top",top:"bottom"};function xe(t){return t.replace(/left|right|bottom|top/g,function(e){return pr[e]})}var hr={start:"end",end:"start"};function tt(t){return t.replace(/start|end/g,function(e){return hr[e]})}function Ne(t){var e=B(t),r=e.pageXOffset,n=e.pageYOffset;return{scrollLeft:r,scrollTop:n}}function je(t){return ee(V(t)).left+Ne(t).scrollLeft}function mr(t){var e=B(t),r=V(t),n=e.visualViewport,s=r.clientWidth,o=r.clientHeight,a=0,i=0;return n&&(s=n.width,o=n.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(a=n.offsetLeft,i=n.offsetTop)),{width:s,height:o,x:a+je(t),y:i}}function vr(t){var e,r=V(t),n=Ne(t),s=(e=t.ownerDocument)==null?void 0:e.body,o=H(r.scrollWidth,r.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),a=H(r.scrollHeight,r.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),i=-n.scrollLeft+je(t),c=-n.scrollTop;return W(s||r).direction==="rtl"&&(i+=H(r.clientWidth,s?s.clientWidth:0)-o),{width:o,height:a,x:i,y:c}}function We(t){var e=W(t),r=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(r+s+n)}function Et(t){return["html","body","#document"].indexOf(R(t))>=0?t.ownerDocument.body:D(t)&&We(t)?t:Et(Ce(t))}function se(t,e){var r;e===void 0&&(e=[]);var n=Et(t),s=n===((r=t.ownerDocument)==null?void 0:r.body),o=B(n),a=s?[o].concat(o.visualViewport||[],We(n)?n:[]):n,i=e.concat(a);return s?i:i.concat(se(Ce(a)))}function $e(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function br(t){var e=ee(t);return e.top=e.top+t.clientTop,e.left=e.left+t.clientLeft,e.bottom=e.top+t.clientHeight,e.right=e.left+t.clientWidth,e.width=t.clientWidth,e.height=t.clientHeight,e.x=e.left,e.y=e.top,e}function rt(t,e){return e===ht?$e(mr(t)):D(e)?br(e):$e(vr(V(t)))}function gr(t){var e=se(Ce(t)),r=["absolute","fixed"].indexOf(W(t).position)>=0,n=r&&D(t)?de(t):t;return ie(n)?e.filter(function(s){return ie(s)&&bt(s,n)&&R(s)!=="body"}):[]}function yr(t,e,r){var n=e==="clippingParents"?gr(t):[].concat(e),s=[].concat(n,[r]),o=s[0],a=s.reduce(function(i,c){var l=rt(t,c);return i.top=H(l.top,i.top),i.right=oe(l.right,i.right),i.bottom=oe(l.bottom,i.bottom),i.left=H(l.left,i.left),i},rt(t,o));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function ae(t){return t.split("-")[1]}function At(t){var e=t.reference,r=t.element,n=t.placement,s=n?M(n):null,o=n?ae(n):null,a=e.x+e.width/2-r.width/2,i=e.y+e.height/2-r.height/2,c;switch(s){case T:c={x:a,y:e.y-r.height};break;case P:c={x:a,y:e.y+e.height};break;case $:c={x:e.x+e.width,y:i};break;case q:c={x:e.x-r.width,y:i};break;default:c={x:e.x,y:e.y}}var l=s?Re(s):null;if(l!=null){var d=l==="y"?"height":"width";switch(o){case Z:c[l]=c[l]-(e[d]/2-r[d]/2);break;case Ie:c[l]=c[l]+(e[d]/2-r[d]/2);break}}return c}function ce(t,e){e===void 0&&(e={});var r=e,n=r.placement,s=n===void 0?t.placement:n,o=r.boundary,a=o===void 0?jt:o,i=r.rootBoundary,c=i===void 0?ht:i,l=r.elementContext,d=l===void 0?re:l,p=r.altBoundary,f=p===void 0?!1:p,h=r.padding,m=h===void 0?0:h,g=yt(typeof m!="number"?m:wt(m,le)),v=d===re?Wt:re,b=t.elements.reference,y=t.rects.popper,E=t.elements[f?v:d],u=yr(ie(E)?E:E.contextElement||V(t.elements.popper),a,c),C=ee(b),w=At({reference:C,element:y,placement:s}),k=$e(Object.assign({},y,w)),A=d===re?k:C,S={top:u.top-A.top+g.top,bottom:A.bottom-u.bottom+g.bottom,left:u.left-A.left+g.left,right:A.right-u.right+g.right},O=t.modifiersData.offset;if(d===re&&O){var _=O[s];Object.keys(S).forEach(function(N){var L=[$,P].indexOf(N)>=0?1:-1,z=[T,P].indexOf(N)>=0?"y":"x";S[N]+=_[z]*L})}return S}function wr(t,e){e===void 0&&(e={});var r=e,n=r.placement,s=r.boundary,o=r.rootBoundary,a=r.padding,i=r.flipVariations,c=r.allowedAutoPlacements,l=c===void 0?mt:c,d=ae(n),p=d?i?Qe:Qe.filter(function(m){return ae(m)===d}):le,f=p.filter(function(m){return l.indexOf(m)>=0});f.length===0&&(f=p);var h=f.reduce(function(m,g){return m[g]=ce(t,{placement:g,boundary:s,rootBoundary:o,padding:a})[M(g)],m},{});return Object.keys(h).sort(function(m,g){return h[m]-h[g]})}function Er(t){if(M(t)===_e)return[];var e=xe(t);return[tt(t),e,tt(e)]}function Ar(t){var e=t.state,r=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=r.mainAxis,o=s===void 0?!0:s,a=r.altAxis,i=a===void 0?!0:a,c=r.fallbackPlacements,l=r.padding,d=r.boundary,p=r.rootBoundary,f=r.altBoundary,h=r.flipVariations,m=h===void 0?!0:h,g=r.allowedAutoPlacements,v=e.options.placement,b=M(v),y=b===v,E=c||(y||!m?[xe(v)]:Er(v)),u=[v].concat(E).reduce(function(Y,I){return Y.concat(M(I)===_e?wr(e,{placement:I,boundary:d,rootBoundary:p,padding:l,flipVariations:m,allowedAutoPlacements:g}):I)},[]),C=e.rects.reference,w=e.rects.popper,k=new Map,A=!0,S=u[0],O=0;O<u.length;O++){var _=u[O],N=M(_),L=ae(_)===Z,z=[T,P].indexOf(N)>=0,te=z?"width":"height",J=ce(e,{placement:_,boundary:d,rootBoundary:p,altBoundary:f,padding:l}),X=z?L?$:q:L?P:T;C[te]>w[te]&&(X=xe(X));var Se=xe(X),K=[];if(o&&K.push(J[N]<=0),i&&K.push(J[X]<=0,J[Se]<=0),K.every(function(Y){return Y})){S=_,A=!1;break}k.set(_,K)}if(A)for(var ue=m?3:1,Le=function(I){var pe=u.find(function(Oe){var G=k.get(Oe);if(G)return G.slice(0,I).every(function(Te){return Te})});if(pe)return S=pe,"break"},U=ue;U>0;U--){var fe=Le(U);if(fe==="break")break}e.placement!==S&&(e.modifiersData[n]._skip=!0,e.placement=S,e.reset=!0)}}const xr={name:"flip",enabled:!0,phase:"main",fn:Ar,requiresIfExists:["offset"],data:{_skip:!1}};function nt(t,e,r){return r===void 0&&(r={x:0,y:0}),{top:t.top-e.height-r.y,right:t.right-e.width+r.x,bottom:t.bottom-e.height+r.y,left:t.left-e.width-r.x}}function st(t){return[T,$,P,q].some(function(e){return t[e]>=0})}function kr(t){var e=t.state,r=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,a=ce(e,{elementContext:"reference"}),i=ce(e,{altBoundary:!0}),c=nt(a,n),l=nt(i,s,o),d=st(c),p=st(l);e.modifiersData[r]={referenceClippingOffsets:c,popperEscapeOffsets:l,isReferenceHidden:d,hasPopperEscaped:p},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":d,"data-popper-escaped":p})}const Cr={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:kr};function Sr(t,e,r){var n=M(t),s=[q,T].indexOf(n)>=0?-1:1,o=typeof r=="function"?r(Object.assign({},e,{placement:t})):r,a=o[0],i=o[1];return a=a||0,i=(i||0)*s,[q,$].indexOf(n)>=0?{x:i,y:a}:{x:a,y:i}}function Lr(t){var e=t.state,r=t.options,n=t.name,s=r.offset,o=s===void 0?[0,0]:s,a=mt.reduce(function(d,p){return d[p]=Sr(p,e.rects,o),d},{}),i=a[e.placement],c=i.x,l=i.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=c,e.modifiersData.popperOffsets.y+=l),e.modifiersData[n]=a}const Or={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Lr};function Tr(t){var e=t.state,r=t.name;e.modifiersData[r]=At({reference:e.rects.reference,element:e.rects.popper,placement:e.placement})}const qr={name:"popperOffsets",enabled:!0,phase:"read",fn:Tr,data:{}};function Pr(t){return t==="x"?"y":"x"}function $r(t){var e=t.state,r=t.options,n=t.name,s=r.mainAxis,o=s===void 0?!0:s,a=r.altAxis,i=a===void 0?!1:a,c=r.boundary,l=r.rootBoundary,d=r.altBoundary,p=r.padding,f=r.tether,h=f===void 0?!0:f,m=r.tetherOffset,g=m===void 0?0:m,v=ce(e,{boundary:c,rootBoundary:l,padding:p,altBoundary:d}),b=M(e.placement),y=ae(e.placement),E=!y,u=Re(b),C=Pr(u),w=e.modifiersData.popperOffsets,k=e.rects.reference,A=e.rects.popper,S=typeof g=="function"?g(Object.assign({},e.rects,{placement:e.placement})):g,O={x:0,y:0};if(w){if(o||i){var _=u==="y"?T:q,N=u==="y"?P:$,L=u==="y"?"height":"width",z=w[u],te=w[u]+v[_],J=w[u]-v[N],X=h?-A[L]/2:0,Se=y===Z?k[L]:A[L],K=y===Z?-A[L]:-k[L],ue=e.elements.arrow,Le=h&&ue?Me(ue):{width:0,height:0},U=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:gt(),fe=U[_],Y=U[N],I=Ae(0,k[L],Le[L]),pe=E?k[L]/2-X-I-fe-S:Se-I-fe-S,Oe=E?-k[L]/2+X+I+Y+S:K+I+Y+S,G=e.elements.arrow&&de(e.elements.arrow),Te=G?u==="y"?G.clientTop||0:G.clientLeft||0:0,Fe=e.modifiersData.offset?e.modifiersData.offset[e.placement][u]:0,He=w[u]+pe-Fe-Te,Ve=w[u]+Oe-Fe;if(o){var ze=Ae(h?oe(te,He):te,z,h?H(J,Ve):J);w[u]=ze,O[u]=ze-z}if(i){var kt=u==="x"?T:q,Ct=u==="x"?P:$,he=w[C],Xe=he+v[kt],Ye=he-v[Ct],Je=Ae(h?oe(Xe,He):Xe,he,h?H(Ye,Ve):Ye);w[C]=Je,O[C]=Je-he}}e.modifiersData[n]=O}}const Dr={name:"preventOverflow",enabled:!0,phase:"main",fn:$r,requiresIfExists:["offset"]};function Br(t){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}function _r(t){return t===B(t)||!D(t)?Ne(t):Br(t)}function Ir(t,e,r){r===void 0&&(r=!1);var n=V(e),s=ee(t),o=D(e),a={scrollLeft:0,scrollTop:0},i={x:0,y:0};return(o||!o&&!r)&&((R(e)!=="body"||We(n))&&(a=_r(e)),D(e)?(i=ee(e),i.x+=e.clientLeft,i.y+=e.clientTop):n&&(i.x=je(n))),{x:s.left+a.scrollLeft-i.x,y:s.top+a.scrollTop-i.y,width:s.width,height:s.height}}function Mr(t){var e=new Map,r=new Set,n=[];t.forEach(function(o){e.set(o.name,o)});function s(o){r.add(o.name);var a=[].concat(o.requires||[],o.requiresIfExists||[]);a.forEach(function(i){if(!r.has(i)){var c=e.get(i);c&&s(c)}}),n.push(o)}return t.forEach(function(o){r.has(o.name)||s(o)}),n}function Rr(t){var e=Mr(t);return Gt.reduce(function(r,n){return r.concat(e.filter(function(s){return s.phase===n}))},[])}function Nr(t){var e;return function(){return e||(e=new Promise(function(r){Promise.resolve().then(function(){e=void 0,r(t())})})),e}}function jr(t){var e=t.reduce(function(r,n){var s=r[n.name];return r[n.name]=s?Object.assign({},s,n,{options:Object.assign({},s.options,n.options),data:Object.assign({},s.data,n.data)}):n,r},{});return Object.keys(e).map(function(r){return e[r]})}var it={placement:"bottom",modifiers:[],strategy:"absolute"};function ot(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];return!e.some(function(n){return!(n&&typeof n.getBoundingClientRect=="function")})}function Wr(t){t===void 0&&(t={});var e=t,r=e.defaultModifiers,n=r===void 0?[]:r,s=e.defaultOptions,o=s===void 0?it:s;return function(i,c,l){l===void 0&&(l=o);var d={placement:"bottom",orderedModifiers:[],options:Object.assign({},it,o),modifiersData:{},elements:{reference:i,popper:c},attributes:{},styles:{}},p=[],f=!1,h={state:d,setOptions:function(b){g(),d.options=Object.assign({},o,d.options,b),d.scrollParents={reference:ie(i)?se(i):i.contextElement?se(i.contextElement):[],popper:se(c)};var y=Rr(jr([].concat(n,d.options.modifiers)));return d.orderedModifiers=y.filter(function(E){return E.enabled}),m(),h.update()},forceUpdate:function(){if(!f){var b=d.elements,y=b.reference,E=b.popper;if(ot(y,E)){d.rects={reference:Ir(y,de(E),d.options.strategy==="fixed"),popper:Me(E)},d.reset=!1,d.placement=d.options.placement,d.orderedModifiers.forEach(function(O){return d.modifiersData[O.name]=Object.assign({},O.data)});for(var u=0;u<d.orderedModifiers.length;u++){if(d.reset===!0){d.reset=!1,u=-1;continue}var C=d.orderedModifiers[u],w=C.fn,k=C.options,A=k===void 0?{}:k,S=C.name;typeof w=="function"&&(d=w({state:d,options:A,name:S,instance:h})||d)}}}},update:Nr(function(){return new Promise(function(v){h.forceUpdate(),v(d)})}),destroy:function(){g(),f=!0}};if(!ot(i,c))return h;h.setOptions(l).then(function(v){!f&&l.onFirstUpdate&&l.onFirstUpdate(v)});function m(){d.orderedModifiers.forEach(function(v){var b=v.name,y=v.options,E=y===void 0?{}:y,u=v.effect;if(typeof u=="function"){var C=u({state:d,name:b,instance:h,options:E}),w=function(){};p.push(C||w)}})}function g(){p.forEach(function(v){return v()}),p=[]}return h}}var Fr=[fr,qr,dr,er,Or,xr,Dr,or,Cr],Hr=Wr({defaultModifiers:Fr});const Vr=parseInt(ft.baseline.$value,10),zr="js-mds-popover-trigger",we="mds-popover--active",ne={init:()=>{Array.from(document.querySelectorAll(`.${zr}`)).forEach(e=>{const n=`${e.getAttribute("id")}-content`,s=document.getElementById(n),o=s.dataset?s.dataset.placement:null,a=Hr(e,s,{placement:o||"top-end",strategy:"fixed",modifiers:[{name:"offset",options:{offset:[0,Vr*3]}},{name:"arrow",options:{padding:5}}]});e.setAttribute("aria-expanded","false"),s.setAttribute("aria-hidden","true"),e.addEventListener("click",i=>{i.preventDefault(),a.update(),s.classList.toggle(we),ne.setAriaAttr(e,s,we)}),document.addEventListener("mousedown",i=>{ne.hide(e,s,a,we,i)}),document.addEventListener("keydown",i=>{ne.hide(e,s,a,we,i)})})},hide:(t,e,r,n,s)=>{!t.contains(s.target)&&!r.state.elements.popper.contains(s.target)&&e.classList.contains(n)&&(e.classList.remove(n),ne.setAriaAttr(t,e,n))},setAriaAttr:(t,e,r)=>{e.classList.contains(r)?(t.setAttribute("aria-expanded","true"),e.removeAttribute("aria-hidden")):(t.setAttribute("aria-expanded","false"),e.setAttribute("aria-hidden","true"))}},Xr=parseInt(pt.size.breakpoint.md.$value,10),at="data-modal-id",ct="mds-modal--active",Yr="js-mds-modal-close";let Ee;const Q={init:()=>{window.innerWidth>Xr&&Array.from(document.querySelectorAll(`[${at}]`)).forEach(r=>{const n=r.getAttribute(at),s=document.getElementById(n),o=Array.from(s.querySelectorAll(`.${Yr}`)),a=s.getAttribute("data-site-container"),i=document.getElementById(a);let l=s.querySelectorAll('a[href], area[href], input:not([disabled]):not([type="hidden"]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, [tabindex="0"], [contenteditable]');l=Array.prototype.slice.call(l);const d=l[0],p=l[l.length-1];r.addEventListener("click",f=>{f.preventDefault(),Q.open(s,d,i)}),s.addEventListener("click",f=>{f.target===s&&Q.close(s,Ee,i)}),s.addEventListener("keydown",f=>{Q.trapFocus(f,d,p),(f.key==="Escape"||f.key==="Esc")&&Q.close(s,Ee,i)}),o.forEach(f=>{f.addEventListener("click",()=>{Q.close(s,Ee,i)})})})},open:(t,e,r)=>{Ee=document.activeElement,t.classList.add(ct),e.focus(),r?.setAttribute("aria-hidden","true")},close:(t,e,r)=>{r?.removeAttribute("aria-hidden"),t.classList.remove(ct),e.focus()},trapFocus:(t,e,r)=>{t.key==="Tab"&&(t.shiftKey?document.activeElement===e&&(t.preventDefault(),r.focus()):document.activeElement===r&&(t.preventDefault(),e.focus()))}};class j extends HTMLElement{static selectedFileClass="mds-file-upload--selected-file";static selectedFileIsImageClass="mds-file-upload--selected-file-is-image";static dragOverClass="mds-file-upload--dragover";constructor(){super()}connectedCallback(){this.classList.add("mds-form-element--file-supported"),this.#e.addEventListener("change",this.#l),this.#n.addEventListener("click",this.#p),this.#e.addEventListener("dragover",this.#a),this.#e.addEventListener("dragenter",this.#a),this.#e.addEventListener("dragleave",this.#d),this.#e.addEventListener("dragend",this.#d),this.#e.addEventListener("drop",this.#d),this.#c?.addEventListener("commit",this.#h),this.#c?.addEventListener("reset",this.#v),this.#b(!0)}disconnectedCallback(){this.#e?.removeEventListener("change",this.#l),this.#n?.removeEventListener("click",this.#p),this.#e?.removeEventListener("dragover",this.#a),this.#e?.removeEventListener("dragenter",this.#a),this.#e?.removeEventListener("dragleave",this.#d),this.#e?.removeEventListener("dragend",this.#d),this.#e?.removeEventListener("drop",this.#d),this.#c?.removeEventListener("commit",this.#h),this.#c?.removeEventListener("reset",this.#v)}get rootNode(){return this}get#o(){return this.getRootNode({composed:!0})}get#r(){return this.#e?.files?.[0]}get#s(){return this.#r?.type?.startsWith("image/")}get#i(){const e=this.rootNode.getAttribute("no-auto-open-image-cropper");return e!==null&&e!=="false"}get#t(){return this.rootNode.querySelector(".mds-file-upload__file-name")}get#e(){return this.rootNode.querySelector("input[type=file]")}get#n(){return this.rootNode.querySelector(".mds-file-upload__remove-button")}get#u(){return this.rootNode.querySelector(".mds-file-upload__preview-image")}get#m(){return this.rootNode.querySelector(".mds-file-upload__open-modal")}get#f(){return this.rootNode.querySelector(".mds-modal")}get#c(){return this.rootNode.querySelector("mds-image-cropper")}#l=e=>{const{dontOpenModal:r=!1}=e?.detail||{};this.#b(),this.#r&&this.#n.focus(),!r&&this.#s&&!this.#i&&this.#y()};#p=e=>{e.preventDefault(),this.removeFile(),this.#e.focus()};#a=e=>{e.stopPropagation(),this.classList.add(j.dragOverClass)};#d=e=>{e.stopPropagation(),this.classList.remove(j.dragOverClass)};#h=e=>{const r=e.detail;if(r){const n=new File([r],this.#r?.name||"cropped-image",{type:r.type}),s=new DataTransfer;s.items.add(n),this.#e.files=s.files,this.#e.dispatchEvent(new CustomEvent("change",{detail:{dontOpenModal:!0},bubbles:!0})),this.#g()}};#v=()=>{this.#g()};#b(e=!1){if(this.#r)if(this.#t.textContent=this.#r.name,this.classList.add(j.selectedFileClass),this.#s){this.classList.add(j.selectedFileIsImageClass);const r=new FileReader;r.onload=n=>{this.#u.src=n.target.result,this.#c?.setAttribute("src",n.target.result)},r.readAsDataURL(this.#r)}else this.classList.remove(j.selectedFileIsImageClass);else e||(this.#t.textContent="",this.classList.remove(j.selectedFileClass),this.classList.remove(j.selectedFileIsImageClass))}#y(){this.#m?.dispatchEvent(new Event("click"))}#g(){this.#f?.querySelector(".js-mds-modal-close").dispatchEvent(new Event("click"))}removeFile(){this.#e.value="",this.#e.dispatchEvent(new Event("change",{bubbles:!0}))}}const Jr=".mds-form-element--character-count",Kr=".mds-form-message--character-count",Ur=".js-character-count-number",Gr=".mds-form-control",De={init:()=>{Array.from(document.querySelectorAll(Jr)).forEach(e=>{const r=e.querySelector(Gr),n=r.getAttribute("maxlength"),s=e.querySelector(Kr),o=e.querySelector(Ur);r.removeAttribute("maxlength"),De.updateCounter(r,n,o,s),r.addEventListener("input",a=>{a.stopPropagation(),De.updateCounter(r,n,o,s)})})},updateCounter:(t,e,r,n)=>{const s=t.value.match(/(\r\n|\n|\r)/g),o=t.value.length+(s?s.length:0),a=e-o;r.textContent=a,a<0?n.classList.add("mds-form-message--error"):n.classList.remove("mds-form-message--error")}},Qr="js-mds-button-double-submit",xt={init:()=>{Array.from(document.querySelectorAll(`.${Qr}`)).forEach(e=>{e.addEventListener("click",()=>{xt.toggleDisable(e)})})},toggleDisable:t=>{setTimeout(()=>{t.setAttribute("disabled","")},1),setTimeout(()=>{t.removeAttribute("disabled")},1e3)}},Zr={setFluidVideos:()=>{Array.from(document.querySelectorAll(".mds-prose iframe, .mds-prose embed, .mds-prose object")).filter(e=>!e.closest("mds-consent-gate")).forEach(e=>{const r=document.createElement("div");r.classList.add("mds-fluid-video"),r.innerHTML=e.outerHTML,e.replaceWith(r)})}};class ke extends HTMLElement{static accordionBreakpointClass="mds-accordion--breakpoint";static accordionCloseButtonClass="mds-accordion__close-button";#o=new AbortController;constructor(){super()}connectedCallback(){this.#r.classList.contains(ke.accordionBreakpointClass)&&!this.#e()?(this.#r.open=!0,this.#s.style.display="none"):this.#s.style.display="",this.#i&&this.#i.addEventListener("click",this.#t,{signal:this.#o.signal})}disconnectedCallback(){this.#o.abort()}get#r(){return this.querySelector("details")}get#s(){return this.querySelector("summary")}get#i(){return this.querySelector(`.${ke.accordionCloseButtonClass}`)}#t=()=>{this.#r.open=!1,this.#s.focus()};#e(){let e;if(this.#r.dataset.bp){const r=this.#r.dataset.bp.replace(/\D/g,""),n=this.#r.dataset.bp.replace(/[0-9]/g,"");let s,o;switch(n){case"px":e=r;break;case"em":s=window.getComputedStyle(document.querySelector("body"))["font-size"],o=r*parseFloat(s),e=o;break;case"rem":s=window.getComputedStyle(document.querySelector("body"))["font-size"],o=r*parseFloat(s),e=o;break;default:return!0}return!(window.innerWidth>e)}return!0}}class en extends HTMLElement{connectedCallback(){const r=this.querySelector(".mds-card-link__link");let n;this.onmousedown=()=>{n=+new Date},this.onmouseup=()=>{+new Date-n<200&&r.click(),n=void 0}}disconnectedCallback(){this.onmousedown=this.onmouseup=null}}function tn(t){if(t==null)return null;const e=new Set(t.split(",").map(r=>r.trim()).filter(Boolean));return e.size===0?null:e}function rn(t){return t instanceof RadioNodeList?[...t]:t?.tagName?[t]:null}function nn(t,e){const r=tn(e);if(!r)return!1;const n=rn(t);if(!n?.length)return!1;const s=n[0];return n.length===1&&s.type==="checkbox"?s.checked?r.has("true")||r.has(s.value||"on"):r.has("false"):n.every(a=>a.type==="checkbox"||a.type==="radio")?n.some(a=>a.checked&&r.has(a.value||"on")):n.length===1&&s.tagName==="SELECT"&&s.multiple?[...s.selectedOptions].some(a=>r.has(a.value)):r.has(s.value?.toString()??"")}class sn extends HTMLElement{static observedAttributes=["form","field-name","show-when"];syncVisibility=()=>{this.hidden=!nn(this.field,this.getAttribute("show-when"))};setup=()=>{this.cleanup();const e=this.getAttribute("form"),r=this.getAttribute("field-name");if(this.formElement=e?document.querySelector(e):this.closest("form"),!this.formElement)throw new Error(`<mds-conditional-section> for ${r} could not find the associated form`);if(this.field=this.formElement.elements[r],!this.field)throw new Error(`<mds-conditional-section> for ${r} could not find the associated field`);this.syncVisibility(),this.formElement.addEventListener("input",this.syncVisibility)};connectedCallback(){this.setup()}cleanup=()=>{this.formElement?.removeEventListener("input",this.syncVisibility)};disconnectedCallback(){this.cleanup()}attributeChangedCallback(e,r,n){this.isConnected&&r!==n&&(e==="show-when"?this.syncVisibility():(e==="field-name"||e==="form")&&this.setup())}}const F=".mds-form-check",qe=".mds-form-check__input",on=".mds-form-check__label",lt=".mds-form-check__nested-container",dt=".mds-category-picker__pill",Pe=".mds-category-picker__clear-pill",ut={optionsSelectedSingular:"1 option selected",optionsSelectedPlural:"{count} options selected",optionsFoundSingular:"1 option found",optionsFoundPlural:"{count} options found"};class an extends HTMLElement{#o;#r;#s;#i;#t;#e;#n;#u;#m;#f;#c=new WeakMap;#l=!1;connectedCallback(){const e=this.querySelector(".mds-category-picker__templates");if(this.#r=this.querySelector(".mds-category-picker__pillbox"),this.#t=this.querySelector(".mds-category-picker__search"),this.#e=this.querySelector(".mds-category-picker__input-wrapper"),this.#n=this.querySelector(".mds-category-picker__dropdown"),this.#u=this.querySelector(".mds-category-picker__live-region"),this.#m=this.querySelector(".mds-category-picker__no-results"),!e||!this.#r||!this.#t||!this.#n)return;try{this.#f={...ut,...JSON.parse(this.getAttribute("i18n")||"{}")}}catch{this.#f=ut}if(this.#s=e.querySelector(dt),this.#i=e.querySelector(Pe),!this.#s||!this.#i)return;e.remove(),this.#o=new AbortController;const r={signal:this.#o.signal};this.#r.addEventListener("click",this.#b,r),this.#n.addEventListener("change",this.#y,r),this.#t.addEventListener("blur",this.#d,r),this.#t.addEventListener("input",this.#g,r),this.#t.addEventListener("keydown",this.#C,r),this.#e.addEventListener("click",()=>this.#t.focus(),r),this.#t.addEventListener("focus",()=>this.#p(),r),this.#n.addEventListener("mousedown",n=>{n.target!==this.#t&&n.preventDefault()},r),this.#n.addEventListener("focusout",n=>{(!n.relatedTarget||!this.contains(n.relatedTarget))&&this.#a()},r),this.#n.addEventListener("keydown",n=>{n.key==="Escape"&&(this.#a(),this.#t.focus())},r),document.addEventListener("click",n=>{n.composedPath().includes(this)||this.#a()},r),this.#h()}disconnectedCallback(){this.#o?.abort()}#p(){this.#l||(this.#l=!0,this.classList.add("mds-category-picker--open"),this.#t.setAttribute("aria-expanded","true"))}#a(){this.#l&&(this.#l=!1,this.classList.remove("mds-category-picker--open"),this.#t.setAttribute("aria-expanded","false"),this.#t.value="",this.#w())}#d=e=>{const r=e.relatedTarget;r&&(this.#n.contains(r)||this.#e.contains(r))||this.#a()};#h=()=>{this.#r.replaceChildren(),this.#c=new WeakMap;const e="mds-form-check--has-selection";for(const r of this.#n.querySelectorAll(F))r.classList.remove(e);for(const r of this.#n.querySelectorAll(`${qe}:checked`)){this.#v(r);let n=r.closest(F)?.parentElement;for(;n&&n!==this.#n;)n.matches(F)&&n.classList.add(e),n=n.parentElement}};#v(e){const r=e.dataset.path;if(!r)return;const n=this.#s.cloneNode(!0),s=this.#i.cloneNode(!0);s.setAttribute("aria-label",`${s.getAttribute("aria-label")} ${r}`);const o=document.createElement("span");o.className="mds-category-picker__pill-text",o.textContent=r,n.appendChild(o),n.appendChild(s),this.#r.appendChild(n),this.#c.set(s,e)}#b=({target:e})=>{const r=this.#c.get(e.closest(Pe));r&&(r.checked=!1,r.dispatchEvent(new Event("change",{bubbles:!0})))};#y=()=>{this.#h(),this.#t.value="",this.#w();const e=this.#n.querySelectorAll(`${qe}:checked`).length;this.#x(this.#A("optionsSelectedSingular","optionsSelectedPlural",e))};#g=()=>{const e=this.#t.value.trim();e.length>=2?this.#k(e):this.#w()};#k(e){const r=e.toLowerCase(),n=this.#n.querySelectorAll(F),s=new Set,o=new Set;for(const i of n){const c=i.querySelector(on)?.textContent.trim().toLowerCase()||"";if(c){if(i.querySelector(lt)){c.includes(r)&&(s.add(i),o.add(i));continue}if(i.hidden=!c.includes(r),!i.hidden){let l=i.parentElement;for(;l&&l!==this.#n;)l.matches(F)&&s.add(l),l=l.parentElement}}}for(const i of n){const c=i.querySelector(lt);if(c)if(s.has(i)){if(i.hidden=!1,i.querySelector(".mds-checkbox-accordion__button")?.setAttribute("aria-expanded","true"),o.has(i))for(const l of c.querySelectorAll(F))l.hidden=!1}else i.hidden=!0}let a=0;for(const i of n)i.hidden||a++;this.#E(a===0),this.#x(this.#A("optionsFoundSingular","optionsFoundPlural",a))}#w(){for(const e of this.#n.querySelectorAll(F))e.hidden=!1;this.#E(!1)}#E(e){this.#m?.classList.toggle("mds-category-picker__no-results--visible",e)}#C=e=>{switch(e.key){case"Escape":this.#a(),this.#t.blur();break;case"ArrowDown":{e.preventDefault(),this.#l||this.#p();for(const r of this.#n.querySelectorAll(F)){if(r.hidden)continue;const n=r.querySelector(qe);if(n){n.focus();break}}break}case"Backspace":if(this.#t.value===""){const r=this.#r.querySelectorAll(dt),n=r[r.length-1];if(!n)break;const s=this.#c.get(n.querySelector(Pe));s&&(s.checked=!1,s.dispatchEvent(new Event("change",{bubbles:!0})))}break;case"Tab":this.#a();break}};#A(e,r,n){return n===1?this.#f[e]:this.#f[r].replace("{count}",String(n))}#x(e){this.#u&&(this.#u.textContent="",requestAnimationFrame(()=>{this.#u.textContent=e}))}}class cn extends HTMLElement{#o;constructor(){super()}#r(e){const r=[0,.25,.5,.75,1];if(e==null||e.trim()==="")return r;const n=Number(e);if(!Number.isNaN(n))return n;const s=o=>Array.isArray(o)&&o.length>0&&o.every(a=>typeof a=="number"&&!Number.isNaN(a));try{const o=JSON.parse(e);if(s(o))return o}catch{}return console.warn(`${this.constructor.name}: Invalid observer-threshold "${e}". Falling back to default thresholds.`),r}#s(){const e=new Map,r=n=>{if(n.forEach(i=>{i.intersectionRatio===0?e.delete(i.target.id):e.set(i.target.id,i.intersectionRatio)}),e.size===0){this.#i.forEach(i=>i.removeAttribute("aria-current"));return}const s=e.entries().reduce((i,c)=>c[1]>i[1]?c:i),o=s[0],a=s[1];this.#i.forEach(i=>i.removeAttribute("aria-current")),o&&a>0&&this.querySelector(`[href="#${CSS.escape(o)}"]`)?.setAttribute("aria-current",this.#e)};this.#o=new IntersectionObserver(r,this.#n),this.#t.forEach(n=>this.#o.observe(n))}connectedCallback(){this.#t.length>0&&this.#s()}disconnectedCallback(){this.#o?.disconnect()}get#i(){return Array.from(this.querySelectorAll("a"))}get#t(){const e=[];return this.#i.forEach(r=>{if(new URL(r.href).host!==window.location.host||!r.hash)return;const n=document.querySelector(`#${CSS.escape(r.hash.substring(1))}`);if(!n){console.warn(`${this.constructor.name}: Element with id "${r.hash}" doesn't exist on this page.`);return}e.push(n)}),e}get#e(){return this.getAttribute("aria-current-value")||"step"}get#n(){const e=this.getAttribute("observer-root"),r=this.getAttribute("observer-threshold");return{root:document.querySelector(e),threshold:this.#r(r)}}}window.customElements.get("mds-accordion")||window.customElements.define("mds-accordion",ke);window.customElements.get("mds-dropdown-nav")||window.customElements.define("mds-dropdown-nav",St);window.customElements.get("mds-timeout-dialog")||window.customElements.define("mds-timeout-dialog",Lt);window.customElements.get("mds-card-link")||window.customElements.define("mds-card-link",en);window.customElements.get("mds-conditional-section")||window.customElements.define("mds-conditional-section",sn);window.customElements.get("mds-image-cropper")||window.customElements.define("mds-image-cropper",Ot);window.customElements.get("mds-file-upload")||window.customElements.define("mds-file-upload",j);window.customElements.get("mds-category-picker")||window.customElements.define("mds-category-picker",an);window.customElements.get("mds-scroll-spy")||window.customElements.define("mds-scroll-spy",cn);window.customElements.get("mds-consent-gate")||window.customElements.define("mds-consent-gate",Tt);const Be=()=>{x.init(),It.init(),Nt.init(),Q.init(),De.init(),ne.init(),xt.init(),Zr.setFluidVideos()};window.mdgxInitAll=Be;document.readyState==="loading"?document.addEventListener("DOMContentLoaded",Be):Be();export{mn as setConsentAdapter};
1
+ import{M as St}from"./dropdown-nav-DGGzV21D.js";import{M as Lt}from"./timeout-dialog-plrFUmdZ.js";import{M as Ot}from"./image-cropper-BUN9gxO4.js";import{M as Tt}from"./consent-gate-DVi5q-ir.js";import{s as mn}from"./consent-gate-DVi5q-ir.js";window.addEventListener("hashchange",()=>{const t=window.location.hash.trim();Array.from(document.querySelectorAll(`a[href='${t}']`)).forEach(r=>{r.click()})},!1);const ft={baseline:{$value:"4px"},breakpoint:{md:{$value:"600px"},lg:{$value:"1008px"}}},pt={size:ft},qt="js-tabs-item",Ke="mds-tabs",Pt="mds-tabs__list",$t="mds-tabs__list-item",Ue="mds-tabs__panel",me="mds-tabs__tab",ve="mds-tabs__tab--selected",Ge="mds-tabs__panel--hidden",be={left:37,right:39,up:38,down:40},Dt=".js-desktop-tabbed",Bt=".js-full-tabbed",_t=parseInt(pt.size.breakpoint.lg.$value,10),x={init:()=>{x.setTabs(Bt),window.innerWidth>_t&&x.setTabs(Dt)},setTabs:t=>{const e=Array.from(document.querySelectorAll(`${t} .${me}`)),r=Array.from(document.querySelectorAll(`${t} .${Pt}`)),n=Array.from(document.querySelectorAll(`${t} .${$t}`)),s=Array.from(document.querySelectorAll(`${t} .${Ue}`));r.forEach(i=>{i.setAttribute("role","tablist")}),n.forEach(i=>{i.setAttribute("role","presentation")}),e.forEach(i=>{i.setAttribute("role","tab"),i.setAttribute("aria-controls",i.attributes.href.value.substring(1)),i.classList.contains(ve)?i.setAttribute("tabindex","0"):i.setAttribute("tabindex","-1")}),s.forEach(i=>{i.setAttribute("role","tabpanel"),i.setAttribute("aria-labelledby",`label-${i.attributes.id.value}`)});const o=document.querySelectorAll(`${t} .${qt}`);Array.from(o).forEach(i=>{const c=window.location.hash.trim(),l=i.attributes.href.value,d=i.closest(`.${Ke}`),p=x.getAllPanels(d),f=x.getAllTabs(d),h=x.getTargetPanel(i,d);i.addEventListener("click",m=>{m.preventDefault(),x.updateTabs(f,p,i,h,l)}),l===c&&x.updateTabs(f,p,i,h,l)}),r.forEach(i=>{const c=i.closest(`.${Ke}`),l=x.getAllPanels(c),d=x.getAllTabs(c);i.addEventListener("keydown",p=>{switch(p.keyCode){case be.left:case be.up:p.preventDefault(),x.moveTab(i,c,d,l,!1);break;case be.right:case be.down:p.preventDefault(),x.moveTab(i,c,d,l,!0);break}})})},getSelectedTab:t=>t.querySelector(`.${ve}`),getPrevTab:t=>t.parentElement.previousSibling?t.parentElement.previousSibling.querySelector(`.${me}`):!1,getNextTab:t=>t.parentElement.nextSibling?t.parentElement.nextSibling.querySelector(`.${me}`):!1,getTargetPanel:(t,e)=>{const r=t.attributes.href.value;return e.querySelector(r)},getAllPanels:t=>Array.from(t.querySelectorAll(`.${Ue}`)),getAllTabs:t=>Array.from(t.querySelectorAll(`.${me}`)),moveTab:(t,e,r,n,s)=>{const o=x.getSelectedTab(t),a=s?x.getNextTab(o):x.getPrevTab(o);if(a){const i=a.attributes.href.value,c=x.getTargetPanel(a,e);x.updateTabs(r,n,a,c,i,!1)}},updateTabs:(t,e,r,n,s)=>{x.clearAllTabs(t),x.setActiveTab(r),x.clearAllPanels(e),x.setActivePanel(n,s)},clearAllTabs:t=>{t.forEach(e=>{e.classList.remove(ve),e.setAttribute("aria-selected","false"),e.setAttribute("tabindex","-1")})},clearAllPanels:t=>{t.forEach(e=>{e.classList.add(Ge)})},setActiveTab:t=>{t.classList.add(ve),t.setAttribute("aria-selected","true"),t.setAttribute("tabindex","0"),t.focus()},setActivePanel:(t,e)=>{t.classList.remove(Ge),window.history.replaceState({},"",e)}},It={init:()=>{const t=document.querySelectorAll(".mds-subnavigation"),e=[];let r;t.forEach(s=>{const o=s.querySelector(".mds-subnavigation__link-list"),a=Array.from(o.children),i=a[0],c=s.querySelector(".mds-subnavigation__mobile-title"),l=s.querySelector(".mds-subnavigation__drawer"),d=s.querySelector(".mds-subnavigation__drawer-label"),p=s.querySelector(".mds-subnavigation__drawer-label-text"),f=s.querySelector(".mds-subnavigation__drawer-content"),h=l.dataset.label,m=l.dataset.labelPlural;d.addEventListener("click",()=>{d.getAttribute("aria-expanded")==="true"?d.setAttribute("aria-expanded","false"):d.setAttribute("aria-expanded","true")}),l.addEventListener("focusout",v=>{l.contains(v.relatedTarget)||d.setAttribute("aria-expanded","false")});const g=()=>o.clientHeight>i.offsetHeight;e.push(()=>{d.setAttribute("aria-expanded","false"),window.getComputedStyle(c).getPropertyValue("display")==="none"?(a.forEach(b=>{o.append(b)}),l.style.display="none",g()&&(l.style.display="list-item",a.slice().reverse().forEach(b=>{if(g()&&b!==l){f.prepend(b);const y=Array.from(f.children).length,E=y>1?m:h;p.innerText=E.replace("{count}",y)}else o.prepend(b)}),f.style.width=`${o.offsetWidth-l.offsetLeft}px`)):(a.forEach(b=>{b!==l&&b!==c&&f.append(b)}),f.style.width="initial",l.style.display="block")})});const n=()=>{e.forEach(s=>{s()})};n(),window.onresize=()=>{clearTimeout(r),r=setTimeout(n,100)}}},Mt="mds-checkbox-accordion__button",Rt="mds-checkbox-accordion__button--open",Nt={init:()=>{document.querySelectorAll(`.${Mt}`).forEach(e=>{e.classList.contains(Rt)?e.setAttribute("aria-expanded","true"):e.setAttribute("aria-expanded","false"),e.addEventListener("click",()=>{e.getAttribute("aria-expanded")==="true"?e.setAttribute("aria-expanded","false"):e.setAttribute("aria-expanded","true")})})}};var T="top",P="bottom",$="right",q="left",_e="auto",le=[T,P,$,q],Z="start",Ie="end",jt="clippingParents",ht="viewport",re="popper",Wt="reference",Qe=le.reduce(function(t,e){return t.concat([e+"-"+Z,e+"-"+Ie])},[]),mt=[].concat(le,[_e]).reduce(function(t,e){return t.concat([e,e+"-"+Z,e+"-"+Ie])},[]),Ft="beforeRead",Ht="read",Vt="afterRead",zt="beforeMain",Xt="main",Yt="afterMain",Jt="beforeWrite",Kt="write",Ut="afterWrite",Gt=[Ft,Ht,Vt,zt,Xt,Yt,Jt,Kt,Ut];function R(t){return t?(t.nodeName||"").toLowerCase():null}function B(t){if(t==null)return window;if(t.toString()!=="[object Window]"){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function ie(t){var e=B(t).Element;return t instanceof e||t instanceof Element}function D(t){var e=B(t).HTMLElement;return t instanceof e||t instanceof HTMLElement}function vt(t){if(typeof ShadowRoot>"u")return!1;var e=B(t).ShadowRoot;return t instanceof e||t instanceof ShadowRoot}function Qt(t){var e=t.state;Object.keys(e.elements).forEach(function(r){var n=e.styles[r]||{},s=e.attributes[r]||{},o=e.elements[r];!D(o)||!R(o)||(Object.assign(o.style,n),Object.keys(s).forEach(function(a){var i=s[a];i===!1?o.removeAttribute(a):o.setAttribute(a,i===!0?"":i)}))})}function Zt(t){var e=t.state,r={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,r.popper),e.styles=r,e.elements.arrow&&Object.assign(e.elements.arrow.style,r.arrow),function(){Object.keys(e.elements).forEach(function(n){var s=e.elements[n],o=e.attributes[n]||{},a=Object.keys(e.styles.hasOwnProperty(n)?e.styles[n]:r[n]),i=a.reduce(function(c,l){return c[l]="",c},{});!D(s)||!R(s)||(Object.assign(s.style,i),Object.keys(o).forEach(function(c){s.removeAttribute(c)}))})}}const er={name:"applyStyles",enabled:!0,phase:"write",fn:Qt,effect:Zt,requires:["computeStyles"]};function M(t){return t.split("-")[0]}function ee(t){var e=t.getBoundingClientRect();return{width:e.width,height:e.height,top:e.top,right:e.right,bottom:e.bottom,left:e.left,x:e.left,y:e.top}}function Me(t){var e=ee(t),r=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-r)<=1&&(r=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:r,height:n}}function bt(t,e){var r=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(r&&vt(r)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function W(t){return B(t).getComputedStyle(t)}function tr(t){return["table","td","th"].indexOf(R(t))>=0}function V(t){return((ie(t)?t.ownerDocument:t.document)||window.document).documentElement}function Ce(t){return R(t)==="html"?t:t.assignedSlot||t.parentNode||(vt(t)?t.host:null)||V(t)}function Ze(t){return!D(t)||W(t).position==="fixed"?null:t.offsetParent}function rr(t){var e=navigator.userAgent.toLowerCase().indexOf("firefox")!==-1,r=navigator.userAgent.indexOf("Trident")!==-1;if(r&&D(t)){var n=W(t);if(n.position==="fixed")return null}for(var s=Ce(t);D(s)&&["html","body"].indexOf(R(s))<0;){var o=W(s);if(o.transform!=="none"||o.perspective!=="none"||o.contain==="paint"||["transform","perspective"].indexOf(o.willChange)!==-1||e&&o.willChange==="filter"||e&&o.filter&&o.filter!=="none")return s;s=s.parentNode}return null}function de(t){for(var e=B(t),r=Ze(t);r&&tr(r)&&W(r).position==="static";)r=Ze(r);return r&&(R(r)==="html"||R(r)==="body"&&W(r).position==="static")?e:r||rr(t)||e}function Re(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}var H=Math.max,oe=Math.min,ge=Math.round;function Ae(t,e,r){return H(t,oe(e,r))}function gt(){return{top:0,right:0,bottom:0,left:0}}function yt(t){return Object.assign({},gt(),t)}function wt(t,e){return e.reduce(function(r,n){return r[n]=t,r},{})}var nr=function(e,r){return e=typeof e=="function"?e(Object.assign({},r.rects,{placement:r.placement})):e,yt(typeof e!="number"?e:wt(e,le))};function sr(t){var e,r=t.state,n=t.name,s=t.options,o=r.elements.arrow,a=r.modifiersData.popperOffsets,i=M(r.placement),c=Re(i),l=[q,$].indexOf(i)>=0,d=l?"height":"width";if(!(!o||!a)){var p=nr(s.padding,r),f=Me(o),h=c==="y"?T:q,m=c==="y"?P:$,g=r.rects.reference[d]+r.rects.reference[c]-a[c]-r.rects.popper[d],v=a[c]-r.rects.reference[c],b=de(o),y=b?c==="y"?b.clientHeight||0:b.clientWidth||0:0,E=g/2-v/2,u=p[h],C=y-f[d]-p[m],w=y/2-f[d]/2+E,k=Ae(u,w,C),A=c;r.modifiersData[n]=(e={},e[A]=k,e.centerOffset=k-w,e)}}function ir(t){var e=t.state,r=t.options,n=r.element,s=n===void 0?"[data-popper-arrow]":n;s!=null&&(typeof s=="string"&&(s=e.elements.popper.querySelector(s),!s)||bt(e.elements.popper,s)&&(e.elements.arrow=s))}const or={name:"arrow",enabled:!0,phase:"main",fn:sr,effect:ir,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};var ar={top:"auto",right:"auto",bottom:"auto",left:"auto"};function cr(t){var e=t.x,r=t.y,n=window,s=n.devicePixelRatio||1;return{x:ge(ge(e*s)/s)||0,y:ge(ge(r*s)/s)||0}}function et(t){var e,r=t.popper,n=t.popperRect,s=t.placement,o=t.offsets,a=t.position,i=t.gpuAcceleration,c=t.adaptive,l=t.roundOffsets,d=l===!0?cr(o):typeof l=="function"?l(o):o,p=d.x,f=p===void 0?0:p,h=d.y,m=h===void 0?0:h,g=o.hasOwnProperty("x"),v=o.hasOwnProperty("y"),b=q,y=T,E=window;if(c){var u=de(r),C="clientHeight",w="clientWidth";u===B(r)&&(u=V(r),W(u).position!=="static"&&(C="scrollHeight",w="scrollWidth")),u=u,s===T&&(y=P,m-=u[C]-n.height,m*=i?1:-1),s===q&&(b=$,f-=u[w]-n.width,f*=i?1:-1)}var k=Object.assign({position:a},c&&ar);if(i){var A;return Object.assign({},k,(A={},A[y]=v?"0":"",A[b]=g?"0":"",A.transform=(E.devicePixelRatio||1)<2?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",A))}return Object.assign({},k,(e={},e[y]=v?m+"px":"",e[b]=g?f+"px":"",e.transform="",e))}function lr(t){var e=t.state,r=t.options,n=r.gpuAcceleration,s=n===void 0?!0:n,o=r.adaptive,a=o===void 0?!0:o,i=r.roundOffsets,c=i===void 0?!0:i,l={placement:M(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,et(Object.assign({},l,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:a,roundOffsets:c})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,et(Object.assign({},l,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:c})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}const dr={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:lr,data:{}};var ye={passive:!0};function ur(t){var e=t.state,r=t.instance,n=t.options,s=n.scroll,o=s===void 0?!0:s,a=n.resize,i=a===void 0?!0:a,c=B(e.elements.popper),l=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&l.forEach(function(d){d.addEventListener("scroll",r.update,ye)}),i&&c.addEventListener("resize",r.update,ye),function(){o&&l.forEach(function(d){d.removeEventListener("scroll",r.update,ye)}),i&&c.removeEventListener("resize",r.update,ye)}}const fr={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:ur,data:{}};var pr={left:"right",right:"left",bottom:"top",top:"bottom"};function xe(t){return t.replace(/left|right|bottom|top/g,function(e){return pr[e]})}var hr={start:"end",end:"start"};function tt(t){return t.replace(/start|end/g,function(e){return hr[e]})}function Ne(t){var e=B(t),r=e.pageXOffset,n=e.pageYOffset;return{scrollLeft:r,scrollTop:n}}function je(t){return ee(V(t)).left+Ne(t).scrollLeft}function mr(t){var e=B(t),r=V(t),n=e.visualViewport,s=r.clientWidth,o=r.clientHeight,a=0,i=0;return n&&(s=n.width,o=n.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(a=n.offsetLeft,i=n.offsetTop)),{width:s,height:o,x:a+je(t),y:i}}function vr(t){var e,r=V(t),n=Ne(t),s=(e=t.ownerDocument)==null?void 0:e.body,o=H(r.scrollWidth,r.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),a=H(r.scrollHeight,r.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),i=-n.scrollLeft+je(t),c=-n.scrollTop;return W(s||r).direction==="rtl"&&(i+=H(r.clientWidth,s?s.clientWidth:0)-o),{width:o,height:a,x:i,y:c}}function We(t){var e=W(t),r=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(r+s+n)}function Et(t){return["html","body","#document"].indexOf(R(t))>=0?t.ownerDocument.body:D(t)&&We(t)?t:Et(Ce(t))}function se(t,e){var r;e===void 0&&(e=[]);var n=Et(t),s=n===((r=t.ownerDocument)==null?void 0:r.body),o=B(n),a=s?[o].concat(o.visualViewport||[],We(n)?n:[]):n,i=e.concat(a);return s?i:i.concat(se(Ce(a)))}function $e(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function br(t){var e=ee(t);return e.top=e.top+t.clientTop,e.left=e.left+t.clientLeft,e.bottom=e.top+t.clientHeight,e.right=e.left+t.clientWidth,e.width=t.clientWidth,e.height=t.clientHeight,e.x=e.left,e.y=e.top,e}function rt(t,e){return e===ht?$e(mr(t)):D(e)?br(e):$e(vr(V(t)))}function gr(t){var e=se(Ce(t)),r=["absolute","fixed"].indexOf(W(t).position)>=0,n=r&&D(t)?de(t):t;return ie(n)?e.filter(function(s){return ie(s)&&bt(s,n)&&R(s)!=="body"}):[]}function yr(t,e,r){var n=e==="clippingParents"?gr(t):[].concat(e),s=[].concat(n,[r]),o=s[0],a=s.reduce(function(i,c){var l=rt(t,c);return i.top=H(l.top,i.top),i.right=oe(l.right,i.right),i.bottom=oe(l.bottom,i.bottom),i.left=H(l.left,i.left),i},rt(t,o));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function ae(t){return t.split("-")[1]}function At(t){var e=t.reference,r=t.element,n=t.placement,s=n?M(n):null,o=n?ae(n):null,a=e.x+e.width/2-r.width/2,i=e.y+e.height/2-r.height/2,c;switch(s){case T:c={x:a,y:e.y-r.height};break;case P:c={x:a,y:e.y+e.height};break;case $:c={x:e.x+e.width,y:i};break;case q:c={x:e.x-r.width,y:i};break;default:c={x:e.x,y:e.y}}var l=s?Re(s):null;if(l!=null){var d=l==="y"?"height":"width";switch(o){case Z:c[l]=c[l]-(e[d]/2-r[d]/2);break;case Ie:c[l]=c[l]+(e[d]/2-r[d]/2);break}}return c}function ce(t,e){e===void 0&&(e={});var r=e,n=r.placement,s=n===void 0?t.placement:n,o=r.boundary,a=o===void 0?jt:o,i=r.rootBoundary,c=i===void 0?ht:i,l=r.elementContext,d=l===void 0?re:l,p=r.altBoundary,f=p===void 0?!1:p,h=r.padding,m=h===void 0?0:h,g=yt(typeof m!="number"?m:wt(m,le)),v=d===re?Wt:re,b=t.elements.reference,y=t.rects.popper,E=t.elements[f?v:d],u=yr(ie(E)?E:E.contextElement||V(t.elements.popper),a,c),C=ee(b),w=At({reference:C,element:y,placement:s}),k=$e(Object.assign({},y,w)),A=d===re?k:C,S={top:u.top-A.top+g.top,bottom:A.bottom-u.bottom+g.bottom,left:u.left-A.left+g.left,right:A.right-u.right+g.right},O=t.modifiersData.offset;if(d===re&&O){var _=O[s];Object.keys(S).forEach(function(N){var L=[$,P].indexOf(N)>=0?1:-1,z=[T,P].indexOf(N)>=0?"y":"x";S[N]+=_[z]*L})}return S}function wr(t,e){e===void 0&&(e={});var r=e,n=r.placement,s=r.boundary,o=r.rootBoundary,a=r.padding,i=r.flipVariations,c=r.allowedAutoPlacements,l=c===void 0?mt:c,d=ae(n),p=d?i?Qe:Qe.filter(function(m){return ae(m)===d}):le,f=p.filter(function(m){return l.indexOf(m)>=0});f.length===0&&(f=p);var h=f.reduce(function(m,g){return m[g]=ce(t,{placement:g,boundary:s,rootBoundary:o,padding:a})[M(g)],m},{});return Object.keys(h).sort(function(m,g){return h[m]-h[g]})}function Er(t){if(M(t)===_e)return[];var e=xe(t);return[tt(t),e,tt(e)]}function Ar(t){var e=t.state,r=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=r.mainAxis,o=s===void 0?!0:s,a=r.altAxis,i=a===void 0?!0:a,c=r.fallbackPlacements,l=r.padding,d=r.boundary,p=r.rootBoundary,f=r.altBoundary,h=r.flipVariations,m=h===void 0?!0:h,g=r.allowedAutoPlacements,v=e.options.placement,b=M(v),y=b===v,E=c||(y||!m?[xe(v)]:Er(v)),u=[v].concat(E).reduce(function(Y,I){return Y.concat(M(I)===_e?wr(e,{placement:I,boundary:d,rootBoundary:p,padding:l,flipVariations:m,allowedAutoPlacements:g}):I)},[]),C=e.rects.reference,w=e.rects.popper,k=new Map,A=!0,S=u[0],O=0;O<u.length;O++){var _=u[O],N=M(_),L=ae(_)===Z,z=[T,P].indexOf(N)>=0,te=z?"width":"height",J=ce(e,{placement:_,boundary:d,rootBoundary:p,altBoundary:f,padding:l}),X=z?L?$:q:L?P:T;C[te]>w[te]&&(X=xe(X));var Se=xe(X),K=[];if(o&&K.push(J[N]<=0),i&&K.push(J[X]<=0,J[Se]<=0),K.every(function(Y){return Y})){S=_,A=!1;break}k.set(_,K)}if(A)for(var ue=m?3:1,Le=function(I){var pe=u.find(function(Oe){var G=k.get(Oe);if(G)return G.slice(0,I).every(function(Te){return Te})});if(pe)return S=pe,"break"},U=ue;U>0;U--){var fe=Le(U);if(fe==="break")break}e.placement!==S&&(e.modifiersData[n]._skip=!0,e.placement=S,e.reset=!0)}}const xr={name:"flip",enabled:!0,phase:"main",fn:Ar,requiresIfExists:["offset"],data:{_skip:!1}};function nt(t,e,r){return r===void 0&&(r={x:0,y:0}),{top:t.top-e.height-r.y,right:t.right-e.width+r.x,bottom:t.bottom-e.height+r.y,left:t.left-e.width-r.x}}function st(t){return[T,$,P,q].some(function(e){return t[e]>=0})}function kr(t){var e=t.state,r=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,a=ce(e,{elementContext:"reference"}),i=ce(e,{altBoundary:!0}),c=nt(a,n),l=nt(i,s,o),d=st(c),p=st(l);e.modifiersData[r]={referenceClippingOffsets:c,popperEscapeOffsets:l,isReferenceHidden:d,hasPopperEscaped:p},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":d,"data-popper-escaped":p})}const Cr={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:kr};function Sr(t,e,r){var n=M(t),s=[q,T].indexOf(n)>=0?-1:1,o=typeof r=="function"?r(Object.assign({},e,{placement:t})):r,a=o[0],i=o[1];return a=a||0,i=(i||0)*s,[q,$].indexOf(n)>=0?{x:i,y:a}:{x:a,y:i}}function Lr(t){var e=t.state,r=t.options,n=t.name,s=r.offset,o=s===void 0?[0,0]:s,a=mt.reduce(function(d,p){return d[p]=Sr(p,e.rects,o),d},{}),i=a[e.placement],c=i.x,l=i.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=c,e.modifiersData.popperOffsets.y+=l),e.modifiersData[n]=a}const Or={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Lr};function Tr(t){var e=t.state,r=t.name;e.modifiersData[r]=At({reference:e.rects.reference,element:e.rects.popper,placement:e.placement})}const qr={name:"popperOffsets",enabled:!0,phase:"read",fn:Tr,data:{}};function Pr(t){return t==="x"?"y":"x"}function $r(t){var e=t.state,r=t.options,n=t.name,s=r.mainAxis,o=s===void 0?!0:s,a=r.altAxis,i=a===void 0?!1:a,c=r.boundary,l=r.rootBoundary,d=r.altBoundary,p=r.padding,f=r.tether,h=f===void 0?!0:f,m=r.tetherOffset,g=m===void 0?0:m,v=ce(e,{boundary:c,rootBoundary:l,padding:p,altBoundary:d}),b=M(e.placement),y=ae(e.placement),E=!y,u=Re(b),C=Pr(u),w=e.modifiersData.popperOffsets,k=e.rects.reference,A=e.rects.popper,S=typeof g=="function"?g(Object.assign({},e.rects,{placement:e.placement})):g,O={x:0,y:0};if(w){if(o||i){var _=u==="y"?T:q,N=u==="y"?P:$,L=u==="y"?"height":"width",z=w[u],te=w[u]+v[_],J=w[u]-v[N],X=h?-A[L]/2:0,Se=y===Z?k[L]:A[L],K=y===Z?-A[L]:-k[L],ue=e.elements.arrow,Le=h&&ue?Me(ue):{width:0,height:0},U=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:gt(),fe=U[_],Y=U[N],I=Ae(0,k[L],Le[L]),pe=E?k[L]/2-X-I-fe-S:Se-I-fe-S,Oe=E?-k[L]/2+X+I+Y+S:K+I+Y+S,G=e.elements.arrow&&de(e.elements.arrow),Te=G?u==="y"?G.clientTop||0:G.clientLeft||0:0,Fe=e.modifiersData.offset?e.modifiersData.offset[e.placement][u]:0,He=w[u]+pe-Fe-Te,Ve=w[u]+Oe-Fe;if(o){var ze=Ae(h?oe(te,He):te,z,h?H(J,Ve):J);w[u]=ze,O[u]=ze-z}if(i){var kt=u==="x"?T:q,Ct=u==="x"?P:$,he=w[C],Xe=he+v[kt],Ye=he-v[Ct],Je=Ae(h?oe(Xe,He):Xe,he,h?H(Ye,Ve):Ye);w[C]=Je,O[C]=Je-he}}e.modifiersData[n]=O}}const Dr={name:"preventOverflow",enabled:!0,phase:"main",fn:$r,requiresIfExists:["offset"]};function Br(t){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}function _r(t){return t===B(t)||!D(t)?Ne(t):Br(t)}function Ir(t,e,r){r===void 0&&(r=!1);var n=V(e),s=ee(t),o=D(e),a={scrollLeft:0,scrollTop:0},i={x:0,y:0};return(o||!o&&!r)&&((R(e)!=="body"||We(n))&&(a=_r(e)),D(e)?(i=ee(e),i.x+=e.clientLeft,i.y+=e.clientTop):n&&(i.x=je(n))),{x:s.left+a.scrollLeft-i.x,y:s.top+a.scrollTop-i.y,width:s.width,height:s.height}}function Mr(t){var e=new Map,r=new Set,n=[];t.forEach(function(o){e.set(o.name,o)});function s(o){r.add(o.name);var a=[].concat(o.requires||[],o.requiresIfExists||[]);a.forEach(function(i){if(!r.has(i)){var c=e.get(i);c&&s(c)}}),n.push(o)}return t.forEach(function(o){r.has(o.name)||s(o)}),n}function Rr(t){var e=Mr(t);return Gt.reduce(function(r,n){return r.concat(e.filter(function(s){return s.phase===n}))},[])}function Nr(t){var e;return function(){return e||(e=new Promise(function(r){Promise.resolve().then(function(){e=void 0,r(t())})})),e}}function jr(t){var e=t.reduce(function(r,n){var s=r[n.name];return r[n.name]=s?Object.assign({},s,n,{options:Object.assign({},s.options,n.options),data:Object.assign({},s.data,n.data)}):n,r},{});return Object.keys(e).map(function(r){return e[r]})}var it={placement:"bottom",modifiers:[],strategy:"absolute"};function ot(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];return!e.some(function(n){return!(n&&typeof n.getBoundingClientRect=="function")})}function Wr(t){t===void 0&&(t={});var e=t,r=e.defaultModifiers,n=r===void 0?[]:r,s=e.defaultOptions,o=s===void 0?it:s;return function(i,c,l){l===void 0&&(l=o);var d={placement:"bottom",orderedModifiers:[],options:Object.assign({},it,o),modifiersData:{},elements:{reference:i,popper:c},attributes:{},styles:{}},p=[],f=!1,h={state:d,setOptions:function(b){g(),d.options=Object.assign({},o,d.options,b),d.scrollParents={reference:ie(i)?se(i):i.contextElement?se(i.contextElement):[],popper:se(c)};var y=Rr(jr([].concat(n,d.options.modifiers)));return d.orderedModifiers=y.filter(function(E){return E.enabled}),m(),h.update()},forceUpdate:function(){if(!f){var b=d.elements,y=b.reference,E=b.popper;if(ot(y,E)){d.rects={reference:Ir(y,de(E),d.options.strategy==="fixed"),popper:Me(E)},d.reset=!1,d.placement=d.options.placement,d.orderedModifiers.forEach(function(O){return d.modifiersData[O.name]=Object.assign({},O.data)});for(var u=0;u<d.orderedModifiers.length;u++){if(d.reset===!0){d.reset=!1,u=-1;continue}var C=d.orderedModifiers[u],w=C.fn,k=C.options,A=k===void 0?{}:k,S=C.name;typeof w=="function"&&(d=w({state:d,options:A,name:S,instance:h})||d)}}}},update:Nr(function(){return new Promise(function(v){h.forceUpdate(),v(d)})}),destroy:function(){g(),f=!0}};if(!ot(i,c))return h;h.setOptions(l).then(function(v){!f&&l.onFirstUpdate&&l.onFirstUpdate(v)});function m(){d.orderedModifiers.forEach(function(v){var b=v.name,y=v.options,E=y===void 0?{}:y,u=v.effect;if(typeof u=="function"){var C=u({state:d,name:b,instance:h,options:E}),w=function(){};p.push(C||w)}})}function g(){p.forEach(function(v){return v()}),p=[]}return h}}var Fr=[fr,qr,dr,er,Or,xr,Dr,or,Cr],Hr=Wr({defaultModifiers:Fr});const Vr=parseInt(ft.baseline.$value,10),zr="js-mds-popover-trigger",we="mds-popover--active",ne={init:()=>{Array.from(document.querySelectorAll(`.${zr}`)).forEach(e=>{const n=`${e.getAttribute("id")}-content`,s=document.getElementById(n),o=s.dataset?s.dataset.placement:null,a=Hr(e,s,{placement:o||"top-end",strategy:"fixed",modifiers:[{name:"offset",options:{offset:[0,Vr*3]}},{name:"arrow",options:{padding:5}}]});e.setAttribute("aria-expanded","false"),s.setAttribute("aria-hidden","true"),e.addEventListener("click",i=>{i.preventDefault(),a.update(),s.classList.toggle(we),ne.setAriaAttr(e,s,we)}),document.addEventListener("mousedown",i=>{ne.hide(e,s,a,we,i)}),document.addEventListener("keydown",i=>{ne.hide(e,s,a,we,i)})})},hide:(t,e,r,n,s)=>{!t.contains(s.target)&&!r.state.elements.popper.contains(s.target)&&e.classList.contains(n)&&(e.classList.remove(n),ne.setAriaAttr(t,e,n))},setAriaAttr:(t,e,r)=>{e.classList.contains(r)?(t.setAttribute("aria-expanded","true"),e.removeAttribute("aria-hidden")):(t.setAttribute("aria-expanded","false"),e.setAttribute("aria-hidden","true"))}},Xr=parseInt(pt.size.breakpoint.md.$value,10),at="data-modal-id",ct="mds-modal--active",Yr="js-mds-modal-close";let Ee;const Q={init:()=>{window.innerWidth>Xr&&Array.from(document.querySelectorAll(`[${at}]`)).forEach(r=>{const n=r.getAttribute(at),s=document.getElementById(n),o=Array.from(s.querySelectorAll(`.${Yr}`)),a=s.getAttribute("data-site-container"),i=document.getElementById(a);let l=s.querySelectorAll('a[href], area[href], input:not([disabled]):not([type="hidden"]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, [tabindex="0"], [contenteditable]');l=Array.prototype.slice.call(l);const d=l[0],p=l[l.length-1];r.addEventListener("click",f=>{f.preventDefault(),Q.open(s,d,i)}),s.addEventListener("click",f=>{f.target===s&&Q.close(s,Ee,i)}),s.addEventListener("keydown",f=>{Q.trapFocus(f,d,p),(f.key==="Escape"||f.key==="Esc")&&Q.close(s,Ee,i)}),o.forEach(f=>{f.addEventListener("click",()=>{Q.close(s,Ee,i)})})})},open:(t,e,r)=>{Ee=document.activeElement,t.classList.add(ct),e.focus(),r?.setAttribute("aria-hidden","true")},close:(t,e,r)=>{r?.removeAttribute("aria-hidden"),t.classList.remove(ct),e.focus()},trapFocus:(t,e,r)=>{t.key==="Tab"&&(t.shiftKey?document.activeElement===e&&(t.preventDefault(),r.focus()):document.activeElement===r&&(t.preventDefault(),e.focus()))}};class j extends HTMLElement{static selectedFileClass="mds-file-upload--selected-file";static selectedFileIsImageClass="mds-file-upload--selected-file-is-image";static dragOverClass="mds-file-upload--dragover";constructor(){super()}connectedCallback(){this.classList.add("mds-form-element--file-supported"),this.#e.addEventListener("change",this.#l),this.#n.addEventListener("click",this.#p),this.#e.addEventListener("dragover",this.#a),this.#e.addEventListener("dragenter",this.#a),this.#e.addEventListener("dragleave",this.#d),this.#e.addEventListener("dragend",this.#d),this.#e.addEventListener("drop",this.#d),this.#c?.addEventListener("commit",this.#h),this.#c?.addEventListener("reset",this.#v),this.#b(!0)}disconnectedCallback(){this.#e?.removeEventListener("change",this.#l),this.#n?.removeEventListener("click",this.#p),this.#e?.removeEventListener("dragover",this.#a),this.#e?.removeEventListener("dragenter",this.#a),this.#e?.removeEventListener("dragleave",this.#d),this.#e?.removeEventListener("dragend",this.#d),this.#e?.removeEventListener("drop",this.#d),this.#c?.removeEventListener("commit",this.#h),this.#c?.removeEventListener("reset",this.#v)}get rootNode(){return this}get#s(){return this.getRootNode({composed:!0})}get#r(){return this.#e?.files?.[0]}get#i(){return this.#r?.type?.startsWith("image/")}get#o(){const e=this.rootNode.getAttribute("no-auto-open-image-cropper");return e!==null&&e!=="false"}get#t(){return this.rootNode.querySelector(".mds-file-upload__file-name")}get#e(){return this.rootNode.querySelector("input[type=file]")}get#n(){return this.rootNode.querySelector(".mds-file-upload__remove-button")}get#u(){return this.rootNode.querySelector(".mds-file-upload__preview-image")}get#m(){return this.rootNode.querySelector(".mds-file-upload__open-modal")}get#f(){return this.rootNode.querySelector(".mds-modal")}get#c(){return this.rootNode.querySelector("mds-image-cropper")}#l=e=>{const{dontOpenModal:r=!1}=e?.detail||{};this.#b(),this.#r&&this.#n.focus(),!r&&this.#i&&!this.#o&&this.#y()};#p=e=>{e.preventDefault(),this.removeFile(),this.#e.focus()};#a=e=>{e.stopPropagation(),this.classList.add(j.dragOverClass)};#d=e=>{e.stopPropagation(),this.classList.remove(j.dragOverClass)};#h=e=>{const r=e.detail;if(r){const n=new File([r],this.#r?.name||"cropped-image",{type:r.type}),s=new DataTransfer;s.items.add(n),this.#e.files=s.files,this.#e.dispatchEvent(new CustomEvent("change",{detail:{dontOpenModal:!0},bubbles:!0})),this.#g()}};#v=()=>{this.#g()};#b(e=!1){if(this.#r)if(this.#t.textContent=this.#r.name,this.classList.add(j.selectedFileClass),this.#i){this.classList.add(j.selectedFileIsImageClass);const r=new FileReader;r.onload=n=>{this.#u.src=n.target.result,this.#c?.setAttribute("src",n.target.result)},r.readAsDataURL(this.#r)}else this.classList.remove(j.selectedFileIsImageClass);else e||(this.#t.textContent="",this.classList.remove(j.selectedFileClass),this.classList.remove(j.selectedFileIsImageClass))}#y(){this.#m?.dispatchEvent(new Event("click"))}#g(){this.#f?.querySelector(".js-mds-modal-close").dispatchEvent(new Event("click"))}removeFile(){this.#e.value="",this.#e.dispatchEvent(new Event("change",{bubbles:!0}))}}const Jr=".mds-form-element--character-count",Kr=".mds-form-message--character-count",Ur=".js-character-count-number",Gr=".mds-form-control",De={init:()=>{Array.from(document.querySelectorAll(Jr)).forEach(e=>{const r=e.querySelector(Gr),n=r.getAttribute("maxlength"),s=e.querySelector(Kr),o=e.querySelector(Ur);r.removeAttribute("maxlength"),De.updateCounter(r,n,o,s),r.addEventListener("input",a=>{a.stopPropagation(),De.updateCounter(r,n,o,s)})})},updateCounter:(t,e,r,n)=>{const s=t.value.match(/(\r\n|\n|\r)/g),o=t.value.length+(s?s.length:0),a=e-o;r.textContent=a,a<0?n.classList.add("mds-form-message--error"):n.classList.remove("mds-form-message--error")}},Qr="js-mds-button-double-submit",xt={init:()=>{Array.from(document.querySelectorAll(`.${Qr}`)).forEach(e=>{e.addEventListener("click",()=>{xt.toggleDisable(e)})})},toggleDisable:t=>{setTimeout(()=>{t.setAttribute("disabled","")},1),setTimeout(()=>{t.removeAttribute("disabled")},1e3)}},Zr={setFluidVideos:()=>{Array.from(document.querySelectorAll(".mds-prose iframe, .mds-prose embed, .mds-prose object")).filter(e=>!e.closest("mds-consent-gate")).forEach(e=>{const r=document.createElement("div");r.classList.add("mds-fluid-video"),r.innerHTML=e.outerHTML,e.replaceWith(r)})}};class ke extends HTMLElement{static accordionBreakpointClass="mds-accordion--breakpoint";static accordionCloseButtonClass="mds-accordion__close-button";#s;constructor(){super()}connectedCallback(){this.#s=new AbortController,this.#r.classList.contains(ke.accordionBreakpointClass)&&!this.#e()?(this.#r.open=!0,this.#i.style.display="none"):this.#i.style.display="",this.#o&&this.#o.addEventListener("click",this.#t,{signal:this.#s.signal})}disconnectedCallback(){this.#s?.abort()}get#r(){return this.querySelector("details")}get#i(){return this.querySelector("summary")}get#o(){return this.querySelector(`.${ke.accordionCloseButtonClass}`)}#t=()=>{this.#r.open=!1,this.#i.focus()};#e(){let e;if(this.#r.dataset.bp){const r=this.#r.dataset.bp.replace(/\D/g,""),n=this.#r.dataset.bp.replace(/[0-9]/g,"");let s,o;switch(n){case"px":e=r;break;case"em":s=window.getComputedStyle(document.querySelector("body"))["font-size"],o=r*parseFloat(s),e=o;break;case"rem":s=window.getComputedStyle(document.querySelector("body"))["font-size"],o=r*parseFloat(s),e=o;break;default:return!0}return!(window.innerWidth>e)}return!0}}class en extends HTMLElement{connectedCallback(){const r=this.querySelector(".mds-card-link__link");let n;this.onmousedown=()=>{n=+new Date},this.onmouseup=()=>{+new Date-n<200&&r.click(),n=void 0}}disconnectedCallback(){this.onmousedown=this.onmouseup=null}}function tn(t){if(t==null)return null;const e=new Set(t.split(",").map(r=>r.trim()).filter(Boolean));return e.size===0?null:e}function rn(t){return t instanceof RadioNodeList?[...t]:t?.tagName?[t]:null}function nn(t,e){const r=tn(e);if(!r)return!1;const n=rn(t);if(!n?.length)return!1;const s=n[0];return n.length===1&&s.type==="checkbox"?s.checked?r.has("true")||r.has(s.value||"on"):r.has("false"):n.every(a=>a.type==="checkbox"||a.type==="radio")?n.some(a=>a.checked&&r.has(a.value||"on")):n.length===1&&s.tagName==="SELECT"&&s.multiple?[...s.selectedOptions].some(a=>r.has(a.value)):r.has(s.value?.toString()??"")}class sn extends HTMLElement{static observedAttributes=["form","field-name","show-when"];syncVisibility=()=>{this.hidden=!nn(this.field,this.getAttribute("show-when"))};setup=()=>{this.cleanup();const e=this.getAttribute("form"),r=this.getAttribute("field-name");if(this.formElement=e?document.querySelector(e):this.closest("form"),!this.formElement)throw new Error(`<mds-conditional-section> for ${r} could not find the associated form`);if(this.field=this.formElement.elements[r],!this.field)throw new Error(`<mds-conditional-section> for ${r} could not find the associated field`);this.syncVisibility(),this.formElement.addEventListener("input",this.syncVisibility)};connectedCallback(){this.setup()}cleanup=()=>{this.formElement?.removeEventListener("input",this.syncVisibility)};disconnectedCallback(){this.cleanup()}attributeChangedCallback(e,r,n){this.isConnected&&r!==n&&(e==="show-when"?this.syncVisibility():(e==="field-name"||e==="form")&&this.setup())}}const F=".mds-form-check",qe=".mds-form-check__input",on=".mds-form-check__label",lt=".mds-form-check__nested-container",dt=".mds-category-picker__pill",Pe=".mds-category-picker__clear-pill",ut={optionsSelectedSingular:"1 option selected",optionsSelectedPlural:"{count} options selected",optionsFoundSingular:"1 option found",optionsFoundPlural:"{count} options found"};class an extends HTMLElement{#s;#r;#i;#o;#t;#e;#n;#u;#m;#f;#c=new WeakMap;#l=!1;connectedCallback(){const e=this.querySelector(".mds-category-picker__templates");if(this.#r=this.querySelector(".mds-category-picker__pillbox"),this.#t=this.querySelector(".mds-category-picker__search"),this.#e=this.querySelector(".mds-category-picker__input-wrapper"),this.#n=this.querySelector(".mds-category-picker__dropdown"),this.#u=this.querySelector(".mds-category-picker__live-region"),this.#m=this.querySelector(".mds-category-picker__no-results"),!e||!this.#r||!this.#t||!this.#n)return;try{this.#f={...ut,...JSON.parse(this.getAttribute("i18n")||"{}")}}catch{this.#f=ut}if(this.#i=e.querySelector(dt),this.#o=e.querySelector(Pe),!this.#i||!this.#o)return;e.remove(),this.#s=new AbortController;const r={signal:this.#s.signal};this.#r.addEventListener("click",this.#b,r),this.#n.addEventListener("change",this.#y,r),this.#t.addEventListener("blur",this.#d,r),this.#t.addEventListener("input",this.#g,r),this.#t.addEventListener("keydown",this.#C,r),this.#e.addEventListener("click",()=>this.#t.focus(),r),this.#t.addEventListener("focus",()=>this.#p(),r),this.#n.addEventListener("mousedown",n=>{n.target!==this.#t&&n.preventDefault()},r),this.#n.addEventListener("focusout",n=>{(!n.relatedTarget||!this.contains(n.relatedTarget))&&this.#a()},r),this.#n.addEventListener("keydown",n=>{n.key==="Escape"&&(this.#a(),this.#t.focus())},r),document.addEventListener("click",n=>{n.composedPath().includes(this)||this.#a()},r),this.#h()}disconnectedCallback(){this.#s?.abort()}#p(){this.#l||(this.#l=!0,this.classList.add("mds-category-picker--open"),this.#t.setAttribute("aria-expanded","true"))}#a(){this.#l&&(this.#l=!1,this.classList.remove("mds-category-picker--open"),this.#t.setAttribute("aria-expanded","false"),this.#t.value="",this.#w())}#d=e=>{const r=e.relatedTarget;r&&(this.#n.contains(r)||this.#e.contains(r))||this.#a()};#h=()=>{this.#r.replaceChildren(),this.#c=new WeakMap;const e="mds-form-check--has-selection";for(const r of this.#n.querySelectorAll(F))r.classList.remove(e);for(const r of this.#n.querySelectorAll(`${qe}:checked`)){this.#v(r);let n=r.closest(F)?.parentElement;for(;n&&n!==this.#n;)n.matches(F)&&n.classList.add(e),n=n.parentElement}};#v(e){const r=e.dataset.path;if(!r)return;const n=this.#i.cloneNode(!0),s=this.#o.cloneNode(!0);s.setAttribute("aria-label",`${s.getAttribute("aria-label")} ${r}`);const o=document.createElement("span");o.className="mds-category-picker__pill-text",o.textContent=r,n.appendChild(o),n.appendChild(s),this.#r.appendChild(n),this.#c.set(s,e)}#b=({target:e})=>{const r=this.#c.get(e.closest(Pe));r&&(r.checked=!1,r.dispatchEvent(new Event("change",{bubbles:!0})))};#y=()=>{this.#h(),this.#t.value="",this.#w();const e=this.#n.querySelectorAll(`${qe}:checked`).length;this.#x(this.#A("optionsSelectedSingular","optionsSelectedPlural",e))};#g=()=>{const e=this.#t.value.trim();e.length>=2?this.#k(e):this.#w()};#k(e){const r=e.toLowerCase(),n=this.#n.querySelectorAll(F),s=new Set,o=new Set;for(const i of n){const c=i.querySelector(on)?.textContent.trim().toLowerCase()||"";if(c){if(i.querySelector(lt)){c.includes(r)&&(s.add(i),o.add(i));continue}if(i.hidden=!c.includes(r),!i.hidden){let l=i.parentElement;for(;l&&l!==this.#n;)l.matches(F)&&s.add(l),l=l.parentElement}}}for(const i of n){const c=i.querySelector(lt);if(c)if(s.has(i)){if(i.hidden=!1,i.querySelector(".mds-checkbox-accordion__button")?.setAttribute("aria-expanded","true"),o.has(i))for(const l of c.querySelectorAll(F))l.hidden=!1}else i.hidden=!0}let a=0;for(const i of n)i.hidden||a++;this.#E(a===0),this.#x(this.#A("optionsFoundSingular","optionsFoundPlural",a))}#w(){for(const e of this.#n.querySelectorAll(F))e.hidden=!1;this.#E(!1)}#E(e){this.#m?.classList.toggle("mds-category-picker__no-results--visible",e)}#C=e=>{switch(e.key){case"Escape":this.#a(),this.#t.blur();break;case"ArrowDown":{e.preventDefault(),this.#l||this.#p();for(const r of this.#n.querySelectorAll(F)){if(r.hidden)continue;const n=r.querySelector(qe);if(n){n.focus();break}}break}case"Backspace":if(this.#t.value===""){const r=this.#r.querySelectorAll(dt),n=r[r.length-1];if(!n)break;const s=this.#c.get(n.querySelector(Pe));s&&(s.checked=!1,s.dispatchEvent(new Event("change",{bubbles:!0})))}break;case"Tab":this.#a();break}};#A(e,r,n){return n===1?this.#f[e]:this.#f[r].replace("{count}",String(n))}#x(e){this.#u&&(this.#u.textContent="",requestAnimationFrame(()=>{this.#u.textContent=e}))}}class cn extends HTMLElement{#s;constructor(){super()}#r(e){const r=[0,.25,.5,.75,1];if(e==null||e.trim()==="")return r;const n=Number(e);if(!Number.isNaN(n))return n;const s=o=>Array.isArray(o)&&o.length>0&&o.every(a=>typeof a=="number"&&!Number.isNaN(a));try{const o=JSON.parse(e);if(s(o))return o}catch{}return console.warn(`${this.constructor.name}: Invalid observer-threshold "${e}". Falling back to default thresholds.`),r}#i(){const e=new Map,r=n=>{if(n.forEach(i=>{i.intersectionRatio===0?e.delete(i.target.id):e.set(i.target.id,i.intersectionRatio)}),e.size===0){this.#o.forEach(i=>i.removeAttribute("aria-current"));return}const s=e.entries().reduce((i,c)=>c[1]>i[1]?c:i),o=s[0],a=s[1];this.#o.forEach(i=>i.removeAttribute("aria-current")),o&&a>0&&this.querySelector(`[href="#${CSS.escape(o)}"]`)?.setAttribute("aria-current",this.#e)};this.#s=new IntersectionObserver(r,this.#n),this.#t.forEach(n=>this.#s.observe(n))}connectedCallback(){this.#t.length>0&&this.#i()}disconnectedCallback(){this.#s?.disconnect()}get#o(){return Array.from(this.querySelectorAll("a"))}get#t(){const e=[];return this.#o.forEach(r=>{if(new URL(r.href).host!==window.location.host||!r.hash)return;const n=document.querySelector(`#${CSS.escape(r.hash.substring(1))}`);if(!n){console.warn(`${this.constructor.name}: Element with id "${r.hash}" doesn't exist on this page.`);return}e.push(n)}),e}get#e(){return this.getAttribute("aria-current-value")||"step"}get#n(){const e=this.getAttribute("observer-root"),r=this.getAttribute("observer-threshold");return{root:document.querySelector(e),threshold:this.#r(r)}}}window.customElements.get("mds-accordion")||window.customElements.define("mds-accordion",ke);window.customElements.get("mds-dropdown-nav")||window.customElements.define("mds-dropdown-nav",St);window.customElements.get("mds-timeout-dialog")||window.customElements.define("mds-timeout-dialog",Lt);window.customElements.get("mds-card-link")||window.customElements.define("mds-card-link",en);window.customElements.get("mds-conditional-section")||window.customElements.define("mds-conditional-section",sn);window.customElements.get("mds-image-cropper")||window.customElements.define("mds-image-cropper",Ot);window.customElements.get("mds-file-upload")||window.customElements.define("mds-file-upload",j);window.customElements.get("mds-category-picker")||window.customElements.define("mds-category-picker",an);window.customElements.get("mds-scroll-spy")||window.customElements.define("mds-scroll-spy",cn);window.customElements.get("mds-consent-gate")||window.customElements.define("mds-consent-gate",Tt);const Be=()=>{x.init(),It.init(),Nt.init(),Q.init(),De.init(),ne.init(),xt.init(),Zr.setFluidVideos()};window.mdgxInitAll=Be;document.readyState==="loading"?document.addEventListener("DOMContentLoaded",Be):Be();export{mn as setConsentAdapter};
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@madgex/design-system",
3
3
  "author": "Madgex",
4
4
  "license": "UNLICENSED",
5
- "version": "14.4.0",
5
+ "version": "14.4.1",
6
6
  "main": "dist/js/index.js",
7
7
  "exports": {
8
8
  ".": "./dist/js/index.js",
@@ -1,13 +1,14 @@
1
1
  export class MdsAccordion extends HTMLElement {
2
2
  static accordionBreakpointClass = 'mds-accordion--breakpoint';
3
3
  static accordionCloseButtonClass = 'mds-accordion__close-button';
4
- #controller = new AbortController();
4
+ #controller;
5
5
 
6
6
  constructor() {
7
7
  super();
8
8
  }
9
9
 
10
10
  connectedCallback() {
11
+ this.#controller = new AbortController();
11
12
  // TODO: use an Observer or Listener to track window breakpoint? Or a CSS test of some kind?
12
13
  const isBreakpointAccordion = this.#details.classList.contains(MdsAccordion.accordionBreakpointClass);
13
14
  if (isBreakpointAccordion && !this.#useAsAccordionBasedOnBreakpoint()) {
@@ -21,7 +22,7 @@ export class MdsAccordion extends HTMLElement {
21
22
  }
22
23
  }
23
24
  disconnectedCallback() {
24
- this.#controller.abort();
25
+ this.#controller?.abort();
25
26
  }
26
27
 
27
28
  get #details() {
@@ -0,0 +1,170 @@
1
+ import { describe, it, expect, afterEach, vi } from 'vitest';
2
+ import { MdsAccordion } from './accordion.js';
3
+
4
+ if (!customElements.get('mds-accordion')) {
5
+ customElements.define('mds-accordion', MdsAccordion);
6
+ }
7
+
8
+ function mountAccordion({ open = false, breakpoint = false, bpValue, hasCloseButton = false } = {}) {
9
+ const container = document.createElement('div');
10
+ const bpClass = breakpoint ? ` ${MdsAccordion.accordionBreakpointClass}` : '';
11
+ const bpAttr = bpValue ? ` data-bp="${bpValue}"` : '';
12
+ const closeButtonHtml = hasCloseButton
13
+ ? `<button class="${MdsAccordion.accordionCloseButtonClass}">Close</button>`
14
+ : '';
15
+
16
+ container.innerHTML = `
17
+ <mds-accordion>
18
+ <details class="mds-accordion${bpClass}"${bpAttr}${open ? ' open' : ''}>
19
+ <summary>Accordion title</summary>
20
+ <div class="mds-accordion__content">
21
+ <p>Content</p>
22
+ ${closeButtonHtml}
23
+ </div>
24
+ </details>
25
+ </mds-accordion>
26
+ `;
27
+ document.body.appendChild(container);
28
+
29
+ const accordion = container.querySelector('mds-accordion');
30
+ const details = container.querySelector('details');
31
+ const summary = container.querySelector('summary');
32
+ const closeButton = container.querySelector(`.${MdsAccordion.accordionCloseButtonClass}`);
33
+
34
+ return { container, accordion, details, summary, closeButton };
35
+ }
36
+
37
+ describe('MdsAccordion', () => {
38
+ let container;
39
+
40
+ afterEach(() => {
41
+ container?.remove();
42
+ vi.restoreAllMocks();
43
+ });
44
+
45
+ describe('connectedCallback', () => {
46
+ it('sets summary display to empty string for a standard accordion', () => {
47
+ ({ container } = mountAccordion());
48
+ const summary = container.querySelector('summary');
49
+ expect(summary.style.display).toBe('');
50
+ });
51
+
52
+ it('opens details and hides summary when breakpoint accordion is above breakpoint', () => {
53
+ vi.spyOn(window, 'innerWidth', 'get').mockReturnValue(1200);
54
+ ({ container } = mountAccordion({ breakpoint: true, bpValue: '768px' }));
55
+ const details = container.querySelector('details');
56
+ const summary = container.querySelector('summary');
57
+
58
+ expect(details.open).toBe(true);
59
+ expect(summary.style.display).toBe('none');
60
+ });
61
+
62
+ it('keeps accordion collapsed when breakpoint accordion is below breakpoint', () => {
63
+ vi.spyOn(window, 'innerWidth', 'get').mockReturnValue(500);
64
+ ({ container } = mountAccordion({ breakpoint: true, bpValue: '768px' }));
65
+ const details = container.querySelector('details');
66
+ const summary = container.querySelector('summary');
67
+
68
+ expect(details.open).toBe(false);
69
+ expect(summary.style.display).toBe('');
70
+ });
71
+ });
72
+
73
+ describe('close button', () => {
74
+ it('closes the details and focuses summary when close button is clicked', () => {
75
+ ({ container } = mountAccordion({ open: true, hasCloseButton: true }));
76
+ const details = container.querySelector('details');
77
+ const summary = container.querySelector('summary');
78
+ const closeButton = container.querySelector(`.${MdsAccordion.accordionCloseButtonClass}`);
79
+
80
+ vi.spyOn(summary, 'focus');
81
+ closeButton.click();
82
+
83
+ expect(details.open).toBe(false);
84
+ expect(summary.focus).toHaveBeenCalled();
85
+ });
86
+ });
87
+
88
+ describe('disconnectedCallback', () => {
89
+ it('removes event listeners when disconnected', () => {
90
+ ({ container } = mountAccordion({ open: true, hasCloseButton: true }));
91
+ const accordion = container.querySelector('mds-accordion');
92
+ const details = container.querySelector('details');
93
+ const closeButton = container.querySelector(`.${MdsAccordion.accordionCloseButtonClass}`);
94
+
95
+ // Disconnect the element
96
+ accordion.remove();
97
+
98
+ // Re-append the inner DOM to test that the listener was removed
99
+ document.body.appendChild(container);
100
+ details.open = true;
101
+ closeButton.click();
102
+
103
+ // details should still be open because the listener was aborted
104
+ expect(details.open).toBe(true);
105
+ });
106
+
107
+ it('creates a fresh AbortController on reconnect', () => {
108
+ ({ container } = mountAccordion({ open: true, hasCloseButton: true }));
109
+ const accordion = container.querySelector('mds-accordion');
110
+ const details = container.querySelector('details');
111
+ const closeButton = container.querySelector(`.${MdsAccordion.accordionCloseButtonClass}`);
112
+
113
+ // Disconnect then reconnect
114
+ accordion.remove();
115
+ container.appendChild(accordion);
116
+
117
+ // The close button listener should work again
118
+ details.open = true;
119
+ closeButton.click();
120
+ expect(details.open).toBe(false);
121
+ });
122
+ });
123
+
124
+ describe('breakpoint handling', () => {
125
+ afterEach(() => {
126
+ vi.restoreAllMocks();
127
+ });
128
+
129
+ it('handles em breakpoint units', () => {
130
+ vi.spyOn(window, 'innerWidth', 'get').mockReturnValue(1200);
131
+ vi.spyOn(window, 'getComputedStyle').mockReturnValue({ 'font-size': '16px' });
132
+
133
+ ({ container } = mountAccordion({ breakpoint: true, bpValue: '48em' }));
134
+ const details = container.querySelector('details');
135
+
136
+ // 48 * 16 = 768, window is 1200 > 768 so should open
137
+ expect(details.open).toBe(true);
138
+ });
139
+
140
+ it('handles rem breakpoint units', () => {
141
+ vi.spyOn(window, 'innerWidth', 'get').mockReturnValue(1200);
142
+ vi.spyOn(window, 'getComputedStyle').mockReturnValue({ 'font-size': '16px' });
143
+
144
+ ({ container } = mountAccordion({ breakpoint: true, bpValue: '48rem' }));
145
+ const details = container.querySelector('details');
146
+
147
+ // 48 * 16 = 768, window is 1200 > 768 so should open
148
+ expect(details.open).toBe(true);
149
+ });
150
+
151
+ it('uses accordion behaviour for unknown units', () => {
152
+ vi.spyOn(window, 'innerWidth', 'get').mockReturnValue(1200);
153
+ ({ container } = mountAccordion({ breakpoint: true, bpValue: '768vw' }));
154
+ const details = container.querySelector('details');
155
+
156
+ // Unknown unit defaults to treating as accordion
157
+ expect(details.open).toBe(false);
158
+ });
159
+
160
+ it('uses accordion behaviour when no data-bp attribute is present on breakpoint accordion', () => {
161
+ vi.spyOn(window, 'innerWidth', 'get').mockReturnValue(1200);
162
+ ({ container } = mountAccordion({ breakpoint: true }));
163
+ const details = container.querySelector('details');
164
+ const summary = container.querySelector('summary');
165
+
166
+ expect(details.open).toBe(false);
167
+ expect(summary.style.display).toBe('');
168
+ });
169
+ });
170
+ });
@@ -4,6 +4,8 @@ This component provides autocomplete search functionality to select an option fr
4
4
 
5
5
  Options can be provided via `<option value="value">label</option>` children, or obtained from an API using the `apiUrl` parameter.
6
6
 
7
+ MdsCombobox reports its values to a parent `<form>` wrapping it.
8
+
7
9
  ## Parameters - Nunjucks
8
10
 
9
11
  - `id`: the id of your combobox **required**
@@ -50,6 +52,12 @@ i18n: {
50
52
 
51
53
  MdsCombobox usage revolves around options provided by `<option value="">label</option>` child elements as available options and the initial value comes from `<option selected>` children, and optionally an API (`apiUrl` in use), and being in `multiple` mode via `params.multiple`.
52
54
 
55
+ ### What is reported to parent `<form>` element?
56
+
57
+ - Selected value(s) will be reported to the parent `<form>` using the `name` given to MdsCombobox. Multiple may exist.
58
+ - Search text (**not** the label of the selected option) will be reported to the parent `<form>` using the `name` given to MdsCombobox with `_search` as the suffix, e.g. `${name}_search`. Only a single instance will exist
59
+ - Fallback will be reported to the parent `<form>` using the `name` given to MdsCombobox with `_fallback` as the suffix, e.g. `${name}_fallback`. Only a single instance will exist
60
+
53
61
  ## Fallback
54
62
 
55
63
  When JavaScript is unavailable, the combobox will gracefully degrade to a native form element. Use the `fallbackTo` parameter to specify which fallback element to use: either a native `select` dropdown or a text `input`.
@@ -65,6 +73,7 @@ Both fallback elements share the same `id` as the combobox to ensure the label r
65
73
  ### Example - Single mode - no API - no option selected
66
74
 
67
75
  ```njk
76
+ <form>
68
77
  {\% call MdsCombobox({
69
78
  id:'my-id',
70
79
  name: 'my-combo',
@@ -73,12 +82,13 @@ Both fallback elements share the same `id` as the combobox to ensure the label r
73
82
  <option value="value-1">My label 1</option>
74
83
  <option value="value-2">My label 2</option>
75
84
  {\% endcall \%}
76
-
85
+ </form>
77
86
  ```
78
87
 
79
88
  #### with pre-selected value
80
89
 
81
90
  ```njk
91
+ <form>
82
92
  {\% call MdsCombobox({
83
93
  id:'my-id',
84
94
  name: 'my-combo',
@@ -89,12 +99,14 @@ Both fallback elements share the same `id` as the combobox to ensure the label r
89
99
  <option value="value-1">My label 1</option>
90
100
  <option value="value-2" selected>My label 2</option>
91
101
  {\% endcall \%}
102
+ </form>
92
103
 
93
104
  ```
94
105
 
95
106
  ### Example - Multiple mode - no API
96
107
 
97
108
  ```njk
109
+ <form>
98
110
  {\% call MdsCombobox({
99
111
  id:'my-id',
100
112
  name: 'my-combo',
@@ -104,6 +116,7 @@ Both fallback elements share the same `id` as the combobox to ensure the label r
104
116
  <option value="value-1">My label 1</option>
105
117
  <option value="value-2">My label 2</option>
106
118
  {\% endcall \%}
119
+ </form>
107
120
 
108
121
  ```
109
122
 
@@ -113,6 +126,7 @@ API response options have a custom shape with `word` and `score` properties,
113
126
  like so `[{word: 'something', score: 12},...]`. It also used `?keyword` for the query param on the request.
114
127
 
115
128
  ```njk
129
+ <form>
116
130
  {\% call MdsCombobox({
117
131
  id:'my-id',
118
132
  name: 'my-combo',
@@ -123,12 +137,14 @@ like so `[{word: 'something', score: 12},...]`. It also used `?keyword` for the
123
137
  apiOptionValuePath: 'score'
124
138
  }) \%}
125
139
  {\% endcall \%}
140
+ </form>
126
141
 
127
142
  ```
128
143
 
129
144
  #### with prefilled value
130
145
 
131
146
  ```njk
147
+ <form>
132
148
  {\% call MdsCombobox({
133
149
  id:'my-id',
134
150
  name: 'my-combo',
@@ -141,6 +157,7 @@ like so `[{word: 'something', score: 12},...]`. It also used `?keyword` for the
141
157
  {# we can render selected options on the server even when using API #}
142
158
  <option value="value-2" selected>My label 2</option>
143
159
  {\% endcall \%}
160
+ </form>
144
161
 
145
162
  ```
146
163
 
@@ -149,6 +166,7 @@ like so `[{word: 'something', score: 12},...]`. It also used `?keyword` for the
149
166
  API response had a root object property called `data`, like so `{data:[{label: 'something', value: 12},...]}`.
150
167
 
151
168
  ```njk
169
+ <form>
152
170
  {\% call MdsCombobox({
153
171
  id:'my-id',
154
172
  name: 'my-combo',
@@ -158,6 +176,7 @@ API response had a root object property called `data`, like so `{data:[{label: '
158
176
  multiple: true
159
177
  }) \%}
160
178
  {\% endcall \%}
179
+ </form>
161
180
 
162
181
  ```
163
182
 
@@ -166,6 +185,7 @@ options:
166
185
  #### with prefilled value
167
186
 
168
187
  ```njk
188
+ <form>
169
189
  {\% call MdsCombobox({
170
190
  id:'my-id',
171
191
  name: 'my-combo',
@@ -178,6 +198,7 @@ options:
178
198
  <option value="value-1" selected>My label 1</option>
179
199
  <option value="value-2" selected>My label 2</option>
180
200
  {\% endcall \%}
201
+ </form>
181
202
 
182
203
  ```
183
204
 
@@ -1,8 +1,8 @@
1
1
  {% from "./inputs/combobox/_macro.njk" import MdsCombobox %}
2
2
 
3
- <form class="mds-grid-row">
4
- <div class="mds-grid-col-6 mds-margin-bottom-b10">
5
3
  <h3>{{ variantTitle }}</h3>
4
+ <form class="mds-grid-row mds-border-bottom mds-margin-bottom-b10 mds-padding-bottom-b10" id="{{name}}_demo-form">
5
+ <div class="mds-grid-col-6 ">
6
6
 
7
7
  {% call MdsCombobox({
8
8
  id: id,
@@ -29,6 +29,30 @@
29
29
  {# this will be `<option>` elements #}
30
30
  {{ content | safe }}
31
31
  {% endcall %}
32
+
33
+ </div>
34
+ <div class="mds-grid-col-6 mds-font-s-1 mds-highlighted-container mds-padding-b1">
35
+ <span>Visualised &lt;form&gt; FormData</span>
36
+ <br><ul class="mds-list mds-list--bullet" id="{{name}}_demo-form__visual"></ul>
32
37
  </div>
33
38
  </form>
34
39
 
40
+ {# Cheeky visualise FormData #}
41
+ <script type="module">
42
+ const form = document.querySelector('#{{name}}_demo-form');
43
+
44
+ setTimeout(() => {
45
+ const combobox = document.querySelector('[name={{name}}]');
46
+ combobox.addEventListener('change', updateFormDataVisual);
47
+ const comboboxSearch = document.querySelector('[name={{name}}_search]');
48
+ comboboxSearch.addEventListener('input', updateFormDataVisual);
49
+ }, 500)
50
+ updateFormDataVisual();
51
+ function updateFormDataVisual() {
52
+ setTimeout(()=> {
53
+ const formVisual = document.querySelector('#{{name}}_demo-form__visual');
54
+ const text = Array.from(new FormData(form).entries()).map(([key,val]) => `<li class="mds-list__item"><strong>${key}</strong>=${val}</li>`).join('');
55
+ formVisual.innerHTML = text;
56
+ }, 500)
57
+ }
58
+ </script>