@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
|
@@ -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
|
|
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
|
|
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 <form> 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>
|