@madgex/design-system 13.2.0 → 13.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,3 @@
1
- import{M as r}from"../timeout-dialog-DuVVAWa3.js";const e='@charset "UTF-8";a{background-color:transparent}button{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button{overflow:visible}button{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}template{display:none}div,h2,p,a,s,form,time{margin:0;padding:0;border:0;font:inherit}*,*:before,*:after{box-sizing:border-box;word-wrap:break-word}h2,p{margin-bottom:12px}a:hover,a:focus{--link-color: var(--mds-color-link-hover, #15598e);--text-decoration: var(--mds-text-decoration-link-hover, underline);--text-decoration-thickness: max(2px, .12em)}a{--link-color: var(--mds-color-link-base, #1b75bb);--link-font-weight: var(--mds-font-weight-link-base);--text-decoration: var(--mds-text-decoration-link-base, underline);--text-decoration-thickness: 1px;color:var(--link-color);font-weight:var(--link-font-weight);text-decoration:var(--text-decoration);text-decoration-thickness:var(--text-decoration-thickness);text-underline-offset:.15rem}h2 a{font-weight:inherit}h2{color:var(--mds-color-text-headers-base)}h2{font-family:var(--mds-font-family-heading-2);font-weight:var(--mds-font-weight-heading-2);color:var(--mds-color-text-headers-2);text-transform:var(--mds-text-transform-heading-2);letter-spacing:var(--mds-font-spacing-heading-2)}.mds-grid-row{box-sizing:border-box;display:flex;flex:0 1 auto;flex-direction:row;flex-wrap:wrap;margin-right:-10px;margin-left:-10px}.mds-grid-center{justify-content:center;text-align:center}.mds-message{padding:12px;border-radius:var(--mds-size-border-radius-base, 4px);border:var(--mds-size-border-width-base, 1px) solid var(--mds-color-border, #DDDDDD)}.mds-message.mds-message--error{color:#ae0216;background-color:#ffe3e6;border-color:#e1021d}.mds-message *{color:inherit}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mds-button{--button-background: var(--mds-color-button-bg-base);--button-border-color-top: var(--mds-color-button-border-top);--button-border-color-right: var(--mds-color-button-border-right);--button-border-color-bottom: var(--mds-color-button-border-bottom);--button-border-color-left: var(--mds-color-button-border-left);--button-border-color: var(--button-border-color-top) var(--button-border-color-right) var(--button-border-color-bottom) var(--button-border-color-left);--button-border-width: var(--mds-size-border-width-button);--button-border-radius: var(--mds-size-border-radius-button);--button-text-color: var(--mds-color-button-text-base);--button-font-family: var(--mds-font-family-button-base);--button-font-weight: var(--mds-font-weight-button-base);--button-text-transform: var(--mds-text-transform-button);--button-font-spacing: var(--mds-font-spacing-button);--text-decoration: none;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-appearance:none;width:auto;background:var(--button-background, #000);border-width:var(--button-border-width, 1px);border-color:var(--button-border-color, transparent);border-style:solid;border-radius:var(--button-border-radius, 4px);padding:12px 20px;display:inline-block;text-align:center;color:var(--button-text-color, #fff);font-family:var(--button-font-family);font-weight:var(--button-font-weight);text-transform:var(--button-text-transform);letter-spacing:var(--button-font-spacing);text-decoration:var(--text-decoration)}.mds-button:hover,.mds-button:focus{--button-background: var(--mds-color-button-bg-hover, #333333);--button-border-color-top: var(--mds-color-button-border-hover-top);--button-border-color-right: var(--mds-color-button-border-hover-right);--button-border-color-bottom: var(--mds-color-button-border-hover-bottom);--button-border-color-left: var(--mds-color-button-border-hover-left);--button-text-color: var(--mds-color-button-text-hover);--text-decoration: none}.mds-button--neutral{--button-background: #fff;--button-text-color: var(--mds-color-text-base, #000);--button-border-color: #DDDDDD;--button-border-width: 1px}.mds-button--neutral:hover,.mds-button--neutral:focus{--button-background: #DDDDDD;--button-text-color: var(--mds-color-text-base, #000);--button-border-color: #DDDDDD}@keyframes notification-fadeIn{0%{opacity:0;transform:translate(-50%) translateY(-75%)}to{opacity:1;transform:translate(-50%) translateY(-115%)}}.mds-button{font-size:var(--mds-font-type-s0-size);line-height:var(--mds-font-type-s0-line-height)}h2{font-size:var(--mds-font-type-s4-size);line-height:var(--mds-font-type-s4-line-height)}.mds-margin-right-b4{margin-right:16px}.mds-margin-bottom-b4{margin-bottom:16px}.mds-display-none{display:none}.mds-timeout-dialog{background-color:#fff;margin:40px auto;padding:32px 48px;border-radius:var(--mds-size-border-radius-base, 4px);border:0;max-width:800px;position:relative}.mds-timeout-dialog::backdrop{background-color:#000c}';class n extends r{constructor(...o){super(...o),this.attachShadow({mode:"open"});const t=new CSSStyleSheet;t.replaceSync(`
1
+ import{M as r}from"../timeout-dialog-plrFUmdZ.js";const e='@charset "UTF-8";a{background-color:transparent}button{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button{overflow:visible}button{text-transform:none}button,[type=button],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}template{display:none}div,h2,p,a,s,form,time{margin:0;padding:0;border:0;font:inherit}*,*:before,*:after{box-sizing:border-box;word-wrap:break-word}h2,p{margin-bottom:12px}a:hover,a:focus{--link-color: var(--mds-color-link-hover, #15598e);--text-decoration: var(--mds-text-decoration-link-hover, underline);--text-decoration-thickness: max(2px, .12em)}a{--link-color: var(--mds-color-link-base, #1b75bb);--link-font-weight: var(--mds-font-weight-link-base);--text-decoration: var(--mds-text-decoration-link-base, underline);--text-decoration-thickness: 1px;color:var(--link-color);font-weight:var(--link-font-weight);text-decoration:var(--text-decoration);text-decoration-thickness:var(--text-decoration-thickness);text-underline-offset:.15rem}h2 a{font-weight:inherit}h2{color:var(--mds-color-text-headers-base)}h2{font-family:var(--mds-font-family-heading-2);font-weight:var(--mds-font-weight-heading-2);color:var(--mds-color-text-headers-2);text-transform:var(--mds-text-transform-heading-2);letter-spacing:var(--mds-font-spacing-heading-2)}.mds-grid-row{box-sizing:border-box;display:flex;flex:0 1 auto;flex-direction:row;flex-wrap:wrap;margin-right:-10px;margin-left:-10px}.mds-grid-center{justify-content:center;text-align:center}.mds-message{padding:12px;border-radius:var(--mds-size-border-radius-base, 4px);border:var(--mds-size-border-width-base, 1px) solid var(--mds-color-border, #DDDDDD)}.mds-message.mds-message--error{color:#ae0216;background-color:#ffe3e6;border-color:#e1021d}.mds-message *{color:inherit}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mds-button{--button-background: var(--mds-color-button-bg-base);--button-border-color-top: var(--mds-color-button-border-top);--button-border-color-right: var(--mds-color-button-border-right);--button-border-color-bottom: var(--mds-color-button-border-bottom);--button-border-color-left: var(--mds-color-button-border-left);--button-border-color: var(--button-border-color-top) var(--button-border-color-right) var(--button-border-color-bottom) var(--button-border-color-left);--button-border-width: var(--mds-size-border-width-button);--button-border-radius: var(--mds-size-border-radius-button);--button-text-color: var(--mds-color-button-text-base);--button-font-family: var(--mds-font-family-button-base);--button-font-weight: var(--mds-font-weight-button-base);--button-text-transform: var(--mds-text-transform-button);--button-font-spacing: var(--mds-font-spacing-button);--text-decoration: none;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-appearance:none;width:auto;background:var(--button-background, #000);border-width:var(--button-border-width, 1px);border-color:var(--button-border-color, transparent);border-style:solid;border-radius:var(--button-border-radius, 4px);padding:12px 20px;display:inline-block;text-align:center;color:var(--button-text-color, #fff);font-family:var(--button-font-family);font-weight:var(--button-font-weight);text-transform:var(--button-text-transform);letter-spacing:var(--button-font-spacing);text-decoration:var(--text-decoration)}.mds-button:hover,.mds-button:focus{--button-background: var(--mds-color-button-bg-hover, #333333);--button-border-color-top: var(--mds-color-button-border-hover-top);--button-border-color-right: var(--mds-color-button-border-hover-right);--button-border-color-bottom: var(--mds-color-button-border-hover-bottom);--button-border-color-left: var(--mds-color-button-border-hover-left);--button-text-color: var(--mds-color-button-text-hover);--text-decoration: none}.mds-button--neutral{--button-background: #fff;--button-text-color: var(--mds-color-text-base, #000);--button-border-color: #DDDDDD;--button-border-width: 1px}.mds-button--neutral:hover,.mds-button--neutral:focus{--button-background: #DDDDDD;--button-text-color: var(--mds-color-text-base, #000);--button-border-color: #DDDDDD}@keyframes notification-fadeIn{0%{opacity:0;transform:translate(-50%) translateY(-75%)}to{opacity:1;transform:translate(-50%) translateY(-115%)}}.mds-button{font-size:var(--mds-font-type-s0-size);line-height:var(--mds-font-type-s0-line-height)}h2{font-size:var(--mds-font-type-s4-size);line-height:var(--mds-font-type-s4-line-height)}.mds-margin-right-b4{margin-right:16px}.mds-margin-bottom-b4{margin-bottom:16px}.mds-display-none{display:none}.mds-timeout-dialog{background-color:#fff;margin:40px auto;padding:32px 48px;border-radius:var(--mds-size-border-radius-base, 4px);border:0;max-width:800px;position:relative}.mds-timeout-dialog::backdrop{background-color:#000c}.mds-timeout-dialog__button-icon{display:none;width:1em;height:1em;animation:spin-timeout-dialog 1s infinite linear;color:inherit;margin-left:4px}.mds-timeout-dialog--refreshing .mds-timeout-dialog__button-icon{display:inline-block}@keyframes spin-timeout-dialog{0%{transform:rotate(0)}to{transform:rotate(360deg)}}';class n extends r{constructor(...o){super(...o),this.attachShadow({mode:"open"});const t=new CSSStyleSheet;t.replaceSync(`
2
2
  * {border: 0;outline:0;padding: 0;margin:0;box-sizing:border-box;}
3
3
  ${e}`),this.rootNode.adoptedStyleSheets=[t]}get rootNode(){return this.shadowRoot}}window.customElements.get("mds-timeout-dialog-standalone")||window.customElements.define("mds-timeout-dialog-standalone",n);
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["js/components/mds-timeout-dialog-standalone.js","js/timeout-dialog-DuVVAWa3.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["js/components/mds-timeout-dialog-standalone.js","js/timeout-dialog-plrFUmdZ.js"])))=>i.map(i=>d[i]);
2
2
  const y="modulepreload",L=function(e){return"/"+e},p={},T=function(n,r,s){let t=Promise.resolve();if(r&&r.length>0){let g=function(o){return Promise.all(o.map(l=>Promise.resolve(l).then(d=>({status:"fulfilled",value:d}),d=>({status:"rejected",reason:d}))))};var h=g;document.getElementsByTagName("link");const a=document.querySelector("meta[property=csp-nonce]"),i=a?.nonce||a?.getAttribute("nonce");t=g(r.map(o=>{if(o=L(o),o in p)return;p[o]=!0;const l=o.endsWith(".css"),d=l?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${o}"]${d}`))return;const c=document.createElement("link");if(c.rel=l?"stylesheet":y,l||(c.as="script"),c.crossOrigin="",c.href=o,i&&c.setAttribute("nonce",i),document.head.appendChild(c),l)return new Promise((w,E)=>{c.addEventListener("load",w),c.addEventListener("error",()=>E(new Error(`Unable to preload CSS for ${o}`)))})}))}function m(a){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=a,window.dispatchEvent(i),!i.defaultPrevented)throw a}return t.then(a=>{for(const i of a||[])i.status==="rejected"&&m(i.reason);return n().catch(m)})},f={switchToinverse:e=>{e.classList.remove("mds-switch-state--default"),e.classList.add("mds-switch-state--inverse")},switchTodefault:e=>{e.classList.remove("mds-switch-state--inverse"),e.classList.add("mds-switch-state--default")}},A={init:()=>{Array.from(document.querySelectorAll(".js-mds-switch-state")).forEach(n=>{n.addEventListener("click",s=>{s.preventDefault(),s.stopPropagation();const t=s.currentTarget;t.classList.contains("mds-switch-state--default")?f.switchToinverse(t):(t.classList.contains("mds-switch-state--inverse"),f.switchTodefault(t))})})}},v="mds-notification",u={init:(e,n,r=3e3)=>{const{body:s}=document;u.hide(s);const t=document.createElement("div");t.setAttribute("role","alert"),t.classList.add(v,"mds-message",`mds-message--${n}`),t.innerText=e,u.show(s,t),setTimeout(u.hide,r,s)},show:(e,n)=>{e.appendChild(n)},hide:e=>{Array.from(e.querySelectorAll(`.${v}`)).forEach(r=>{r.parentNode.removeChild(r)})}},S={init:()=>{Array.from(document.querySelectorAll(".js-notification-example")).forEach(n=>{n.addEventListener("click",s=>{s.preventDefault(),s.stopPropagation();const t=s.currentTarget,m=t.innerText,{messageType:h}=t.dataset;u.init(m,h)})})}};document.addEventListener("DOMContentLoaded",async()=>{A.init(),S.init(),await T(()=>import("./components/mds-timeout-dialog-standalone.js"),__vite__mapDeps([0,1]))});
package/dist/js/index.js CHANGED
@@ -1 +1 @@
1
- import{M as xt}from"./dropdown-nav-B37nBO1_.js";import{M as Et}from"./timeout-dialog-DuVVAWa3.js";window.addEventListener("hashchange",()=>{const t=window.location.hash.trim();Array.from(document.querySelectorAll(`a[href='${t}']`)).forEach(r=>{r.click()})},!1);const it={baseline:{$value:"4px"},breakpoint:{md:{$value:"600px"},lg:{$value:"1008px"}}},st={size:it},Ot="js-tabs-item",Ve="mds-tabs",Lt="mds-tabs__list",Ct="mds-tabs__list-item",Ue="mds-tabs__panel",pe="mds-tabs__tab",ve="mds-tabs__tab--selected",Xe="mds-tabs__panel--hidden",me={left:37,right:39,up:38,down:40},kt=".js-desktop-tabbed",St=".js-full-tabbed",Tt=parseInt(st.size.breakpoint.lg.$value,10),E={init:()=>{E.setTabs(St),window.innerWidth>Tt&&E.setTabs(kt)},setTabs:t=>{const e=Array.from(document.querySelectorAll(`${t} .${pe}`)),r=Array.from(document.querySelectorAll(`${t} .${Lt}`)),a=Array.from(document.querySelectorAll(`${t} .${Ct}`)),n=Array.from(document.querySelectorAll(`${t} .${Ue}`));r.forEach(o=>{o.setAttribute("role","tablist")}),a.forEach(o=>{o.setAttribute("role","presentation")}),e.forEach(o=>{o.setAttribute("role","tab"),o.setAttribute("aria-controls",o.attributes.href.value.substring(1)),o.classList.contains(ve)?o.setAttribute("tabindex","0"):o.setAttribute("tabindex","-1")}),n.forEach(o=>{o.setAttribute("role","tabpanel"),o.setAttribute("aria-labelledby",`label-${o.attributes.id.value}`)});const i=document.querySelectorAll(`${t} .${Ot}`);Array.from(i).forEach(o=>{const l=window.location.hash.trim(),d=o.attributes.href.value,c=o.closest(`.${Ve}`),p=E.getAllPanels(c),f=E.getAllTabs(c),v=E.getTargetPanel(o,c);o.addEventListener("click",m=>{m.preventDefault(),E.updateTabs(f,p,o,v,d)}),d===l&&E.updateTabs(f,p,o,v,d)}),r.forEach(o=>{const l=o.closest(`.${Ve}`),d=E.getAllPanels(l),c=E.getAllTabs(l);o.addEventListener("keydown",p=>{switch(p.keyCode){case me.left:case me.up:p.preventDefault(),E.moveTab(o,l,c,d,!1);break;case me.right:case me.down:p.preventDefault(),E.moveTab(o,l,c,d,!0);break}})})},getSelectedTab:t=>t.querySelector(`.${ve}`),getPrevTab:t=>t.parentElement.previousSibling?t.parentElement.previousSibling.querySelector(`.${pe}`):!1,getNextTab:t=>t.parentElement.nextSibling?t.parentElement.nextSibling.querySelector(`.${pe}`):!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(`.${pe}`)),moveTab:(t,e,r,a,n)=>{const i=E.getSelectedTab(t),s=n?E.getNextTab(i):E.getPrevTab(i);if(s){const o=s.attributes.href.value,l=E.getTargetPanel(s,e);E.updateTabs(r,a,s,l,o,!1)}},updateTabs:(t,e,r,a,n)=>{E.clearAllTabs(t),E.setActiveTab(r),E.clearAllPanels(e),E.setActivePanel(a,n)},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(Xe)})},setActiveTab:t=>{t.classList.add(ve),t.setAttribute("aria-selected","true"),t.setAttribute("tabindex","0"),t.focus()},setActivePanel:(t,e)=>{t.classList.remove(Xe),window.history.replaceState({},"",e)}},Pt="mds-accordion--breakpoint",$t="mds-accordion__label",ct={init:()=>{const t=document.querySelectorAll(`.${Pt}`),e=window.innerWidth;t.forEach(a=>{ct.checkBreakpoint(a,e)||(a.open=!0,a.querySelector("summary").style.display="none")}),document.querySelectorAll(`.${$t}`).forEach(a=>{a.addEventListener("click",({target:n})=>{const i=n.closest("details"),s=i.querySelector("summary");i.open=!1,s.focus()})})},checkBreakpoint:(t,e)=>{let r=0;if(t.dataset.bp){const a=t.dataset.bp.replace(/\D/g,""),n=t.dataset.bp.replace(/[0-9]/g,"");let i,s;switch(n){case"px":r=a;break;case"em":i=window.getComputedStyle(document.querySelector("body"))["font-size"],s=a*parseFloat(i),r=s;break;case"rem":i=window.getComputedStyle(document.querySelector("body"))["font-size"],s=a*parseFloat(i),r=s;break;default:return!0}return!(e>r)}return!0}},Dt={init:()=>{const t=document.querySelectorAll(".mds-subnavigation"),e=[];let r;t.forEach(n=>{const i=n.querySelector(".mds-subnavigation__link-list"),s=Array.from(i.children),o=s[0],l=n.querySelector(".mds-subnavigation__mobile-title"),d=n.querySelector(".mds-subnavigation__drawer"),c=n.querySelector(".mds-subnavigation__drawer-label"),p=n.querySelector(".mds-subnavigation__drawer-label-text"),f=n.querySelector(".mds-subnavigation__drawer-content"),v=d.dataset.label,m=d.dataset.labelPlural;c.addEventListener("click",()=>{c.getAttribute("aria-expanded")==="true"?c.setAttribute("aria-expanded","false"):c.setAttribute("aria-expanded","true")}),d.addEventListener("focusout",b=>{d.contains(b.relatedTarget)||c.setAttribute("aria-expanded","false")});const g=()=>i.clientHeight>o.offsetHeight;e.push(()=>{c.setAttribute("aria-expanded","false"),window.getComputedStyle(l).getPropertyValue("display")==="none"?(s.forEach(h=>{i.append(h)}),d.style.display="none",g()&&(d.style.display="list-item",s.slice().reverse().forEach(h=>{if(g()&&h!==d){f.prepend(h);const y=Array.from(f.children).length,A=y>1?m:v;p.innerText=A.replace("{count}",y)}else i.prepend(h)}),f.style.width=`${i.offsetWidth-d.offsetLeft}px`)):(s.forEach(h=>{h!==d&&h!==l&&f.append(h)}),f.style.width="initial",d.style.display="block")})});const a=()=>{e.forEach(n=>{n()})};a(),window.onresize=()=>{clearTimeout(r),r=setTimeout(a,100)}}},qt="mds-checkbox-accordion__button",Bt="mds-checkbox-accordion__button--open",jt={init:()=>{document.querySelectorAll(`.${qt}`).forEach(e=>{e.classList.contains(Bt)?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",$="bottom",D="right",P="left",$e="auto",se=[T,$,D,P],G="start",De="end",Mt="clippingParents",lt="viewport",ee="popper",Rt="reference",Ye=se.reduce(function(t,e){return t.concat([e+"-"+G,e+"-"+De])},[]),dt=[].concat(se,[$e]).reduce(function(t,e){return t.concat([e,e+"-"+G,e+"-"+De])},[]),Wt="beforeRead",It="read",_t="afterRead",Ht="beforeMain",Nt="main",Ft="afterMain",zt="beforeWrite",Vt="write",Ut="afterWrite",Xt=[Wt,It,_t,Ht,Nt,Ft,zt,Vt,Ut];function W(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 ne(t){var e=B(t).Element;return t instanceof e||t instanceof Element}function q(t){var e=B(t).HTMLElement;return t instanceof e||t instanceof HTMLElement}function ut(t){if(typeof ShadowRoot>"u")return!1;var e=B(t).ShadowRoot;return t instanceof e||t instanceof ShadowRoot}function Yt(t){var e=t.state;Object.keys(e.elements).forEach(function(r){var a=e.styles[r]||{},n=e.attributes[r]||{},i=e.elements[r];!q(i)||!W(i)||(Object.assign(i.style,a),Object.keys(n).forEach(function(s){var o=n[s];o===!1?i.removeAttribute(s):i.setAttribute(s,o===!0?"":o)}))})}function Jt(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(a){var n=e.elements[a],i=e.attributes[a]||{},s=Object.keys(e.styles.hasOwnProperty(a)?e.styles[a]:r[a]),o=s.reduce(function(l,d){return l[d]="",l},{});!q(n)||!W(n)||(Object.assign(n.style,o),Object.keys(i).forEach(function(l){n.removeAttribute(l)}))})}}const Kt={name:"applyStyles",enabled:!0,phase:"write",fn:Yt,effect:Jt,requires:["computeStyles"]};function R(t){return t.split("-")[0]}function Q(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 qe(t){var e=Q(t),r=t.offsetWidth,a=t.offsetHeight;return Math.abs(e.width-r)<=1&&(r=e.width),Math.abs(e.height-a)<=1&&(a=e.height),{x:t.offsetLeft,y:t.offsetTop,width:r,height:a}}function ft(t,e){var r=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(r&&ut(r)){var a=e;do{if(a&&t.isSameNode(a))return!0;a=a.parentNode||a.host}while(a)}return!1}function _(t){return B(t).getComputedStyle(t)}function Gt(t){return["table","td","th"].indexOf(W(t))>=0}function N(t){return((ne(t)?t.ownerDocument:t.document)||window.document).documentElement}function xe(t){return W(t)==="html"?t:t.assignedSlot||t.parentNode||(ut(t)?t.host:null)||N(t)}function Je(t){return!q(t)||_(t).position==="fixed"?null:t.offsetParent}function Qt(t){var e=navigator.userAgent.toLowerCase().indexOf("firefox")!==-1,r=navigator.userAgent.indexOf("Trident")!==-1;if(r&&q(t)){var a=_(t);if(a.position==="fixed")return null}for(var n=xe(t);q(n)&&["html","body"].indexOf(W(n))<0;){var i=_(n);if(i.transform!=="none"||i.perspective!=="none"||i.contain==="paint"||["transform","perspective"].indexOf(i.willChange)!==-1||e&&i.willChange==="filter"||e&&i.filter&&i.filter!=="none")return n;n=n.parentNode}return null}function ce(t){for(var e=B(t),r=Je(t);r&&Gt(r)&&_(r).position==="static";)r=Je(r);return r&&(W(r)==="html"||W(r)==="body"&&_(r).position==="static")?e:r||Qt(t)||e}function Be(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}var H=Math.max,ae=Math.min,be=Math.round;function we(t,e,r){return H(t,ae(e,r))}function pt(){return{top:0,right:0,bottom:0,left:0}}function vt(t){return Object.assign({},pt(),t)}function mt(t,e){return e.reduce(function(r,a){return r[a]=t,r},{})}var Zt=function(e,r){return e=typeof e=="function"?e(Object.assign({},r.rects,{placement:r.placement})):e,vt(typeof e!="number"?e:mt(e,se))};function er(t){var e,r=t.state,a=t.name,n=t.options,i=r.elements.arrow,s=r.modifiersData.popperOffsets,o=R(r.placement),l=Be(o),d=[P,D].indexOf(o)>=0,c=d?"height":"width";if(!(!i||!s)){var p=Zt(n.padding,r),f=qe(i),v=l==="y"?T:P,m=l==="y"?$:D,g=r.rects.reference[c]+r.rects.reference[l]-s[l]-r.rects.popper[c],b=s[l]-r.rects.reference[l],h=ce(i),y=h?l==="y"?h.clientHeight||0:h.clientWidth||0:0,A=g/2-b/2,u=p[v],L=y-f[c]-p[m],w=y/2-f[c]/2+A,O=we(u,w,L),x=l;r.modifiersData[a]=(e={},e[x]=O,e.centerOffset=O-w,e)}}function tr(t){var e=t.state,r=t.options,a=r.element,n=a===void 0?"[data-popper-arrow]":a;n!=null&&(typeof n=="string"&&(n=e.elements.popper.querySelector(n),!n)||ft(e.elements.popper,n)&&(e.elements.arrow=n))}const rr={name:"arrow",enabled:!0,phase:"main",fn:er,effect:tr,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};var nr={top:"auto",right:"auto",bottom:"auto",left:"auto"};function ar(t){var e=t.x,r=t.y,a=window,n=a.devicePixelRatio||1;return{x:be(be(e*n)/n)||0,y:be(be(r*n)/n)||0}}function Ke(t){var e,r=t.popper,a=t.popperRect,n=t.placement,i=t.offsets,s=t.position,o=t.gpuAcceleration,l=t.adaptive,d=t.roundOffsets,c=d===!0?ar(i):typeof d=="function"?d(i):i,p=c.x,f=p===void 0?0:p,v=c.y,m=v===void 0?0:v,g=i.hasOwnProperty("x"),b=i.hasOwnProperty("y"),h=P,y=T,A=window;if(l){var u=ce(r),L="clientHeight",w="clientWidth";u===B(r)&&(u=N(r),_(u).position!=="static"&&(L="scrollHeight",w="scrollWidth")),u=u,n===T&&(y=$,m-=u[L]-a.height,m*=o?1:-1),n===P&&(h=D,f-=u[w]-a.width,f*=o?1:-1)}var O=Object.assign({position:s},l&&nr);if(o){var x;return Object.assign({},O,(x={},x[y]=b?"0":"",x[h]=g?"0":"",x.transform=(A.devicePixelRatio||1)<2?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",x))}return Object.assign({},O,(e={},e[y]=b?m+"px":"",e[h]=g?f+"px":"",e.transform="",e))}function or(t){var e=t.state,r=t.options,a=r.gpuAcceleration,n=a===void 0?!0:a,i=r.adaptive,s=i===void 0?!0:i,o=r.roundOffsets,l=o===void 0?!0:o,d={placement:R(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:n};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,Ke(Object.assign({},d,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:s,roundOffsets:l})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,Ke(Object.assign({},d,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}const ir={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:or,data:{}};var he={passive:!0};function sr(t){var e=t.state,r=t.instance,a=t.options,n=a.scroll,i=n===void 0?!0:n,s=a.resize,o=s===void 0?!0:s,l=B(e.elements.popper),d=[].concat(e.scrollParents.reference,e.scrollParents.popper);return i&&d.forEach(function(c){c.addEventListener("scroll",r.update,he)}),o&&l.addEventListener("resize",r.update,he),function(){i&&d.forEach(function(c){c.removeEventListener("scroll",r.update,he)}),o&&l.removeEventListener("resize",r.update,he)}}const cr={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:sr,data:{}};var lr={left:"right",right:"left",bottom:"top",top:"bottom"};function Ae(t){return t.replace(/left|right|bottom|top/g,function(e){return lr[e]})}var dr={start:"end",end:"start"};function Ge(t){return t.replace(/start|end/g,function(e){return dr[e]})}function je(t){var e=B(t),r=e.pageXOffset,a=e.pageYOffset;return{scrollLeft:r,scrollTop:a}}function Me(t){return Q(N(t)).left+je(t).scrollLeft}function ur(t){var e=B(t),r=N(t),a=e.visualViewport,n=r.clientWidth,i=r.clientHeight,s=0,o=0;return a&&(n=a.width,i=a.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(s=a.offsetLeft,o=a.offsetTop)),{width:n,height:i,x:s+Me(t),y:o}}function fr(t){var e,r=N(t),a=je(t),n=(e=t.ownerDocument)==null?void 0:e.body,i=H(r.scrollWidth,r.clientWidth,n?n.scrollWidth:0,n?n.clientWidth:0),s=H(r.scrollHeight,r.clientHeight,n?n.scrollHeight:0,n?n.clientHeight:0),o=-a.scrollLeft+Me(t),l=-a.scrollTop;return _(n||r).direction==="rtl"&&(o+=H(r.clientWidth,n?n.clientWidth:0)-i),{width:i,height:s,x:o,y:l}}function Re(t){var e=_(t),r=e.overflow,a=e.overflowX,n=e.overflowY;return/auto|scroll|overlay|hidden/.test(r+n+a)}function bt(t){return["html","body","#document"].indexOf(W(t))>=0?t.ownerDocument.body:q(t)&&Re(t)?t:bt(xe(t))}function re(t,e){var r;e===void 0&&(e=[]);var a=bt(t),n=a===((r=t.ownerDocument)==null?void 0:r.body),i=B(a),s=n?[i].concat(i.visualViewport||[],Re(a)?a:[]):a,o=e.concat(s);return n?o:o.concat(re(xe(s)))}function Se(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function pr(t){var e=Q(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 Qe(t,e){return e===lt?Se(ur(t)):q(e)?pr(e):Se(fr(N(t)))}function vr(t){var e=re(xe(t)),r=["absolute","fixed"].indexOf(_(t).position)>=0,a=r&&q(t)?ce(t):t;return ne(a)?e.filter(function(n){return ne(n)&&ft(n,a)&&W(n)!=="body"}):[]}function mr(t,e,r){var a=e==="clippingParents"?vr(t):[].concat(e),n=[].concat(a,[r]),i=n[0],s=n.reduce(function(o,l){var d=Qe(t,l);return o.top=H(d.top,o.top),o.right=ae(d.right,o.right),o.bottom=ae(d.bottom,o.bottom),o.left=H(d.left,o.left),o},Qe(t,i));return s.width=s.right-s.left,s.height=s.bottom-s.top,s.x=s.left,s.y=s.top,s}function oe(t){return t.split("-")[1]}function ht(t){var e=t.reference,r=t.element,a=t.placement,n=a?R(a):null,i=a?oe(a):null,s=e.x+e.width/2-r.width/2,o=e.y+e.height/2-r.height/2,l;switch(n){case T:l={x:s,y:e.y-r.height};break;case $:l={x:s,y:e.y+e.height};break;case D:l={x:e.x+e.width,y:o};break;case P:l={x:e.x-r.width,y:o};break;default:l={x:e.x,y:e.y}}var d=n?Be(n):null;if(d!=null){var c=d==="y"?"height":"width";switch(i){case G:l[d]=l[d]-(e[c]/2-r[c]/2);break;case De:l[d]=l[d]+(e[c]/2-r[c]/2);break}}return l}function ie(t,e){e===void 0&&(e={});var r=e,a=r.placement,n=a===void 0?t.placement:a,i=r.boundary,s=i===void 0?Mt:i,o=r.rootBoundary,l=o===void 0?lt:o,d=r.elementContext,c=d===void 0?ee:d,p=r.altBoundary,f=p===void 0?!1:p,v=r.padding,m=v===void 0?0:v,g=vt(typeof m!="number"?m:mt(m,se)),b=c===ee?Rt:ee,h=t.elements.reference,y=t.rects.popper,A=t.elements[f?b:c],u=mr(ne(A)?A:A.contextElement||N(t.elements.popper),s,l),L=Q(h),w=ht({reference:L,element:y,placement:n}),O=Se(Object.assign({},y,w)),x=c===ee?O:L,C={top:u.top-x.top+g.top,bottom:x.bottom-u.bottom+g.bottom,left:u.left-x.left+g.left,right:x.right-u.right+g.right},S=t.modifiersData.offset;if(c===ee&&S){var j=S[n];Object.keys(C).forEach(function(I){var k=[D,$].indexOf(I)>=0?1:-1,F=[T,$].indexOf(I)>=0?"y":"x";C[I]+=j[F]*k})}return C}function br(t,e){e===void 0&&(e={});var r=e,a=r.placement,n=r.boundary,i=r.rootBoundary,s=r.padding,o=r.flipVariations,l=r.allowedAutoPlacements,d=l===void 0?dt:l,c=oe(a),p=c?o?Ye:Ye.filter(function(m){return oe(m)===c}):se,f=p.filter(function(m){return d.indexOf(m)>=0});f.length===0&&(f=p);var v=f.reduce(function(m,g){return m[g]=ie(t,{placement:g,boundary:n,rootBoundary:i,padding:s})[R(g)],m},{});return Object.keys(v).sort(function(m,g){return v[m]-v[g]})}function hr(t){if(R(t)===$e)return[];var e=Ae(t);return[Ge(t),e,Ge(e)]}function gr(t){var e=t.state,r=t.options,a=t.name;if(!e.modifiersData[a]._skip){for(var n=r.mainAxis,i=n===void 0?!0:n,s=r.altAxis,o=s===void 0?!0:s,l=r.fallbackPlacements,d=r.padding,c=r.boundary,p=r.rootBoundary,f=r.altBoundary,v=r.flipVariations,m=v===void 0?!0:v,g=r.allowedAutoPlacements,b=e.options.placement,h=R(b),y=h===b,A=l||(y||!m?[Ae(b)]:hr(b)),u=[b].concat(A).reduce(function(V,M){return V.concat(R(M)===$e?br(e,{placement:M,boundary:c,rootBoundary:p,padding:d,flipVariations:m,allowedAutoPlacements:g}):M)},[]),L=e.rects.reference,w=e.rects.popper,O=new Map,x=!0,C=u[0],S=0;S<u.length;S++){var j=u[S],I=R(j),k=oe(j)===G,F=[T,$].indexOf(I)>=0,Z=F?"width":"height",U=ie(e,{placement:j,boundary:c,rootBoundary:p,altBoundary:f,padding:d}),z=F?k?D:P:k?$:T;L[Z]>w[Z]&&(z=Ae(z));var Ee=Ae(z),X=[];if(i&&X.push(U[I]<=0),o&&X.push(U[z]<=0,U[Ee]<=0),X.every(function(V){return V})){C=j,x=!1;break}O.set(j,X)}if(x)for(var le=m?3:1,Oe=function(M){var ue=u.find(function(Le){var J=O.get(Le);if(J)return J.slice(0,M).every(function(Ce){return Ce})});if(ue)return C=ue,"break"},Y=le;Y>0;Y--){var de=Oe(Y);if(de==="break")break}e.placement!==C&&(e.modifiersData[a]._skip=!0,e.placement=C,e.reset=!0)}}const yr={name:"flip",enabled:!0,phase:"main",fn:gr,requiresIfExists:["offset"],data:{_skip:!1}};function Ze(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 et(t){return[T,D,$,P].some(function(e){return t[e]>=0})}function wr(t){var e=t.state,r=t.name,a=e.rects.reference,n=e.rects.popper,i=e.modifiersData.preventOverflow,s=ie(e,{elementContext:"reference"}),o=ie(e,{altBoundary:!0}),l=Ze(s,a),d=Ze(o,n,i),c=et(l),p=et(d);e.modifiersData[r]={referenceClippingOffsets:l,popperEscapeOffsets:d,isReferenceHidden:c,hasPopperEscaped:p},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":c,"data-popper-escaped":p})}const Ar={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:wr};function xr(t,e,r){var a=R(t),n=[P,T].indexOf(a)>=0?-1:1,i=typeof r=="function"?r(Object.assign({},e,{placement:t})):r,s=i[0],o=i[1];return s=s||0,o=(o||0)*n,[P,D].indexOf(a)>=0?{x:o,y:s}:{x:s,y:o}}function Er(t){var e=t.state,r=t.options,a=t.name,n=r.offset,i=n===void 0?[0,0]:n,s=dt.reduce(function(c,p){return c[p]=xr(p,e.rects,i),c},{}),o=s[e.placement],l=o.x,d=o.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=d),e.modifiersData[a]=s}const Or={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Er};function Lr(t){var e=t.state,r=t.name;e.modifiersData[r]=ht({reference:e.rects.reference,element:e.rects.popper,placement:e.placement})}const Cr={name:"popperOffsets",enabled:!0,phase:"read",fn:Lr,data:{}};function kr(t){return t==="x"?"y":"x"}function Sr(t){var e=t.state,r=t.options,a=t.name,n=r.mainAxis,i=n===void 0?!0:n,s=r.altAxis,o=s===void 0?!1:s,l=r.boundary,d=r.rootBoundary,c=r.altBoundary,p=r.padding,f=r.tether,v=f===void 0?!0:f,m=r.tetherOffset,g=m===void 0?0:m,b=ie(e,{boundary:l,rootBoundary:d,padding:p,altBoundary:c}),h=R(e.placement),y=oe(e.placement),A=!y,u=Be(h),L=kr(u),w=e.modifiersData.popperOffsets,O=e.rects.reference,x=e.rects.popper,C=typeof g=="function"?g(Object.assign({},e.rects,{placement:e.placement})):g,S={x:0,y:0};if(w){if(i||o){var j=u==="y"?T:P,I=u==="y"?$:D,k=u==="y"?"height":"width",F=w[u],Z=w[u]+b[j],U=w[u]-b[I],z=v?-x[k]/2:0,Ee=y===G?O[k]:x[k],X=y===G?-x[k]:-O[k],le=e.elements.arrow,Oe=v&&le?qe(le):{width:0,height:0},Y=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:pt(),de=Y[j],V=Y[I],M=we(0,O[k],Oe[k]),ue=A?O[k]/2-z-M-de-C:Ee-M-de-C,Le=A?-O[k]/2+z+M+V+C:X+M+V+C,J=e.elements.arrow&&ce(e.elements.arrow),Ce=J?u==="y"?J.clientTop||0:J.clientLeft||0:0,We=e.modifiersData.offset?e.modifiersData.offset[e.placement][u]:0,Ie=w[u]+ue-We-Ce,_e=w[u]+Le-We;if(i){var He=we(v?ae(Z,Ie):Z,F,v?H(U,_e):U);w[u]=He,S[u]=He-F}if(o){var wt=u==="x"?T:P,At=u==="x"?$:D,fe=w[L],Ne=fe+b[wt],Fe=fe-b[At],ze=we(v?ae(Ne,Ie):Ne,fe,v?H(Fe,_e):Fe);w[L]=ze,S[L]=ze-fe}}e.modifiersData[a]=S}}const Tr={name:"preventOverflow",enabled:!0,phase:"main",fn:Sr,requiresIfExists:["offset"]};function Pr(t){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}function $r(t){return t===B(t)||!q(t)?je(t):Pr(t)}function Dr(t,e,r){r===void 0&&(r=!1);var a=N(e),n=Q(t),i=q(e),s={scrollLeft:0,scrollTop:0},o={x:0,y:0};return(i||!i&&!r)&&((W(e)!=="body"||Re(a))&&(s=$r(e)),q(e)?(o=Q(e),o.x+=e.clientLeft,o.y+=e.clientTop):a&&(o.x=Me(a))),{x:n.left+s.scrollLeft-o.x,y:n.top+s.scrollTop-o.y,width:n.width,height:n.height}}function qr(t){var e=new Map,r=new Set,a=[];t.forEach(function(i){e.set(i.name,i)});function n(i){r.add(i.name);var s=[].concat(i.requires||[],i.requiresIfExists||[]);s.forEach(function(o){if(!r.has(o)){var l=e.get(o);l&&n(l)}}),a.push(i)}return t.forEach(function(i){r.has(i.name)||n(i)}),a}function Br(t){var e=qr(t);return Xt.reduce(function(r,a){return r.concat(e.filter(function(n){return n.phase===a}))},[])}function jr(t){var e;return function(){return e||(e=new Promise(function(r){Promise.resolve().then(function(){e=void 0,r(t())})})),e}}function Mr(t){var e=t.reduce(function(r,a){var n=r[a.name];return r[a.name]=n?Object.assign({},n,a,{options:Object.assign({},n.options,a.options),data:Object.assign({},n.data,a.data)}):a,r},{});return Object.keys(e).map(function(r){return e[r]})}var tt={placement:"bottom",modifiers:[],strategy:"absolute"};function rt(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];return!e.some(function(a){return!(a&&typeof a.getBoundingClientRect=="function")})}function Rr(t){t===void 0&&(t={});var e=t,r=e.defaultModifiers,a=r===void 0?[]:r,n=e.defaultOptions,i=n===void 0?tt:n;return function(o,l,d){d===void 0&&(d=i);var c={placement:"bottom",orderedModifiers:[],options:Object.assign({},tt,i),modifiersData:{},elements:{reference:o,popper:l},attributes:{},styles:{}},p=[],f=!1,v={state:c,setOptions:function(h){g(),c.options=Object.assign({},i,c.options,h),c.scrollParents={reference:ne(o)?re(o):o.contextElement?re(o.contextElement):[],popper:re(l)};var y=Br(Mr([].concat(a,c.options.modifiers)));return c.orderedModifiers=y.filter(function(A){return A.enabled}),m(),v.update()},forceUpdate:function(){if(!f){var h=c.elements,y=h.reference,A=h.popper;if(rt(y,A)){c.rects={reference:Dr(y,ce(A),c.options.strategy==="fixed"),popper:qe(A)},c.reset=!1,c.placement=c.options.placement,c.orderedModifiers.forEach(function(S){return c.modifiersData[S.name]=Object.assign({},S.data)});for(var u=0;u<c.orderedModifiers.length;u++){if(c.reset===!0){c.reset=!1,u=-1;continue}var L=c.orderedModifiers[u],w=L.fn,O=L.options,x=O===void 0?{}:O,C=L.name;typeof w=="function"&&(c=w({state:c,options:x,name:C,instance:v})||c)}}}},update:jr(function(){return new Promise(function(b){v.forceUpdate(),b(c)})}),destroy:function(){g(),f=!0}};if(!rt(o,l))return v;v.setOptions(d).then(function(b){!f&&d.onFirstUpdate&&d.onFirstUpdate(b)});function m(){c.orderedModifiers.forEach(function(b){var h=b.name,y=b.options,A=y===void 0?{}:y,u=b.effect;if(typeof u=="function"){var L=u({state:c,name:h,instance:v,options:A}),w=function(){};p.push(L||w)}})}function g(){p.forEach(function(b){return b()}),p=[]}return v}}var Wr=[cr,Cr,ir,Kt,Or,yr,Tr,rr,Ar],Ir=Rr({defaultModifiers:Wr});const _r=parseInt(it.baseline.$value,10),Hr="js-mds-popover-trigger",ge="mds-popover--active",te={init:()=>{Array.from(document.querySelectorAll(`.${Hr}`)).forEach(e=>{const a=`${e.getAttribute("id")}-content`,n=document.getElementById(a),i=n.dataset?n.dataset.placement:null,s=Ir(e,n,{placement:i||"top-end",strategy:"fixed",modifiers:[{name:"offset",options:{offset:[0,_r*3]}},{name:"arrow",options:{padding:5}}]});e.setAttribute("aria-expanded","false"),n.setAttribute("aria-hidden","true"),e.addEventListener("click",o=>{o.preventDefault(),s.update(),n.classList.toggle(ge),te.setAriaAttr(e,n,ge)}),document.addEventListener("mousedown",o=>{te.hide(e,n,s,ge,o)}),document.addEventListener("keydown",o=>{te.hide(e,n,s,ge,o)})})},hide:(t,e,r,a,n)=>{!t.contains(n.target)&&!r.state.elements.popper.contains(n.target)&&e.classList.contains(a)&&(e.classList.remove(a),te.setAriaAttr(t,e,a))},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"))}},Nr=parseInt(st.size.breakpoint.md.$value,10),nt="data-modal-id",at="mds-modal--active",Fr="js-mds-modal-close";let ye;const K={init:()=>{window.innerWidth>Nr&&Array.from(document.querySelectorAll(`[${nt}]`)).forEach(r=>{const a=r.getAttribute(nt),n=document.getElementById(a),i=Array.from(n.querySelectorAll(`.${Fr}`)),s=n.getAttribute("data-site-container"),o=document.getElementById(s);let d=n.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]');d=Array.prototype.slice.call(d);const c=d[0],p=d[d.length-1];r.addEventListener("click",f=>{f.preventDefault(),K.open(n,c,o)}),n.addEventListener("click",f=>{f.target===n&&K.close(n,ye,o)}),n.addEventListener("keydown",f=>{K.trapFocus(f,c,p),(f.key==="Escape"||f.key==="Esc")&&K.close(n,ye,o)}),i.forEach(f=>{f.addEventListener("click",()=>{K.close(n,ye,o)})})})},open:(t,e,r)=>{ye=document.activeElement,t.classList.add(at),e.focus(),r.setAttribute("aria-hidden","true")},close:(t,e,r)=>{r.removeAttribute("aria-hidden"),t.classList.remove(at),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()))}},zr=".mds-form-element--file",ke="mds-form-element--selected-file",ot="mds-form-element--dragover",Vr=".mds-file-upload__file-name",Ur=".mds-file-upload__remove-button",Xr="mds-form-element--file-supported",gt={init:()=>{gt.isBrowserIE()||Array.from(document.querySelectorAll(zr)).forEach(e=>{e.classList.add(Xr);const r=e.querySelector(Vr),a=e.querySelector("input[type=file]"),n=e.querySelector(Ur);document.addEventListener("readystatechange",()=>{a.files&&a.files.length&&(r.textContent=a.files[0].name,e.classList.add(ke))}),a.addEventListener("change",()=>{a.files&&a.files.length&&(r.textContent=a.files[0].name,e.classList.add(ke),n.focus())}),n.addEventListener("click",i=>{i.preventDefault(),a.value="",r.textContent="",e.classList.remove(ke),a.focus()}),["dragover","dragenter"].forEach(i=>{a.addEventListener(i,s=>{s.stopPropagation(),e.classList.add(ot)})}),["dragleave","dragend","drop"].forEach(i=>{a.addEventListener(i,s=>{s.stopPropagation(),e.classList.remove(ot)})})})},isBrowserIE:()=>!!window.document.documentMode},Yr=".mds-form-element--character-count",Jr=".mds-form-message--character-count",Kr=".js-character-count-number",Gr=".mds-form-control",Te={init:()=>{Array.from(document.querySelectorAll(Yr)).forEach(e=>{const r=e.querySelector(Gr),a=r.getAttribute("maxlength"),n=e.querySelector(Jr),i=e.querySelector(Kr);r.removeAttribute("maxlength"),Te.updateCounter(r,a,i,n),r.addEventListener("keyup",s=>{s.stopPropagation(),Te.updateCounter(r,a,i,n)})})},updateCounter:(t,e,r,a)=>{const n=t.value.match(/(\r\n|\n|\r)/g),i=t.value.length+(n?n.length:0),s=e-i;r.textContent=s,s<0?a.classList.add("mds-form-message--error"):a.classList.remove("mds-form-message--error")}},Qr="js-mds-button-double-submit",yt={init:()=>{Array.from(document.querySelectorAll(`.${Qr}`)).forEach(e=>{e.addEventListener("click",()=>{yt.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")).forEach(e=>{const r=document.createElement("div");r.classList.add("mds-fluid-video"),r.innerHTML=e.outerHTML,e.replaceWith(r)})}};class en extends HTMLElement{connectedCallback(){const r=this.querySelector(".mds-card-link__link");let a;this.onmousedown=()=>{a=+new Date},this.onmouseup=()=>{+new Date-a<200&&r.click(),a=void 0}}disconnectedCallback(){this.onmousedown=this.onmouseup=null}}window.customElements.get("mds-dropdown-nav")||window.customElements.define("mds-dropdown-nav",xt);window.customElements.get("mds-timeout-dialog")||window.customElements.define("mds-timeout-dialog",Et);window.customElements.get("mds-card-link")||window.customElements.define("mds-card-link",en);const Pe=()=>{E.init(),ct.init(),Dt.init(),jt.init(),K.init(),gt.init(),Te.init(),te.init(),yt.init(),Zr.setFluidVideos()};window.mdgxInitAll=Pe;document.readyState==="loading"?document.addEventListener("DOMContentLoaded",Pe):Pe();
1
+ import{M as xt}from"./dropdown-nav-B37nBO1_.js";import{M as Et}from"./timeout-dialog-plrFUmdZ.js";window.addEventListener("hashchange",()=>{const t=window.location.hash.trim();Array.from(document.querySelectorAll(`a[href='${t}']`)).forEach(r=>{r.click()})},!1);const it={baseline:{$value:"4px"},breakpoint:{md:{$value:"600px"},lg:{$value:"1008px"}}},st={size:it},Ot="js-tabs-item",Ve="mds-tabs",Ct="mds-tabs__list",Lt="mds-tabs__list-item",Ue="mds-tabs__panel",pe="mds-tabs__tab",ve="mds-tabs__tab--selected",Xe="mds-tabs__panel--hidden",me={left:37,right:39,up:38,down:40},kt=".js-desktop-tabbed",St=".js-full-tabbed",Tt=parseInt(st.size.breakpoint.lg.$value,10),E={init:()=>{E.setTabs(St),window.innerWidth>Tt&&E.setTabs(kt)},setTabs:t=>{const e=Array.from(document.querySelectorAll(`${t} .${pe}`)),r=Array.from(document.querySelectorAll(`${t} .${Ct}`)),o=Array.from(document.querySelectorAll(`${t} .${Lt}`)),n=Array.from(document.querySelectorAll(`${t} .${Ue}`));r.forEach(a=>{a.setAttribute("role","tablist")}),o.forEach(a=>{a.setAttribute("role","presentation")}),e.forEach(a=>{a.setAttribute("role","tab"),a.setAttribute("aria-controls",a.attributes.href.value.substring(1)),a.classList.contains(ve)?a.setAttribute("tabindex","0"):a.setAttribute("tabindex","-1")}),n.forEach(a=>{a.setAttribute("role","tabpanel"),a.setAttribute("aria-labelledby",`label-${a.attributes.id.value}`)});const i=document.querySelectorAll(`${t} .${Ot}`);Array.from(i).forEach(a=>{const l=window.location.hash.trim(),d=a.attributes.href.value,c=a.closest(`.${Ve}`),p=E.getAllPanels(c),u=E.getAllTabs(c),v=E.getTargetPanel(a,c);a.addEventListener("click",m=>{m.preventDefault(),E.updateTabs(u,p,a,v,d)}),d===l&&E.updateTabs(u,p,a,v,d)}),r.forEach(a=>{const l=a.closest(`.${Ve}`),d=E.getAllPanels(l),c=E.getAllTabs(l);a.addEventListener("keydown",p=>{switch(p.keyCode){case me.left:case me.up:p.preventDefault(),E.moveTab(a,l,c,d,!1);break;case me.right:case me.down:p.preventDefault(),E.moveTab(a,l,c,d,!0);break}})})},getSelectedTab:t=>t.querySelector(`.${ve}`),getPrevTab:t=>t.parentElement.previousSibling?t.parentElement.previousSibling.querySelector(`.${pe}`):!1,getNextTab:t=>t.parentElement.nextSibling?t.parentElement.nextSibling.querySelector(`.${pe}`):!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(`.${pe}`)),moveTab:(t,e,r,o,n)=>{const i=E.getSelectedTab(t),s=n?E.getNextTab(i):E.getPrevTab(i);if(s){const a=s.attributes.href.value,l=E.getTargetPanel(s,e);E.updateTabs(r,o,s,l,a,!1)}},updateTabs:(t,e,r,o,n)=>{E.clearAllTabs(t),E.setActiveTab(r),E.clearAllPanels(e),E.setActivePanel(o,n)},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(Xe)})},setActiveTab:t=>{t.classList.add(ve),t.setAttribute("aria-selected","true"),t.setAttribute("tabindex","0"),t.focus()},setActivePanel:(t,e)=>{t.classList.remove(Xe),window.history.replaceState({},"",e)}},$t="mds-accordion--breakpoint",Pt="mds-accordion__label",ct={init:()=>{const t=document.querySelectorAll(`.${$t}`),e=window.innerWidth;t.forEach(o=>{ct.checkBreakpoint(o,e)||(o.open=!0,o.querySelector("summary").style.display="none")}),document.querySelectorAll(`.${Pt}`).forEach(o=>{o.addEventListener("click",({target:n})=>{const i=n.closest("details"),s=i.querySelector("summary");i.open=!1,s.focus()})})},checkBreakpoint:(t,e)=>{let r=0;if(t.dataset.bp){const o=t.dataset.bp.replace(/\D/g,""),n=t.dataset.bp.replace(/[0-9]/g,"");let i,s;switch(n){case"px":r=o;break;case"em":i=window.getComputedStyle(document.querySelector("body"))["font-size"],s=o*parseFloat(i),r=s;break;case"rem":i=window.getComputedStyle(document.querySelector("body"))["font-size"],s=o*parseFloat(i),r=s;break;default:return!0}return!(e>r)}return!0}},Dt={init:()=>{const t=document.querySelectorAll(".mds-subnavigation"),e=[];let r;t.forEach(n=>{const i=n.querySelector(".mds-subnavigation__link-list"),s=Array.from(i.children),a=s[0],l=n.querySelector(".mds-subnavigation__mobile-title"),d=n.querySelector(".mds-subnavigation__drawer"),c=n.querySelector(".mds-subnavigation__drawer-label"),p=n.querySelector(".mds-subnavigation__drawer-label-text"),u=n.querySelector(".mds-subnavigation__drawer-content"),v=d.dataset.label,m=d.dataset.labelPlural;c.addEventListener("click",()=>{c.getAttribute("aria-expanded")==="true"?c.setAttribute("aria-expanded","false"):c.setAttribute("aria-expanded","true")}),d.addEventListener("focusout",h=>{d.contains(h.relatedTarget)||c.setAttribute("aria-expanded","false")});const g=()=>i.clientHeight>a.offsetHeight;e.push(()=>{c.setAttribute("aria-expanded","false"),window.getComputedStyle(l).getPropertyValue("display")==="none"?(s.forEach(b=>{i.append(b)}),d.style.display="none",g()&&(d.style.display="list-item",s.slice().reverse().forEach(b=>{if(g()&&b!==d){u.prepend(b);const y=Array.from(u.children).length,A=y>1?m:v;p.innerText=A.replace("{count}",y)}else i.prepend(b)}),u.style.width=`${i.offsetWidth-d.offsetLeft}px`)):(s.forEach(b=>{b!==d&&b!==l&&u.append(b)}),u.style.width="initial",d.style.display="block")})});const o=()=>{e.forEach(n=>{n()})};o(),window.onresize=()=>{clearTimeout(r),r=setTimeout(o,100)}}},qt="mds-checkbox-accordion__button",Bt="mds-checkbox-accordion__button--open",jt={init:()=>{document.querySelectorAll(`.${qt}`).forEach(e=>{e.classList.contains(Bt)?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",D="right",$="left",Pe="auto",se=[T,P,D,$],G="start",De="end",Mt="clippingParents",lt="viewport",ee="popper",Rt="reference",Ye=se.reduce(function(t,e){return t.concat([e+"-"+G,e+"-"+De])},[]),dt=[].concat(se,[Pe]).reduce(function(t,e){return t.concat([e,e+"-"+G,e+"-"+De])},[]),Wt="beforeRead",It="read",_t="afterRead",Ht="beforeMain",Nt="main",Ft="afterMain",zt="beforeWrite",Vt="write",Ut="afterWrite",Xt=[Wt,It,_t,Ht,Nt,Ft,zt,Vt,Ut];function W(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 ne(t){var e=B(t).Element;return t instanceof e||t instanceof Element}function q(t){var e=B(t).HTMLElement;return t instanceof e||t instanceof HTMLElement}function ft(t){if(typeof ShadowRoot>"u")return!1;var e=B(t).ShadowRoot;return t instanceof e||t instanceof ShadowRoot}function Yt(t){var e=t.state;Object.keys(e.elements).forEach(function(r){var o=e.styles[r]||{},n=e.attributes[r]||{},i=e.elements[r];!q(i)||!W(i)||(Object.assign(i.style,o),Object.keys(n).forEach(function(s){var a=n[s];a===!1?i.removeAttribute(s):i.setAttribute(s,a===!0?"":a)}))})}function Jt(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(o){var n=e.elements[o],i=e.attributes[o]||{},s=Object.keys(e.styles.hasOwnProperty(o)?e.styles[o]:r[o]),a=s.reduce(function(l,d){return l[d]="",l},{});!q(n)||!W(n)||(Object.assign(n.style,a),Object.keys(i).forEach(function(l){n.removeAttribute(l)}))})}}const Kt={name:"applyStyles",enabled:!0,phase:"write",fn:Yt,effect:Jt,requires:["computeStyles"]};function R(t){return t.split("-")[0]}function Q(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 qe(t){var e=Q(t),r=t.offsetWidth,o=t.offsetHeight;return Math.abs(e.width-r)<=1&&(r=e.width),Math.abs(e.height-o)<=1&&(o=e.height),{x:t.offsetLeft,y:t.offsetTop,width:r,height:o}}function ut(t,e){var r=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(r&&ft(r)){var o=e;do{if(o&&t.isSameNode(o))return!0;o=o.parentNode||o.host}while(o)}return!1}function _(t){return B(t).getComputedStyle(t)}function Gt(t){return["table","td","th"].indexOf(W(t))>=0}function N(t){return((ne(t)?t.ownerDocument:t.document)||window.document).documentElement}function xe(t){return W(t)==="html"?t:t.assignedSlot||t.parentNode||(ft(t)?t.host:null)||N(t)}function Je(t){return!q(t)||_(t).position==="fixed"?null:t.offsetParent}function Qt(t){var e=navigator.userAgent.toLowerCase().indexOf("firefox")!==-1,r=navigator.userAgent.indexOf("Trident")!==-1;if(r&&q(t)){var o=_(t);if(o.position==="fixed")return null}for(var n=xe(t);q(n)&&["html","body"].indexOf(W(n))<0;){var i=_(n);if(i.transform!=="none"||i.perspective!=="none"||i.contain==="paint"||["transform","perspective"].indexOf(i.willChange)!==-1||e&&i.willChange==="filter"||e&&i.filter&&i.filter!=="none")return n;n=n.parentNode}return null}function ce(t){for(var e=B(t),r=Je(t);r&&Gt(r)&&_(r).position==="static";)r=Je(r);return r&&(W(r)==="html"||W(r)==="body"&&_(r).position==="static")?e:r||Qt(t)||e}function Be(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}var H=Math.max,oe=Math.min,he=Math.round;function we(t,e,r){return H(t,oe(e,r))}function pt(){return{top:0,right:0,bottom:0,left:0}}function vt(t){return Object.assign({},pt(),t)}function mt(t,e){return e.reduce(function(r,o){return r[o]=t,r},{})}var Zt=function(e,r){return e=typeof e=="function"?e(Object.assign({},r.rects,{placement:r.placement})):e,vt(typeof e!="number"?e:mt(e,se))};function er(t){var e,r=t.state,o=t.name,n=t.options,i=r.elements.arrow,s=r.modifiersData.popperOffsets,a=R(r.placement),l=Be(a),d=[$,D].indexOf(a)>=0,c=d?"height":"width";if(!(!i||!s)){var p=Zt(n.padding,r),u=qe(i),v=l==="y"?T:$,m=l==="y"?P:D,g=r.rects.reference[c]+r.rects.reference[l]-s[l]-r.rects.popper[c],h=s[l]-r.rects.reference[l],b=ce(i),y=b?l==="y"?b.clientHeight||0:b.clientWidth||0:0,A=g/2-h/2,f=p[v],C=y-u[c]-p[m],w=y/2-u[c]/2+A,O=we(f,w,C),x=l;r.modifiersData[o]=(e={},e[x]=O,e.centerOffset=O-w,e)}}function tr(t){var e=t.state,r=t.options,o=r.element,n=o===void 0?"[data-popper-arrow]":o;n!=null&&(typeof n=="string"&&(n=e.elements.popper.querySelector(n),!n)||ut(e.elements.popper,n)&&(e.elements.arrow=n))}const rr={name:"arrow",enabled:!0,phase:"main",fn:er,effect:tr,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};var nr={top:"auto",right:"auto",bottom:"auto",left:"auto"};function or(t){var e=t.x,r=t.y,o=window,n=o.devicePixelRatio||1;return{x:he(he(e*n)/n)||0,y:he(he(r*n)/n)||0}}function Ke(t){var e,r=t.popper,o=t.popperRect,n=t.placement,i=t.offsets,s=t.position,a=t.gpuAcceleration,l=t.adaptive,d=t.roundOffsets,c=d===!0?or(i):typeof d=="function"?d(i):i,p=c.x,u=p===void 0?0:p,v=c.y,m=v===void 0?0:v,g=i.hasOwnProperty("x"),h=i.hasOwnProperty("y"),b=$,y=T,A=window;if(l){var f=ce(r),C="clientHeight",w="clientWidth";f===B(r)&&(f=N(r),_(f).position!=="static"&&(C="scrollHeight",w="scrollWidth")),f=f,n===T&&(y=P,m-=f[C]-o.height,m*=a?1:-1),n===$&&(b=D,u-=f[w]-o.width,u*=a?1:-1)}var O=Object.assign({position:s},l&&nr);if(a){var x;return Object.assign({},O,(x={},x[y]=h?"0":"",x[b]=g?"0":"",x.transform=(A.devicePixelRatio||1)<2?"translate("+u+"px, "+m+"px)":"translate3d("+u+"px, "+m+"px, 0)",x))}return Object.assign({},O,(e={},e[y]=h?m+"px":"",e[b]=g?u+"px":"",e.transform="",e))}function ar(t){var e=t.state,r=t.options,o=r.gpuAcceleration,n=o===void 0?!0:o,i=r.adaptive,s=i===void 0?!0:i,a=r.roundOffsets,l=a===void 0?!0:a,d={placement:R(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:n};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,Ke(Object.assign({},d,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:s,roundOffsets:l})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,Ke(Object.assign({},d,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}const ir={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:ar,data:{}};var be={passive:!0};function sr(t){var e=t.state,r=t.instance,o=t.options,n=o.scroll,i=n===void 0?!0:n,s=o.resize,a=s===void 0?!0:s,l=B(e.elements.popper),d=[].concat(e.scrollParents.reference,e.scrollParents.popper);return i&&d.forEach(function(c){c.addEventListener("scroll",r.update,be)}),a&&l.addEventListener("resize",r.update,be),function(){i&&d.forEach(function(c){c.removeEventListener("scroll",r.update,be)}),a&&l.removeEventListener("resize",r.update,be)}}const cr={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:sr,data:{}};var lr={left:"right",right:"left",bottom:"top",top:"bottom"};function Ae(t){return t.replace(/left|right|bottom|top/g,function(e){return lr[e]})}var dr={start:"end",end:"start"};function Ge(t){return t.replace(/start|end/g,function(e){return dr[e]})}function je(t){var e=B(t),r=e.pageXOffset,o=e.pageYOffset;return{scrollLeft:r,scrollTop:o}}function Me(t){return Q(N(t)).left+je(t).scrollLeft}function fr(t){var e=B(t),r=N(t),o=e.visualViewport,n=r.clientWidth,i=r.clientHeight,s=0,a=0;return o&&(n=o.width,i=o.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(s=o.offsetLeft,a=o.offsetTop)),{width:n,height:i,x:s+Me(t),y:a}}function ur(t){var e,r=N(t),o=je(t),n=(e=t.ownerDocument)==null?void 0:e.body,i=H(r.scrollWidth,r.clientWidth,n?n.scrollWidth:0,n?n.clientWidth:0),s=H(r.scrollHeight,r.clientHeight,n?n.scrollHeight:0,n?n.clientHeight:0),a=-o.scrollLeft+Me(t),l=-o.scrollTop;return _(n||r).direction==="rtl"&&(a+=H(r.clientWidth,n?n.clientWidth:0)-i),{width:i,height:s,x:a,y:l}}function Re(t){var e=_(t),r=e.overflow,o=e.overflowX,n=e.overflowY;return/auto|scroll|overlay|hidden/.test(r+n+o)}function ht(t){return["html","body","#document"].indexOf(W(t))>=0?t.ownerDocument.body:q(t)&&Re(t)?t:ht(xe(t))}function re(t,e){var r;e===void 0&&(e=[]);var o=ht(t),n=o===((r=t.ownerDocument)==null?void 0:r.body),i=B(o),s=n?[i].concat(i.visualViewport||[],Re(o)?o:[]):o,a=e.concat(s);return n?a:a.concat(re(xe(s)))}function Se(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function pr(t){var e=Q(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 Qe(t,e){return e===lt?Se(fr(t)):q(e)?pr(e):Se(ur(N(t)))}function vr(t){var e=re(xe(t)),r=["absolute","fixed"].indexOf(_(t).position)>=0,o=r&&q(t)?ce(t):t;return ne(o)?e.filter(function(n){return ne(n)&&ut(n,o)&&W(n)!=="body"}):[]}function mr(t,e,r){var o=e==="clippingParents"?vr(t):[].concat(e),n=[].concat(o,[r]),i=n[0],s=n.reduce(function(a,l){var d=Qe(t,l);return a.top=H(d.top,a.top),a.right=oe(d.right,a.right),a.bottom=oe(d.bottom,a.bottom),a.left=H(d.left,a.left),a},Qe(t,i));return s.width=s.right-s.left,s.height=s.bottom-s.top,s.x=s.left,s.y=s.top,s}function ae(t){return t.split("-")[1]}function bt(t){var e=t.reference,r=t.element,o=t.placement,n=o?R(o):null,i=o?ae(o):null,s=e.x+e.width/2-r.width/2,a=e.y+e.height/2-r.height/2,l;switch(n){case T:l={x:s,y:e.y-r.height};break;case P:l={x:s,y:e.y+e.height};break;case D:l={x:e.x+e.width,y:a};break;case $:l={x:e.x-r.width,y:a};break;default:l={x:e.x,y:e.y}}var d=n?Be(n):null;if(d!=null){var c=d==="y"?"height":"width";switch(i){case G:l[d]=l[d]-(e[c]/2-r[c]/2);break;case De:l[d]=l[d]+(e[c]/2-r[c]/2);break}}return l}function ie(t,e){e===void 0&&(e={});var r=e,o=r.placement,n=o===void 0?t.placement:o,i=r.boundary,s=i===void 0?Mt:i,a=r.rootBoundary,l=a===void 0?lt:a,d=r.elementContext,c=d===void 0?ee:d,p=r.altBoundary,u=p===void 0?!1:p,v=r.padding,m=v===void 0?0:v,g=vt(typeof m!="number"?m:mt(m,se)),h=c===ee?Rt:ee,b=t.elements.reference,y=t.rects.popper,A=t.elements[u?h:c],f=mr(ne(A)?A:A.contextElement||N(t.elements.popper),s,l),C=Q(b),w=bt({reference:C,element:y,placement:n}),O=Se(Object.assign({},y,w)),x=c===ee?O:C,L={top:f.top-x.top+g.top,bottom:x.bottom-f.bottom+g.bottom,left:f.left-x.left+g.left,right:x.right-f.right+g.right},S=t.modifiersData.offset;if(c===ee&&S){var j=S[n];Object.keys(L).forEach(function(I){var k=[D,P].indexOf(I)>=0?1:-1,F=[T,P].indexOf(I)>=0?"y":"x";L[I]+=j[F]*k})}return L}function hr(t,e){e===void 0&&(e={});var r=e,o=r.placement,n=r.boundary,i=r.rootBoundary,s=r.padding,a=r.flipVariations,l=r.allowedAutoPlacements,d=l===void 0?dt:l,c=ae(o),p=c?a?Ye:Ye.filter(function(m){return ae(m)===c}):se,u=p.filter(function(m){return d.indexOf(m)>=0});u.length===0&&(u=p);var v=u.reduce(function(m,g){return m[g]=ie(t,{placement:g,boundary:n,rootBoundary:i,padding:s})[R(g)],m},{});return Object.keys(v).sort(function(m,g){return v[m]-v[g]})}function br(t){if(R(t)===Pe)return[];var e=Ae(t);return[Ge(t),e,Ge(e)]}function gr(t){var e=t.state,r=t.options,o=t.name;if(!e.modifiersData[o]._skip){for(var n=r.mainAxis,i=n===void 0?!0:n,s=r.altAxis,a=s===void 0?!0:s,l=r.fallbackPlacements,d=r.padding,c=r.boundary,p=r.rootBoundary,u=r.altBoundary,v=r.flipVariations,m=v===void 0?!0:v,g=r.allowedAutoPlacements,h=e.options.placement,b=R(h),y=b===h,A=l||(y||!m?[Ae(h)]:br(h)),f=[h].concat(A).reduce(function(V,M){return V.concat(R(M)===Pe?hr(e,{placement:M,boundary:c,rootBoundary:p,padding:d,flipVariations:m,allowedAutoPlacements:g}):M)},[]),C=e.rects.reference,w=e.rects.popper,O=new Map,x=!0,L=f[0],S=0;S<f.length;S++){var j=f[S],I=R(j),k=ae(j)===G,F=[T,P].indexOf(I)>=0,Z=F?"width":"height",U=ie(e,{placement:j,boundary:c,rootBoundary:p,altBoundary:u,padding:d}),z=F?k?D:$:k?P:T;C[Z]>w[Z]&&(z=Ae(z));var Ee=Ae(z),X=[];if(i&&X.push(U[I]<=0),a&&X.push(U[z]<=0,U[Ee]<=0),X.every(function(V){return V})){L=j,x=!1;break}O.set(j,X)}if(x)for(var le=m?3:1,Oe=function(M){var fe=f.find(function(Ce){var J=O.get(Ce);if(J)return J.slice(0,M).every(function(Le){return Le})});if(fe)return L=fe,"break"},Y=le;Y>0;Y--){var de=Oe(Y);if(de==="break")break}e.placement!==L&&(e.modifiersData[o]._skip=!0,e.placement=L,e.reset=!0)}}const yr={name:"flip",enabled:!0,phase:"main",fn:gr,requiresIfExists:["offset"],data:{_skip:!1}};function Ze(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 et(t){return[T,D,P,$].some(function(e){return t[e]>=0})}function wr(t){var e=t.state,r=t.name,o=e.rects.reference,n=e.rects.popper,i=e.modifiersData.preventOverflow,s=ie(e,{elementContext:"reference"}),a=ie(e,{altBoundary:!0}),l=Ze(s,o),d=Ze(a,n,i),c=et(l),p=et(d);e.modifiersData[r]={referenceClippingOffsets:l,popperEscapeOffsets:d,isReferenceHidden:c,hasPopperEscaped:p},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":c,"data-popper-escaped":p})}const Ar={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:wr};function xr(t,e,r){var o=R(t),n=[$,T].indexOf(o)>=0?-1:1,i=typeof r=="function"?r(Object.assign({},e,{placement:t})):r,s=i[0],a=i[1];return s=s||0,a=(a||0)*n,[$,D].indexOf(o)>=0?{x:a,y:s}:{x:s,y:a}}function Er(t){var e=t.state,r=t.options,o=t.name,n=r.offset,i=n===void 0?[0,0]:n,s=dt.reduce(function(c,p){return c[p]=xr(p,e.rects,i),c},{}),a=s[e.placement],l=a.x,d=a.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=d),e.modifiersData[o]=s}const Or={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Er};function Cr(t){var e=t.state,r=t.name;e.modifiersData[r]=bt({reference:e.rects.reference,element:e.rects.popper,placement:e.placement})}const Lr={name:"popperOffsets",enabled:!0,phase:"read",fn:Cr,data:{}};function kr(t){return t==="x"?"y":"x"}function Sr(t){var e=t.state,r=t.options,o=t.name,n=r.mainAxis,i=n===void 0?!0:n,s=r.altAxis,a=s===void 0?!1:s,l=r.boundary,d=r.rootBoundary,c=r.altBoundary,p=r.padding,u=r.tether,v=u===void 0?!0:u,m=r.tetherOffset,g=m===void 0?0:m,h=ie(e,{boundary:l,rootBoundary:d,padding:p,altBoundary:c}),b=R(e.placement),y=ae(e.placement),A=!y,f=Be(b),C=kr(f),w=e.modifiersData.popperOffsets,O=e.rects.reference,x=e.rects.popper,L=typeof g=="function"?g(Object.assign({},e.rects,{placement:e.placement})):g,S={x:0,y:0};if(w){if(i||a){var j=f==="y"?T:$,I=f==="y"?P:D,k=f==="y"?"height":"width",F=w[f],Z=w[f]+h[j],U=w[f]-h[I],z=v?-x[k]/2:0,Ee=y===G?O[k]:x[k],X=y===G?-x[k]:-O[k],le=e.elements.arrow,Oe=v&&le?qe(le):{width:0,height:0},Y=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:pt(),de=Y[j],V=Y[I],M=we(0,O[k],Oe[k]),fe=A?O[k]/2-z-M-de-L:Ee-M-de-L,Ce=A?-O[k]/2+z+M+V+L:X+M+V+L,J=e.elements.arrow&&ce(e.elements.arrow),Le=J?f==="y"?J.clientTop||0:J.clientLeft||0:0,We=e.modifiersData.offset?e.modifiersData.offset[e.placement][f]:0,Ie=w[f]+fe-We-Le,_e=w[f]+Ce-We;if(i){var He=we(v?oe(Z,Ie):Z,F,v?H(U,_e):U);w[f]=He,S[f]=He-F}if(a){var wt=f==="x"?T:$,At=f==="x"?P:D,ue=w[C],Ne=ue+h[wt],Fe=ue-h[At],ze=we(v?oe(Ne,Ie):Ne,ue,v?H(Fe,_e):Fe);w[C]=ze,S[C]=ze-ue}}e.modifiersData[o]=S}}const Tr={name:"preventOverflow",enabled:!0,phase:"main",fn:Sr,requiresIfExists:["offset"]};function $r(t){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}function Pr(t){return t===B(t)||!q(t)?je(t):$r(t)}function Dr(t,e,r){r===void 0&&(r=!1);var o=N(e),n=Q(t),i=q(e),s={scrollLeft:0,scrollTop:0},a={x:0,y:0};return(i||!i&&!r)&&((W(e)!=="body"||Re(o))&&(s=Pr(e)),q(e)?(a=Q(e),a.x+=e.clientLeft,a.y+=e.clientTop):o&&(a.x=Me(o))),{x:n.left+s.scrollLeft-a.x,y:n.top+s.scrollTop-a.y,width:n.width,height:n.height}}function qr(t){var e=new Map,r=new Set,o=[];t.forEach(function(i){e.set(i.name,i)});function n(i){r.add(i.name);var s=[].concat(i.requires||[],i.requiresIfExists||[]);s.forEach(function(a){if(!r.has(a)){var l=e.get(a);l&&n(l)}}),o.push(i)}return t.forEach(function(i){r.has(i.name)||n(i)}),o}function Br(t){var e=qr(t);return Xt.reduce(function(r,o){return r.concat(e.filter(function(n){return n.phase===o}))},[])}function jr(t){var e;return function(){return e||(e=new Promise(function(r){Promise.resolve().then(function(){e=void 0,r(t())})})),e}}function Mr(t){var e=t.reduce(function(r,o){var n=r[o.name];return r[o.name]=n?Object.assign({},n,o,{options:Object.assign({},n.options,o.options),data:Object.assign({},n.data,o.data)}):o,r},{});return Object.keys(e).map(function(r){return e[r]})}var tt={placement:"bottom",modifiers:[],strategy:"absolute"};function rt(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];return!e.some(function(o){return!(o&&typeof o.getBoundingClientRect=="function")})}function Rr(t){t===void 0&&(t={});var e=t,r=e.defaultModifiers,o=r===void 0?[]:r,n=e.defaultOptions,i=n===void 0?tt:n;return function(a,l,d){d===void 0&&(d=i);var c={placement:"bottom",orderedModifiers:[],options:Object.assign({},tt,i),modifiersData:{},elements:{reference:a,popper:l},attributes:{},styles:{}},p=[],u=!1,v={state:c,setOptions:function(b){g(),c.options=Object.assign({},i,c.options,b),c.scrollParents={reference:ne(a)?re(a):a.contextElement?re(a.contextElement):[],popper:re(l)};var y=Br(Mr([].concat(o,c.options.modifiers)));return c.orderedModifiers=y.filter(function(A){return A.enabled}),m(),v.update()},forceUpdate:function(){if(!u){var b=c.elements,y=b.reference,A=b.popper;if(rt(y,A)){c.rects={reference:Dr(y,ce(A),c.options.strategy==="fixed"),popper:qe(A)},c.reset=!1,c.placement=c.options.placement,c.orderedModifiers.forEach(function(S){return c.modifiersData[S.name]=Object.assign({},S.data)});for(var f=0;f<c.orderedModifiers.length;f++){if(c.reset===!0){c.reset=!1,f=-1;continue}var C=c.orderedModifiers[f],w=C.fn,O=C.options,x=O===void 0?{}:O,L=C.name;typeof w=="function"&&(c=w({state:c,options:x,name:L,instance:v})||c)}}}},update:jr(function(){return new Promise(function(h){v.forceUpdate(),h(c)})}),destroy:function(){g(),u=!0}};if(!rt(a,l))return v;v.setOptions(d).then(function(h){!u&&d.onFirstUpdate&&d.onFirstUpdate(h)});function m(){c.orderedModifiers.forEach(function(h){var b=h.name,y=h.options,A=y===void 0?{}:y,f=h.effect;if(typeof f=="function"){var C=f({state:c,name:b,instance:v,options:A}),w=function(){};p.push(C||w)}})}function g(){p.forEach(function(h){return h()}),p=[]}return v}}var Wr=[cr,Lr,ir,Kt,Or,yr,Tr,rr,Ar],Ir=Rr({defaultModifiers:Wr});const _r=parseInt(it.baseline.$value,10),Hr="js-mds-popover-trigger",ge="mds-popover--active",te={init:()=>{Array.from(document.querySelectorAll(`.${Hr}`)).forEach(e=>{const o=`${e.getAttribute("id")}-content`,n=document.getElementById(o),i=n.dataset?n.dataset.placement:null,s=Ir(e,n,{placement:i||"top-end",strategy:"fixed",modifiers:[{name:"offset",options:{offset:[0,_r*3]}},{name:"arrow",options:{padding:5}}]});e.setAttribute("aria-expanded","false"),n.setAttribute("aria-hidden","true"),e.addEventListener("click",a=>{a.preventDefault(),s.update(),n.classList.toggle(ge),te.setAriaAttr(e,n,ge)}),document.addEventListener("mousedown",a=>{te.hide(e,n,s,ge,a)}),document.addEventListener("keydown",a=>{te.hide(e,n,s,ge,a)})})},hide:(t,e,r,o,n)=>{!t.contains(n.target)&&!r.state.elements.popper.contains(n.target)&&e.classList.contains(o)&&(e.classList.remove(o),te.setAriaAttr(t,e,o))},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"))}},Nr=parseInt(st.size.breakpoint.md.$value,10),nt="data-modal-id",ot="mds-modal--active",Fr="js-mds-modal-close";let ye;const K={init:()=>{window.innerWidth>Nr&&Array.from(document.querySelectorAll(`[${nt}]`)).forEach(r=>{const o=r.getAttribute(nt),n=document.getElementById(o),i=Array.from(n.querySelectorAll(`.${Fr}`)),s=n.getAttribute("data-site-container"),a=document.getElementById(s);let d=n.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]');d=Array.prototype.slice.call(d);const c=d[0],p=d[d.length-1];r.addEventListener("click",u=>{u.preventDefault(),K.open(n,c,a)}),n.addEventListener("click",u=>{u.target===n&&K.close(n,ye,a)}),n.addEventListener("keydown",u=>{K.trapFocus(u,c,p),(u.key==="Escape"||u.key==="Esc")&&K.close(n,ye,a)}),i.forEach(u=>{u.addEventListener("click",()=>{K.close(n,ye,a)})})})},open:(t,e,r)=>{ye=document.activeElement,t.classList.add(ot),e.focus(),r.setAttribute("aria-hidden","true")},close:(t,e,r)=>{r.removeAttribute("aria-hidden"),t.classList.remove(ot),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()))}},zr=".mds-form-element--file",ke="mds-form-element--selected-file",at="mds-form-element--dragover",Vr=".mds-file-upload__file-name",Ur=".mds-file-upload__remove-button",Xr="mds-form-element--file-supported",gt={init:()=>{gt.isBrowserIE()||Array.from(document.querySelectorAll(zr)).forEach(e=>{e.classList.add(Xr);const r=e.querySelector(Vr),o=e.querySelector("input[type=file]"),n=e.querySelector(Ur);document.addEventListener("readystatechange",()=>{o.files&&o.files.length&&(r.textContent=o.files[0].name,e.classList.add(ke))}),o.addEventListener("change",()=>{o.files&&o.files.length&&(r.textContent=o.files[0].name,e.classList.add(ke),n.focus())}),n.addEventListener("click",i=>{i.preventDefault(),o.value="",r.textContent="",e.classList.remove(ke),o.focus()}),["dragover","dragenter"].forEach(i=>{o.addEventListener(i,s=>{s.stopPropagation(),e.classList.add(at)})}),["dragleave","dragend","drop"].forEach(i=>{o.addEventListener(i,s=>{s.stopPropagation(),e.classList.remove(at)})})})},isBrowserIE:()=>!!window.document.documentMode},Yr=".mds-form-element--character-count",Jr=".mds-form-message--character-count",Kr=".js-character-count-number",Gr=".mds-form-control",Te={init:()=>{Array.from(document.querySelectorAll(Yr)).forEach(e=>{const r=e.querySelector(Gr),o=r.getAttribute("maxlength"),n=e.querySelector(Jr),i=e.querySelector(Kr);r.removeAttribute("maxlength"),Te.updateCounter(r,o,i,n),r.addEventListener("keyup",s=>{s.stopPropagation(),Te.updateCounter(r,o,i,n)})})},updateCounter:(t,e,r,o)=>{const n=t.value.match(/(\r\n|\n|\r)/g),i=t.value.length+(n?n.length:0),s=e-i;r.textContent=s,s<0?o.classList.add("mds-form-message--error"):o.classList.remove("mds-form-message--error")}},Qr="js-mds-button-double-submit",yt={init:()=>{Array.from(document.querySelectorAll(`.${Qr}`)).forEach(e=>{e.addEventListener("click",()=>{yt.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")).forEach(e=>{const r=document.createElement("div");r.classList.add("mds-fluid-video"),r.innerHTML=e.outerHTML,e.replaceWith(r)})}};class en extends HTMLElement{connectedCallback(){const r=this.querySelector(".mds-card-link__link");let o;this.onmousedown=()=>{o=+new Date},this.onmouseup=()=>{+new Date-o<200&&r.click(),o=void 0}}disconnectedCallback(){this.onmousedown=this.onmouseup=null}}class tn extends HTMLElement{static observedAttributes=["form","field-name","show-when"];showHide=()=>{const{field:e}=this,r=this.getAttribute("show-when");(e.type==="checkbox"?e.checked.toString():e.value.toString())===r?this.hidden=!1:this.hidden=!0};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.showHide(),this.formElement.addEventListener("input",this.showHide)};connectedCallback(){this.setup()}cleanup=()=>{this.formElement?.removeEventListener("input",this.showHide)};disconnectedCallback(){this.cleanup()}attributeChangedCallback(e,r,o){const{showHide:n,setup:i}=this;this.isConnected&&r!==o&&(e==="show-when"?n():(e==="field-name"||e==="form")&&i())}}window.customElements.get("mds-dropdown-nav")||window.customElements.define("mds-dropdown-nav",xt);window.customElements.get("mds-timeout-dialog")||window.customElements.define("mds-timeout-dialog",Et);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",tn);const $e=()=>{E.init(),ct.init(),Dt.init(),jt.init(),K.init(),gt.init(),Te.init(),te.init(),yt.init(),Zr.setFluidVideos()};window.mdgxInitAll=$e;document.readyState==="loading"?document.addEventListener("DOMContentLoaded",$e):$e();
@@ -0,0 +1,28 @@
1
+ const e={NONE:"NONE",WARNING:"WARNING",TIMED_OUT:"TIMED_OUT"};class r extends HTMLElement{#t=e.NONE;#i;#s;static get observedAttributes(){return["t-title","t-title-timed-out","t-message","t-message-error-failed-refresh","t-btn-stay-refresh","t-btn-sign-out","t-btn-close","keep-alive-url","login-url","logout-url","warning-in-milliseconds","timeout-in-milliseconds"]}constructor(){super(),this.onClickSignInButton=this.onClickSignInButton.bind(this),this.onSignedOutDialogClose=this.onSignedOutDialogClose.bind(this),this.dialogIdWarning=`mds-timeout-dialog-warning-${window.crypto.randomUUID()}`,this.dialogIdSignedOut=`mds-timeout-dialog-signed-out-${window.crypto.randomUUID()}`}connectedCallback(){this.render(),this.update(e.NONE),this.#n()}disconnectedCallback(){this.#e(),this.removeEventListeners(),this.update(e.NONE)}attributeChangedCallback(t,i=null,s=null){if(!this.isConnected||i===s)return;["warning-in-milliseconds","timeout-in-milliseconds"].includes(t)?console.warn(`${t} was changed which may affect timeout accuracy`):(this.render(),this.update())}get rootNode(){return this}get#o(){return this.getRootNode({composed:!0})}get template(){const t=this.#o.createElement("template");return t.innerHTML=`
2
+ <dialog class="mds-timeout-dialog" role="alertdialog" closedby="none" aria-labelledby="${this.dialogIdWarning}">
3
+ <h2 class="mds-margin-bottom-b4" id="${this.dialogIdWarning}">${this.translations.title}</h2>
4
+ <p>${this.translations.message}</p>
5
+ <p class="mds-message mds-message--error mds-display-none">${this.translations["message-error-sign-in"]}</p>
6
+ <div class="mds-grid-row mds-grid-center">
7
+ <button class="mds-button mds-margin-right-b4" stay-signed-in-trigger type="button">
8
+ ${this.translations["btn-stay-signed-in"]}
9
+ <svg class="mds-timeout-dialog__button-icon" viewBox="0 0 100 100">
10
+ <path
11
+ fill="currentColor"
12
+ d="M100 50c0-27.6-22.4-50-50-50S0 22.4 0 50m8.5 0C8.5 27.2 27 8.5 50 8.5S91.5 27.2 91.5 50"
13
+ ></path>
14
+ </svg>
15
+ </button>
16
+ <a class="mds-button mds-button--neutral" href="${this.logoutUrl}">${this.translations["btn-sign-out"]}</a>
17
+ </div>
18
+ </dialog>
19
+ <dialog role="alertdialog" class="mds-timeout-dialog" aria-labelledby="${this.dialogIdSignedOut}">
20
+ <h2 class="mds-margin-bottom-b4" id="${this.dialogIdSignedOut}">${this.translations["title-signed-out"]}</h2>
21
+ <div class="mds-grid-row mds-grid-center">
22
+ <!-- will "submit" the dialog, e.g. close it without JS -->
23
+ <form method="dialog">
24
+ <button class="mds-button">${this.translations["btn-close"]}</button>
25
+ </form>
26
+ </div>
27
+ </dialog>
28
+ `,t}get elDialogWarning(){return this.rootNode.querySelector(`dialog[aria-labelledby=${this.dialogIdWarning}]`)}get elDialogSignedOut(){return this.rootNode.querySelector(`dialog[aria-labelledby=${this.dialogIdSignedOut}]`)}get elSignInButton(){return this.rootNode.querySelector("[stay-signed-in-trigger]")}get elMessageError(){return this.rootNode.querySelector(".mds-message--error")}get translations(){return{title:this.getAttribute("t-title")||"You are about to be signed out","title-signed-out":this.getAttribute("t-title-timed-out")||"You have been signed out",message:this.getAttribute("t-message")||"For your security, we will log you out in 2 minutes.","message-error-sign-in":this.getAttribute("t-message-error-failed-refresh")||"Failed to sign in - try again","btn-stay-signed-in":this.getAttribute("t-btn-stay-refresh")||"Stay signed in","btn-sign-out":this.getAttribute("t-btn-sign-out")||"Sign out","btn-close":this.getAttribute("t-btn-close")||"close"}}get keepAliveUrl(){return this.getAttribute("keep-alive-url")}get loginUrl(){const t=this.getAttribute("login-url");if(!t)throw new Error("no attribute login-url supplied");return t}get logoutUrl(){const t=this.getAttribute("logout-url");if(!t)throw new Error("no attribute logout-url supplied");return t}get warningInMilliseconds(){const t=this.getAttribute("warning-in-milliseconds");return t?parseInt(t,10):6e4*2}get timeoutInMilliseconds(){const t=this.getAttribute("timeout-in-milliseconds");if(!t)throw new Error("no attribute timeout-in-milliseconds supplied");return parseInt(t,10)}update(t){switch(t&&(this.#t=t),this.#t){case e.NONE:this.elMessageError?.classList.add("mds-display-none"),this.elDialogWarning?.close(),this.elDialogSignedOut?.close();break;case e.WARNING:this.elDialogSignedOut?.close(),this.elDialogWarning?.showModal();break;case e.TIMED_OUT:this.elDialogWarning?.close(),this.elDialogSignedOut?.showModal();break}}render(){this.removeEventListeners(),this.rootNode.replaceChildren(this.template.content.cloneNode(!0)),this.elSignInButton?.addEventListener("click",this.onClickSignInButton),this.elDialogSignedOut?.addEventListener("close",this.onSignedOutDialogClose)}removeEventListeners(){this.elSignInButton?.removeEventListener("click",this.onClickSignInButton),this.elDialogSignedOut?.removeEventListener("close",this.onSignedOutDialogClose)}#e(){clearTimeout(this.#i),clearTimeout(this.#s)}#n(){this.#e(),this.#i=setTimeout(()=>{this.update(e.WARNING)},this.timeoutInMilliseconds-this.warningInMilliseconds),this.#s=setTimeout(()=>{this.update(e.TIMED_OUT)},this.timeoutInMilliseconds)}async onClickSignInButton(){if(this.dispatchEvent(new CustomEvent("refresh")),this.elDialogWarning?.classList.add("mds-timeout-dialog--refreshing"),!!this.keepAliveUrl)try{const t=await fetch(this.keepAliveUrl);if(!t.ok){const i=await t.text();throw new Error(`Could not stay signed in - ${t.statusText} - ${i}`)}this.onRefreshSuccess()}catch(t){this.onRefreshFailed(t)}}restart(){this.elDialogWarning?.classList.remove("mds-timeout-dialog--refreshing"),this.elMessageError?.classList.add("mds-display-none"),this.update(e.NONE),this.#n()}timedOut(){this.#e(),this.update(e.TIMED_OUT)}onRefreshSuccess(){this.restart()}onRefreshFailed(t){console.error(t),this.elDialogWarning?.classList.remove("mds-timeout-dialog--refreshing"),this.elMessageError?.classList.remove("mds-display-none")}onSignedOutDialogClose(){this.#t===e.TIMED_OUT&&(window.location.href=`${this.loginUrl}?PipelinedPage=${encodeURIComponent(window.location.href)}`)}}export{r as M};
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@madgex/design-system",
3
3
  "author": "Madgex",
4
4
  "license": "UNLICENSED",
5
- "version": "13.2.0",
5
+ "version": "13.3.0",
6
6
  "main": "dist/js/index.js",
7
7
  "exports": {
8
8
  ".": "./dist/js/index.js",
@@ -3,6 +3,7 @@
3
3
  {% from 'src/components/accordion/_macro.njk' import MdsAccordion %}
4
4
  {% from 'src/components/button/_macro.njk' import MdsButton %}
5
5
  {% from 'src/components/card/_macro.njk' import MdsCard %}
6
+ {% from 'src/components/conditional-section/_macro.njk' import MdsConditionalSection %}
6
7
  {% from 'src/components/icons/_macro.njk' import MdsIcon %}
7
8
  {% from 'src/components/inputs/_checkbox-elem/_macro.njk' import MdsCheckboxElem %}
8
9
  {% from 'src/components/inputs/_message/_macro.njk' import MdsInputMessages %}
@@ -0,0 +1,23 @@
1
+ The conditional section component is designed for use inside forms. The section becomes visible depending on the value of a specified form element.
2
+
3
+ ## Callable
4
+
5
+ Use the [callable](https://mozilla.github.io/nunjucks/templating.html#call) syntax to populate the main content.
6
+
7
+ ## Parameters
8
+
9
+ - `form`: Targets the parent form by default, but a specific form can be provided using a query selector **optional**
10
+ - `fieldName`: The name of the field on the form to monitor **required**
11
+ - `showWhen`: The string value that triggers the section to be displayed. Use `"true"` or `"false"` for checkboxes **required**
12
+
13
+ The web component is also usable without the Nunjucks component, as shown below:
14
+
15
+ ```
16
+ <mds-conditional-section
17
+ form="form"
18
+ field-name="fieldName"
19
+ show-when="showWhen"
20
+ >
21
+ <!-- section content -->
22
+ </mds-conditional-section>
23
+ ```
@@ -0,0 +1,3 @@
1
+ {% macro MdsConditionalSection(params) %}
2
+ {%- include "./_template.njk" -%}
3
+ {% endmacro %}
@@ -0,0 +1,7 @@
1
+ <mds-conditional-section
2
+ {% if params.form %}form="{{ params.form }}"{% endif %}
3
+ field-name="{{ params.fieldName }}"
4
+ show-when="{{ params.showWhen }}"
5
+ >
6
+ {{ caller() }}
7
+ </mds-conditional-section>
@@ -0,0 +1,99 @@
1
+ module.exports = {
2
+ title: 'Conditional Section',
3
+ label: 'Conditional Section',
4
+ status: 'ready',
5
+ context: {
6
+ fractalLabel: 'Checkbox',
7
+ inputExample: '<input id="checkbox" type="checkbox"><label for="checkbox"> Click me!</label>',
8
+ showWhen: true,
9
+ fieldName: 'checkbox',
10
+ content: '<p><strong>Hello world!</strong></p>',
11
+ },
12
+ variants: [
13
+ {
14
+ name: 'Radio buttons',
15
+ context: {
16
+ fractalLabel: 'Radio buttons',
17
+ inputExample: `
18
+ <fieldset>
19
+ <p><legend>Select the vegetable:</legend></p>
20
+ <div>
21
+ <input type="radio" id="Donkey" name="option" value="Donkey" />
22
+ <label for="Donkey">Donkey</label>
23
+ </div>
24
+ <div>
25
+ <input type="radio" id="Pizza" name="option" value="Pizza" />
26
+ <label for="Pizza">Pizza</label>
27
+ </div>
28
+ <div>
29
+ <input type="radio" id="Broccoli" name="option" value="Broccoli" />
30
+ <label for="Broccoli">Broccoli</label>
31
+ </div>
32
+ </fieldset>`,
33
+ showWhen: 'Broccoli',
34
+ fieldName: 'option',
35
+ content: '<p class="mds-padding-b2"><strong>Well done!</strong></p>',
36
+ },
37
+ },
38
+ {
39
+ name: 'Select',
40
+ context: {
41
+ fractalLabel: 'Select',
42
+ inputExample: `
43
+ <label for="pet-select">Choose the best pet:</label>
44
+
45
+ <select name="pets" id="pet-select">
46
+ <option value="">Please choose an option</option>
47
+ <option value="dog">Dog</option>
48
+ <option value="cat">Cat</option>
49
+ <option value="hamster">Hamster</option>
50
+ <option value="parrot">Parrot</option>
51
+ <option value="spider">Spider</option>
52
+ <option value="goldfish">Goldfish</option>
53
+ </select>`,
54
+ showWhen: 'cat',
55
+ fieldName: 'pets',
56
+ content: '<p class="mds-padding-b2"><strong>Correct ✅</strong></p>',
57
+ },
58
+ },
59
+ {
60
+ name: 'Number',
61
+ context: {
62
+ fractalLabel: 'Number',
63
+ inputExample: `
64
+ <label for="tentacles">How many tentacles to 2 squid have? (1-100):</label>
65
+
66
+ <input type="number" id="tentacles" name="tentacles" min="1" max="100" />`,
67
+ showWhen: '16',
68
+ fieldName: 'tentacles',
69
+ content: '<p class="mds-padding-b2"><strong>Squid 🦑</strong></p>',
70
+ },
71
+ },
72
+ {
73
+ name: 'Text',
74
+ context: {
75
+ fractalLabel: 'Text',
76
+ inputExample: `
77
+ <label for="name">Type 'word' in the box</label>
78
+ <input type="text" id="name" name="name" />`,
79
+ showWhen: 'word',
80
+ fieldName: 'name',
81
+ content: '<p class="mds-padding-b2"><strong>You did it! 🥂</strong></p>',
82
+ },
83
+ },
84
+ {
85
+ name: 'Hide example',
86
+ context: {
87
+ fractalLabel: 'Hide example',
88
+ inputExample: `
89
+ <input type="checkbox" name="HideSalary" id="HideSalary">
90
+ <label><strong>Hide salary from job posting</strong></label>`,
91
+ showWhen: 'false',
92
+ fieldName: 'HideSalary',
93
+ content: `
94
+ <label for="Salary">Salary</label>
95
+ <input type="text" name="Salary" id="Salary">`,
96
+ },
97
+ },
98
+ ],
99
+ };
@@ -0,0 +1,62 @@
1
+ export class MdsConditionalSection extends HTMLElement {
2
+ static observedAttributes = ['form', 'field-name', 'show-when'];
3
+
4
+ showHide = () => {
5
+ const { field } = this;
6
+ const showWhen = this.getAttribute("show-when");
7
+ const fieldValue = field.type === 'checkbox'
8
+ ? field.checked.toString()
9
+ : field.value.toString();
10
+
11
+ if (fieldValue === showWhen) {
12
+ this.hidden = false;
13
+ } else {
14
+ this.hidden = true;
15
+ }
16
+ };
17
+
18
+ setup = () => {
19
+ this.cleanup();
20
+
21
+ const form = this.getAttribute("form");
22
+ const fieldName = this.getAttribute("field-name");
23
+
24
+ this.formElement = form
25
+ ? document.querySelector(form)
26
+ : this.closest('form');
27
+
28
+ if (!this.formElement) throw new Error(`<mds-conditional-section> for ${fieldName} could not find the associated form`);
29
+
30
+ this.field = this.formElement.elements[fieldName];
31
+
32
+ if (!this.field) throw new Error(`<mds-conditional-section> for ${fieldName} could not find the associated field`);
33
+
34
+ this.showHide();
35
+ this.formElement.addEventListener('input', this.showHide);
36
+ };
37
+
38
+ connectedCallback() {
39
+ this.setup();
40
+ }
41
+
42
+ cleanup = () => {
43
+ this.formElement?.removeEventListener('input', this.showHide);
44
+ };
45
+
46
+ disconnectedCallback() {
47
+ this.cleanup();
48
+ }
49
+
50
+ attributeChangedCallback(name, oldValue, newValue) {
51
+ const { showHide, setup } = this;
52
+
53
+ if (!this.isConnected) return;
54
+ if (oldValue === newValue) return;
55
+
56
+ if (name === 'show-when') {
57
+ showHide();
58
+ } else if (name === 'field-name' || name === 'form') {
59
+ setup();
60
+ }
61
+ }
62
+ }
@@ -0,0 +1,17 @@
1
+ {% from "./conditional-section/_macro.njk" import MdsConditionalSection %}
2
+
3
+ <form class="mds-margin-bottom-b5 mds-highlighted-container mds-padding-b4">
4
+ <h2>{{ fractalLabel }}</h2>
5
+
6
+ {{- inputExample | safe -}}
7
+
8
+ {% call MdsConditionalSection({
9
+ form: form,
10
+ showWhen: showWhen,
11
+ fieldName: fieldName
12
+ }) -%}
13
+
14
+ {{- content | safe -}}
15
+
16
+ {%- endcall %}
17
+ </form>
@@ -2,28 +2,24 @@
2
2
 
3
3
  This Web Component displays a **warning dialog** when `timeout-in-milliseconds` is close to expiring (`timeout-in-milliseconds` minus `warning-in-milliseconds`), and displays a **timed out dialog** when the timeout has been reached and the user has been signed out.
4
4
 
5
- ## Attributes
6
-
7
- - `login-url` : required, URL on the login link of the **timed out dialog**, hopefully a URL that will redirect back to your current location when logged in again (e.g. uses `PipelinedPage`)
8
- - `keep-alive-url`: required, a URL that will be fetched in the background if the user clicks "stay signed in" button on the **warning dialog**, and thus should refresh the auth session by contacting the server without navigating the user away from their current location
9
- - `timeout-in-milliseconds` : required, milliseconds until **timed out dialog** is displayed - should be the same as auth session timeout.
10
- - `warning-in-milliseconds` : default 2 minutes `120000`, milliseconds until **timed out dialog** is displayed - should be the same as auth session timeout.
11
- - `t-title` : default `You are about to be signed out`
12
- - `t-title-timed-out` : default `You have been signed out`
13
- - `t-message` : default `For your security, we will log you out in 2 minutes.`
14
- - `t-message-error-failed-refresh` : default `Failed to sign in - try again`
15
- - `t-btn-stay-refresh` : default `Stay signed in`
16
- - `t-btn-sign-out` : default `Sign out`
17
- - `t-btn-close` : default `close`
5
+ > An internal timeout will begin on component connect (usually page load), be wary of attaching timeout component at a later time as this may affect the timeout being in sync with the real auth session expiry.
18
6
 
19
7
  ## Usage
20
8
 
9
+ There are 2 flavours of this component: `Regular` & `Standalone`.
10
+
11
+ - `Regular` is bundled in the main Design System javascript (`@madgex/design-system/dist/js/index.js`), this is registered with HTML tag `<mds-timeout-dialog/>`. This version requires the Design System CSS on the page, and is Light DOM.
12
+ - `Standalone` can be used independently of the Design System and is located `@madgex/design-system/dist/js/components/mds-timeout-dialog-standalone.js`. This is registered with the HTML tag `<mds-timeout-dialog-standalone />`. This version does not require Design System CSS and is Shadow DOM.
13
+
14
+ ### Example
15
+
21
16
  ```html
22
17
  { if request.auth.isAuthenticated %}
23
18
  <mds-timeout-dialog
24
19
  login-url="getRoute('account.login', {}, { PipelinedPage: request.raw.url })"
25
20
  keep-alive-url="/any-url-that-will-refresh-auth-cookie"
26
21
  timeout-in-milliseconds="ONE_MIN_IN_MS * 30"
22
+ warning-in-milliseconds="ONE_MIN_IN_MS * 2"
27
23
  t-title="t('You are about to be signed out')"
28
24
  t-title-timed-out="t('You have been signed out')"
29
25
  t-message="t('For your security, we will log you out in 2 minutes.')"
@@ -35,10 +31,66 @@ This Web Component displays a **warning dialog** when `timeout-in-milliseconds`
35
31
  { endif %}
36
32
  ```
37
33
 
38
- ## Standalone vs MDS JS
34
+ There are also 2 ways to use this component : Using the built-in auth session refresh, or manually implementing the auth session refresh.
35
+ The example above shows using the built-in auth session refresh, where you must supply `keep-alive-url`.
36
+
37
+ ### Manual auth session "refresh"
38
+
39
+ This component has a built-in mechanism of refreshing the auth session, by using `keep-alive-url`, and making a simple `GET` request in the background. A successful HTTP code is assumed to be successful refresh and the timeout is reset.
40
+
41
+ If you need to implement a custom refresh mechanism, do **not** supply `keep-alive-url`, you can **listen to the `refresh` event**, and call the methods `onRefreshSuccess` & `onRefreshFailed`.
42
+
43
+ ```html
44
+ <mds-timeout-dialog
45
+ id="my-timeout"
46
+ login-url="getRoute('account.login', {}, { PipelinedPage: request.raw.url })"
47
+ timeout-in-milliseconds="ONE_MIN_IN_MS * 30"
48
+ t-title="t('You are about to be signed out')"
49
+ t-title-timed-out="t('You have been signed out')"
50
+ t-message="t('For your security, we will log you out in 2 minutes.')"
51
+ t-message-error-failed-refresh="t('Failed to sign in - try again')"
52
+ t-btn-stay-refresh="t('Stay signed in')"
53
+ t-btn-sign-out="t('Sign out')"
54
+ t-btn-close="t('close')"
55
+ ></mds-timeout-dialog>
56
+
57
+ <script type="module">
58
+ const myTimeout = document.querySelector('#my-timeout');
59
+ document.querySelector('#my-timeout').addEventListener('refresh', () => {
60
+ try {
61
+ const res = await fetch('/my-refresh-url', { headers: { Authorization: 'Bearer my-jwt' } });
62
+ if (!res.ok) throw new Error('');
63
+ myTimeout.onRefreshSuccess();
64
+ } catch (e) {
65
+ myTimeout.onRefreshFailed();
66
+ }
67
+ });
68
+ </script>
69
+ ```
70
+
71
+ ## Attributes
72
+
73
+ - `login-url` : required, URL on the login link of the **timed out dialog**, hopefully a URL that will redirect back to your current location when logged in again (e.g. uses `PipelinedPage`)
74
+ - `logout-url` : required, URL on `Sign out` button of **warning dialog**.
75
+ - `keep-alive-url`: optional, recommended, a URL that will be fetched in the background if the user clicks "stay signed in" button on the **warning dialog**, and thus should refresh the auth session by contacting the server without navigating the user away from their current location.
76
+ > If you do not supply `keep-alive-url` you should listen for the `refresh` event
77
+ - `timeout-in-milliseconds` : required, milliseconds until **timed out dialog** is displayed - should be the same as auth session timeout.
78
+ - `warning-in-milliseconds` : default 2 minutes `120000`, milliseconds until **timed out dialog** is displayed - should be the same as auth session timeout.
79
+ - `t-title` : default `You are about to be signed out`
80
+ - `t-title-timed-out` : default `You have been signed out`
81
+ - `t-message` : default `For your security, we will log you out in 2 minutes.`
82
+ - `t-message-error-failed-refresh` : default `Failed to sign in - try again`
83
+ - `t-btn-stay-refresh` : default `Stay signed in`
84
+ - `t-btn-sign-out` : default `Sign out`
85
+ - `t-btn-close` : default `close`
86
+
87
+ ## Events
39
88
 
40
- The main MDS JS bundle registers `<mds-timeout-dialog/>` web component. This is via the main JS at `@madgex/design-system/dist/js/index.js`.
89
+ - `refresh` : This event is fired when the `Stay Signed in` button of the **warning dialog** is pressed.
41
90
 
42
- The standalone version registers `<mds-timeout-dialog-standalone />` web component. This is via `@madgex/design-system/dist/js/components/mds-timeout-dialog-standalone.js`
91
+ ## Methods
43
92
 
44
- This allows both to exist on the same page without conflict.
93
+ - `onRefreshSuccess()` : Call this method after successfully refreshing the auth session. See `refresh` Event.
94
+ - `onRefreshFailed(error?)` : Call this method on failed refresh of the auth session. See `refresh` Event.
95
+ - `timedOut()` : Call this method to immediate show **timed out dialog** and clear timers. Useful something externally detected a logged out session
96
+ - `restart()` : Call this method to start from fresh, dialogs close, start timers again. Useful something externally needing to start a new auth session