@madgex/design-system 13.0.4 → 13.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/icons.json +1 -1
- package/dist/css/index.css +1 -1
- package/dist/js/components/mds-timeout-dialog-standalone.js +3 -0
- package/dist/js/index-fractal.js +2 -1
- package/dist/js/index.js +1 -1
- package/dist/js/timeout-dialog-DuVVAWa3.js +23 -0
- package/package.json +2 -1
- package/src/components/card/README.md +4 -0
- package/src/components/card/_template.njk +25 -16
- package/src/components/card/card-link.js +24 -0
- package/src/components/card/card.config.js +28 -0
- package/src/components/card/card.njk +4 -3
- package/src/components/card/card.scss +23 -1
- package/src/components/timeout-dialog/README.md +44 -0
- package/src/components/timeout-dialog/mds-timeout-dialog-standalone.js +34 -0
- package/src/components/timeout-dialog/timeout-dialog-standalone.scss +3 -0
- package/src/components/timeout-dialog/timeout-dialog.config.js +6 -0
- package/src/components/timeout-dialog/timeout-dialog.js +189 -0
- package/src/components/timeout-dialog/timeout-dialog.njk +103 -0
- package/src/components/timeout-dialog/timeout-dialog.scss +13 -0
- package/src/js/index-fractal.js +2 -1
- package/src/js/index.js +8 -0
- package/src/scss/components/__index.scss +1 -0
- package/src/scss/core/_defaults.scss +11 -5
package/dist/js/index-fractal.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
const
|
|
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]);
|
|
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";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},Et="js-tabs-item",Ve="mds-tabs",Ot="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},Ct=".js-desktop-tabbed",St=".js-full-tabbed",kt=parseInt(st.size.breakpoint.lg.$value,10),E={init:()=>{E.setTabs(St),window.innerWidth>kt&&E.setTabs(Ct)},setTabs:t=>{const e=Array.from(document.querySelectorAll(`${t} .${pe}`)),r=Array.from(document.querySelectorAll(`${t} .${Ot}`)),a=Array.from(document.querySelectorAll(`${t} .${Lt}`)),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} .${Et}`);Array.from(i).forEach(o=>{const l=window.location.hash.trim(),d=o.attributes.href.value,c=o.closest(`.${Ve}`),p=E.getAllPanels(c),u=E.getAllTabs(c),v=E.getTargetPanel(o,c);o.addEventListener("click",m=>{m.preventDefault(),E.updateTabs(u,p,o,v,d)}),d===l&&E.updateTabs(u,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}},Tt={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"),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",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){u.prepend(h);const y=Array.from(u.children).length,A=y>1?m:v;p.innerText=A.replace("{count}",y)}else i.prepend(h)}),u.style.width=`${i.offsetWidth-d.offsetLeft}px`)):(s.forEach(h=>{h!==d&&h!==l&&u.append(h)}),u.style.width="initial",d.style.display="block")})});const a=()=>{e.forEach(n=>{n()})};a(),window.onresize=()=>{clearTimeout(r),r=setTimeout(a,100)}}},Dt="mds-checkbox-accordion__button",qt="mds-checkbox-accordion__button--open",Bt={init:()=>{document.querySelectorAll(`.${Dt}`).forEach(e=>{e.classList.contains(qt)?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 P="top",T="bottom",D="right",$="left",Te="auto",se=[P,T,D,$],G="start",De="end",jt="clippingParents",lt="viewport",ee="popper",Rt="reference",Ye=se.reduce(function(t,e){return t.concat([e+"-"+G,e+"-"+De])},[]),dt=[].concat(se,[Te]).reduce(function(t,e){return t.concat([e,e+"-"+G,e+"-"+De])},[]),Wt="beforeRead",It="read",Mt="afterRead",_t="beforeMain",Ht="main",Nt="afterMain",Ft="beforeWrite",zt="write",Vt="afterWrite",Ut=[Wt,It,Mt,_t,Ht,Nt,Ft,zt,Vt];function I(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 Xt(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)||!I(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 Yt(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)||!I(n)||(Object.assign(n.style,o),Object.keys(i).forEach(function(l){n.removeAttribute(l)}))})}}const Jt={name:"applyStyles",enabled:!0,phase:"write",fn:Xt,effect:Yt,requires:["computeStyles"]};function W(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 ut(t,e){var r=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(r&&ft(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 Kt(t){return["table","td","th"].indexOf(I(t))>=0}function N(t){return((ne(t)?t.ownerDocument:t.document)||window.document).documentElement}function xe(t){return I(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 Gt(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(I(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&&Kt(r)&&_(r).position==="static";)r=Je(r);return r&&(I(r)==="html"||I(r)==="body"&&_(r).position==="static")?e:r||Gt(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 Qt=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 Zt(t){var e,r=t.state,a=t.name,n=t.options,i=r.elements.arrow,s=r.modifiersData.popperOffsets,o=W(r.placement),l=Be(o),d=[$,D].indexOf(o)>=0,c=d?"height":"width";if(!(!i||!s)){var p=Qt(n.padding,r),u=qe(i),v=l==="y"?P:$,m=l==="y"?T: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,f=p[v],L=y-u[c]-p[m],w=y/2-u[c]/2+A,O=we(f,w,L),x=l;r.modifiersData[a]=(e={},e[x]=O,e.centerOffset=O-w,e)}}function er(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)||ut(e.elements.popper,n)&&(e.elements.arrow=n))}const tr={name:"arrow",enabled:!0,phase:"main",fn:Zt,effect:er,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};var rr={top:"auto",right:"auto",bottom:"auto",left:"auto"};function nr(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?nr(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"),b=i.hasOwnProperty("y"),h=$,y=P,A=window;if(l){var f=ce(r),L="clientHeight",w="clientWidth";f===B(r)&&(f=N(r),_(f).position!=="static"&&(L="scrollHeight",w="scrollWidth")),f=f,n===P&&(y=T,m-=f[L]-a.height,m*=o?1:-1),n===$&&(h=D,u-=f[w]-a.width,u*=o?1:-1)}var O=Object.assign({position:s},l&&rr);if(o){var x;return Object.assign({},O,(x={},x[y]=b?"0":"",x[h]=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]=b?m+"px":"",e[h]=g?u+"px":"",e.transform="",e))}function ar(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:W(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 or={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:ar,data:{}};var he={passive:!0};function ir(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 sr={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:ir,data:{}};var cr={left:"right",right:"left",bottom:"top",top:"bottom"};function Ae(t){return t.replace(/left|right|bottom|top/g,function(e){return cr[e]})}var lr={start:"end",end:"start"};function Ge(t){return t.replace(/start|end/g,function(e){return lr[e]})}function je(t){var e=B(t),r=e.pageXOffset,a=e.pageYOffset;return{scrollLeft:r,scrollTop:a}}function Re(t){return Q(N(t)).left+je(t).scrollLeft}function dr(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+Re(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+Re(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 We(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(I(t))>=0?t.ownerDocument.body:q(t)&&We(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||[],We(a)?a:[]):a,o=e.concat(s);return n?o:o.concat(re(xe(s)))}function ke(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function ur(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?ke(dr(t)):q(e)?ur(e):ke(fr(N(t)))}function pr(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)&&ut(n,a)&&I(n)!=="body"}):[]}function vr(t,e,r){var a=e==="clippingParents"?pr(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?W(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 P:l={x:s,y:e.y-r.height};break;case T:l={x:s,y:e.y+e.height};break;case D:l={x:e.x+e.width,y:o};break;case $: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?jt:i,o=r.rootBoundary,l=o===void 0?lt:o,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)),b=c===ee?Rt:ee,h=t.elements.reference,y=t.rects.popper,A=t.elements[u?b:c],f=vr(ne(A)?A:A.contextElement||N(t.elements.popper),s,l),L=Q(h),w=ht({reference:L,element:y,placement:n}),O=ke(Object.assign({},y,w)),x=c===ee?O:L,C={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},k=t.modifiersData.offset;if(c===ee&&k){var j=k[n];Object.keys(C).forEach(function(M){var S=[D,T].indexOf(M)>=0?1:-1,F=[P,T].indexOf(M)>=0?"y":"x";C[M]+=j[F]*S})}return C}function mr(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,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})[W(g)],m},{});return Object.keys(v).sort(function(m,g){return v[m]-v[g]})}function br(t){if(W(t)===Te)return[];var e=Ae(t);return[Ge(t),e,Ge(e)]}function hr(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,u=r.altBoundary,v=r.flipVariations,m=v===void 0?!0:v,g=r.allowedAutoPlacements,b=e.options.placement,h=W(b),y=h===b,A=l||(y||!m?[Ae(b)]:br(b)),f=[b].concat(A).reduce(function(V,R){return V.concat(W(R)===Te?mr(e,{placement:R,boundary:c,rootBoundary:p,padding:d,flipVariations:m,allowedAutoPlacements:g}):R)},[]),L=e.rects.reference,w=e.rects.popper,O=new Map,x=!0,C=f[0],k=0;k<f.length;k++){var j=f[k],M=W(j),S=oe(j)===G,F=[P,T].indexOf(M)>=0,Z=F?"width":"height",U=ie(e,{placement:j,boundary:c,rootBoundary:p,altBoundary:u,padding:d}),z=F?S?D:$:S?T:P;L[Z]>w[Z]&&(z=Ae(z));var Ee=Ae(z),X=[];if(i&&X.push(U[M]<=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(R){var fe=f.find(function(Le){var J=O.get(Le);if(J)return J.slice(0,R).every(function(Ce){return Ce})});if(fe)return C=fe,"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 gr={name:"flip",enabled:!0,phase:"main",fn:hr,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[P,D,T,$].some(function(e){return t[e]>=0})}function yr(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 wr={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:yr};function Ar(t,e,r){var a=W(t),n=[$,P].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,[$,D].indexOf(a)>=0?{x:o,y:s}:{x:s,y:o}}function xr(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]=Ar(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 Er={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:xr};function Or(t){var e=t.state,r=t.name;e.modifiersData[r]=ht({reference:e.rects.reference,element:e.rects.popper,placement:e.placement})}const Lr={name:"popperOffsets",enabled:!0,phase:"read",fn:Or,data:{}};function Cr(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,u=r.tether,v=u===void 0?!0:u,m=r.tetherOffset,g=m===void 0?0:m,b=ie(e,{boundary:l,rootBoundary:d,padding:p,altBoundary:c}),h=W(e.placement),y=oe(e.placement),A=!y,f=Be(h),L=Cr(f),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,k={x:0,y:0};if(w){if(i||o){var j=f==="y"?P:$,M=f==="y"?T:D,S=f==="y"?"height":"width",F=w[f],Z=w[f]+b[j],U=w[f]-b[M],z=v?-x[S]/2:0,Ee=y===G?O[S]:x[S],X=y===G?-x[S]:-O[S],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[M],R=we(0,O[S],Oe[S]),fe=A?O[S]/2-z-R-de-C:Ee-R-de-C,Le=A?-O[S]/2+z+R+V+C:X+R+V+C,J=e.elements.arrow&&ce(e.elements.arrow),Ce=J?f==="y"?J.clientTop||0:J.clientLeft||0:0,Ie=e.modifiersData.offset?e.modifiersData.offset[e.placement][f]:0,Me=w[f]+fe-Ie-Ce,_e=w[f]+Le-Ie;if(i){var He=we(v?ae(Z,Me):Z,F,v?H(U,_e):U);w[f]=He,k[f]=He-F}if(o){var wt=f==="x"?P:$,At=f==="x"?T:D,ue=w[L],Ne=ue+b[wt],Fe=ue-b[At],ze=we(v?ae(Ne,Me):Ne,ue,v?H(Fe,_e):Fe);w[L]=ze,k[L]=ze-ue}}e.modifiersData[a]=k}}const kr={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 Tr(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)&&((I(e)!=="body"||We(a))&&(s=$r(e)),q(e)?(o=Q(e),o.x+=e.clientLeft,o.y+=e.clientTop):a&&(o.x=Re(a))),{x:n.left+s.scrollLeft-o.x,y:n.top+s.scrollTop-o.y,width:n.width,height:n.height}}function Dr(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 qr(t){var e=Dr(t);return Ut.reduce(function(r,a){return r.concat(e.filter(function(n){return n.phase===a}))},[])}function Br(t){var e;return function(){return e||(e=new Promise(function(r){Promise.resolve().then(function(){e=void 0,r(t())})})),e}}function jr(t){var e=t.reduce(function(r,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=[],u=!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=qr(jr([].concat(a,c.options.modifiers)));return c.orderedModifiers=y.filter(function(A){return A.enabled}),m(),v.update()},forceUpdate:function(){if(!u){var h=c.elements,y=h.reference,A=h.popper;if(rt(y,A)){c.rects={reference:Tr(y,ce(A),c.options.strategy==="fixed"),popper:qe(A)},c.reset=!1,c.placement=c.options.placement,c.orderedModifiers.forEach(function(k){return c.modifiersData[k.name]=Object.assign({},k.data)});for(var f=0;f<c.orderedModifiers.length;f++){if(c.reset===!0){c.reset=!1,f=-1;continue}var L=c.orderedModifiers[f],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:Br(function(){return new Promise(function(b){v.forceUpdate(),b(c)})}),destroy:function(){g(),u=!0}};if(!rt(o,l))return v;v.setOptions(d).then(function(b){!u&&d.onFirstUpdate&&d.onFirstUpdate(b)});function m(){c.orderedModifiers.forEach(function(b){var h=b.name,y=b.options,A=y===void 0?{}:y,f=b.effect;if(typeof f=="function"){var L=f({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=[sr,Lr,or,Jt,Er,gr,kr,tr,wr],Ir=Rr({defaultModifiers:Wr});const Mr=parseInt(it.baseline.$value,10),_r="js-mds-popover-trigger",ge="mds-popover--active",te={init:()=>{Array.from(document.querySelectorAll(`.${_r}`)).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,Mr*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"))}},Hr=parseInt(st.size.breakpoint.md.$value,10),nt="data-modal-id",at="mds-modal--active",Nr="js-mds-modal-close";let ye;const K={init:()=>{window.innerWidth>Hr&&Array.from(document.querySelectorAll(`[${nt}]`)).forEach(r=>{const a=r.getAttribute(nt),n=document.getElementById(a),i=Array.from(n.querySelectorAll(`.${Nr}`)),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",u=>{u.preventDefault(),K.open(n,c,o)}),n.addEventListener("click",u=>{u.target===n&&K.close(n,ye,o)}),n.addEventListener("keydown",u=>{K.trapFocus(u,c,p),(u.key==="Escape"||u.key==="Esc")&&K.close(n,ye,o)}),i.forEach(u=>{u.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()))}},Fr=".mds-form-element--file",Se="mds-form-element--selected-file",ot="mds-form-element--dragover",zr=".mds-file-upload__file-name",Vr=".mds-file-upload__remove-button",Ur="mds-form-element--file-supported",gt={init:()=>{gt.isBrowserIE()||Array.from(document.querySelectorAll(Fr)).forEach(e=>{e.classList.add(Ur);const r=e.querySelector(zr),a=e.querySelector("input[type=file]"),n=e.querySelector(Vr);document.addEventListener("readystatechange",()=>{a.files&&a.files.length&&(r.textContent=a.files[0].name,e.classList.add(Se))}),a.addEventListener("change",()=>{a.files&&a.files.length&&(r.textContent=a.files[0].name,e.classList.add(Se),n.focus())}),n.addEventListener("click",i=>{i.preventDefault(),a.value="",r.textContent="",e.classList.remove(Se),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},Xr=".mds-form-element--character-count",Yr=".mds-form-message--character-count",Jr=".js-character-count-number",Kr=".mds-form-control",Pe={init:()=>{Array.from(document.querySelectorAll(Xr)).forEach(e=>{const r=e.querySelector(Kr),a=r.getAttribute("maxlength"),n=e.querySelector(Yr),i=e.querySelector(Jr);r.removeAttribute("maxlength"),Pe.updateCounter(r,a,i,n),r.addEventListener("keyup",s=>{s.stopPropagation(),Pe.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")}},Gr="js-mds-button-double-submit",yt={init:()=>{Array.from(document.querySelectorAll(`.${Gr}`)).forEach(e=>{e.addEventListener("click",()=>{yt.toggleDisable(e)})})},toggleDisable:t=>{setTimeout(()=>{t.setAttribute("disabled","")},1),setTimeout(()=>{t.removeAttribute("disabled")},1e3)}},Qr={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)})}};window.customElements.get("mds-dropdown-nav")||window.customElements.define("mds-dropdown-nav",xt);const $e=()=>{E.init(),ct.init(),Tt.init(),Bt.init(),K.init(),gt.init(),Pe.init(),te.init(),yt.init(),Qr.setFluidVideos()};window.mdgxInitAll=$e;document.readyState==="loading"?document.addEventListener("DOMContentLoaded",$e):$e();
|
|
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();
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
class s extends HTMLElement{constructor(){super(),this.onClickSignInButton=this.onClickSignInButton.bind(this),this.onSignedOutDialogClose=this.onSignedOutDialogClose.bind(this)}connectedCallback(){this.start()}disconnectedCallback(){this.destroy()}get rootNode(){return this}get _document(){return this.getRootNode({composed:!0})}get template(){const t=this._document.createElement("template"),e=`mds-timeout-dialog-title-${window.crypto.randomUUID()}`;return t.innerHTML=`
|
|
2
|
+
<dialog class="mds-timeout-dialog" role="alertdialog" closedby="none" aria-labelledby="${e}">
|
|
3
|
+
<h2 class="mds-margin-bottom-b4" id="${e}">${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
|
+
</button>
|
|
10
|
+
<a class="mds-button mds-button--neutral" href=${this.logoutUrl}>${this.translations["btn-sign-out"]}</a>
|
|
11
|
+
</div>
|
|
12
|
+
</dialog>
|
|
13
|
+
`,t}get templateSignedOut(){const t=this._document.createElement("template"),e=`mds-timeout-dialog-title-${window.crypto.randomUUID()}`;return t.innerHTML=`
|
|
14
|
+
<dialog role="alertdialog" class="mds-timeout-dialog" aria-labelledby="${e}">
|
|
15
|
+
<h2 class="mds-margin-bottom-b4" id="${e}">${this.translations["title-signed-out"]}</h2>
|
|
16
|
+
<div class="mds-grid-row mds-grid-center">
|
|
17
|
+
<!-- will "submit" the dialog, e.g. close it without JS -->
|
|
18
|
+
<form method="dialog">
|
|
19
|
+
<button class="mds-button">${this.translations["btn-close"]}</button>
|
|
20
|
+
</form>
|
|
21
|
+
</div>
|
|
22
|
+
</dialog>
|
|
23
|
+
`,t}get elDialog(){return this.rootNode.querySelector("dialog")}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")||"?continue=true"}get loginUrl(){return this.getAttribute("login-url")||"/login"}get logoutUrl(){return this.getAttribute("logout-url")||"/logoff"}get warningInMilliseconds(){return parseInt(this.getAttribute("warning-in-milliseconds"),10)||2*6e4}get timeoutInMilliseconds(){const t=parseInt(this.getAttribute("timeout-in-milliseconds"),10);return t||console.error("no attribute timeout-in-milliseconds supplied"),t}destroy(){clearTimeout(this.showWarningDialogTimeout),clearTimeout(this.showTimedOutDialogTimeout),this.elSignInButton&&this.elSignInButton.removeEventListener("click",this.onClickSignInButton),this.elDialog&&this.elDialog.removeEventListener("close",this.onSignedOutDialogClose),this.elDialog&&this.elDialog.close(),this.rootNode.replaceChildren("")}start(){this.rootNode.replaceChildren(this.template.content.cloneNode(!0)),this.elSignInButton.addEventListener("click",this.onClickSignInButton),this.showWarningDialogTimeout=setTimeout(()=>{this.elDialog.showModal()},this.timeoutInMilliseconds-this.warningInMilliseconds),this.showTimedOutDialogTimeout=setTimeout(()=>{this.setSignedOut()},this.timeoutInMilliseconds)}reset(){this.destroy(),this.start()}setSignedOut(){this.destroy(),this.rootNode.replaceChildren(this.templateSignedOut.content.cloneNode(!0)),this.elDialog.showModal(),this.elDialog.addEventListener("close",this.onSignedOutDialogClose)}async onClickSignInButton(){try{const t=await fetch(this.keepAliveUrl);if(!t.ok){const e=await t.text();throw new Error(`Could not stay signed in - ${t.statusText} - ${e}`)}this.reset(),this.elMessageError&&this.elMessageError.classList.add("mds-display-none")}catch(t){console.error(t),this.elMessageError&&this.elMessageError.classList.remove("mds-display-none")}}onSignedOutDialogClose(){window.location.href=`${this.loginUrl}?PipelinedPage=${encodeURIComponent(window.location.href)}`}}export{s 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.0
|
|
5
|
+
"version": "13.2.0",
|
|
6
6
|
"main": "dist/js/index.js",
|
|
7
7
|
"exports": {
|
|
8
8
|
".": "./dist/js/index.js",
|
|
@@ -55,6 +55,7 @@
|
|
|
55
55
|
"nunjucks": "^3.2.4",
|
|
56
56
|
"postcss": "^8.5.6",
|
|
57
57
|
"postcss-combine-media-query": "^1.0.1",
|
|
58
|
+
"purgecss": "^7.0.2",
|
|
58
59
|
"rimraf": "^3.0.2",
|
|
59
60
|
"sass": "^1.93.3",
|
|
60
61
|
"svgo": "^2.8.0",
|
|
@@ -10,6 +10,10 @@ Use the [callable](https://mozilla.github.io/nunjucks/templating.html#call) synt
|
|
|
10
10
|
- `classes`: CSS classes to add to the container (`mds-card`) **optional**
|
|
11
11
|
- `id`: used for the name of `data-test` attribute **optional**
|
|
12
12
|
- `badges`: add badges at the top of the card, on the left or right (object) **optional**
|
|
13
|
+
- `link`: add link parameters (object) **optional**
|
|
14
|
+
- `href`: the link URL **required**
|
|
15
|
+
- `title`: title of the link, appearing at the top of the card **required**
|
|
16
|
+
- `containerElement`: optional selection of element, defaults to a paragraph tag **optional**
|
|
13
17
|
|
|
14
18
|
### `classes` parameter
|
|
15
19
|
|
|
@@ -1,29 +1,38 @@
|
|
|
1
|
-
{%- set
|
|
2
|
-
|
|
1
|
+
{%- set content -%}
|
|
2
|
+
|
|
3
|
+
{%- if params.badges -%}
|
|
3
4
|
<div class="mds-badge-container">
|
|
4
5
|
{%- for name, value in params.badges -%}
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
<div class="mds-badge-container__column mds-badge-container__column--{{ name }}">
|
|
7
|
+
{%- for badge in value -%}
|
|
8
|
+
<p class="mds-badge{% if badge.styleId %} mds-badge--{{ badge.styleId }}{% endif %}" data-card-badge="{{ badge.styleId }}">{{ badge.label }}</p>
|
|
9
|
+
{%- endfor -%}
|
|
10
|
+
</div>
|
|
10
11
|
{%- endfor -%}
|
|
11
12
|
</div>
|
|
12
13
|
{%- endif -%}
|
|
13
|
-
{%- endset -%}
|
|
14
14
|
|
|
15
|
-
{
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
{%- if params.link.href and params.link.title -%}
|
|
16
|
+
{%- set linkContainerElement = params.link.containerElement | default("p") -%}
|
|
17
|
+
<mds-card-link>
|
|
18
|
+
<div class="mds-card__container">
|
|
19
|
+
<{{ linkContainerElement }}><a href="{{ params.link.href }}" class="mds-card-link__link">{{ params.link.title }}</a></{{ linkContainerElement }}>
|
|
20
|
+
{{ caller() }}
|
|
21
|
+
</div>
|
|
22
|
+
</mds-card-link>
|
|
23
|
+
{%- else -%}
|
|
18
24
|
<div class="mds-card__container">
|
|
19
25
|
{{ caller() }}
|
|
20
26
|
</div>
|
|
27
|
+
{%- endif -%}
|
|
28
|
+
{%- endset -%}
|
|
29
|
+
|
|
30
|
+
{% if params.inList %}
|
|
31
|
+
<li class="mds-card mds-card--list-item {{ params.classes }}" data-test="card{% if params.id %}-{{params.id}}{% endif %}">
|
|
32
|
+
{{ content | safe }}
|
|
21
33
|
</li>
|
|
22
34
|
{% else %}
|
|
23
|
-
<div class="mds-card
|
|
24
|
-
|
|
25
|
-
<div class="mds-card__container">
|
|
26
|
-
{{ caller() }}
|
|
27
|
-
</div>
|
|
35
|
+
<div class="mds-card {{ params.classes }}" data-test="card{% if params.id %}-{{params.id}}{% endif %}">
|
|
36
|
+
{{ content | safe }}
|
|
28
37
|
</div>
|
|
29
38
|
{% endif %}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// Based on accessible link card from Inclusive Components https://inclusive-components.design/cards/
|
|
2
|
+
|
|
3
|
+
export class MdsCardLink extends HTMLElement {
|
|
4
|
+
connectedCallback() {
|
|
5
|
+
// differentiates between a click and a drag by the time the cursor is held down
|
|
6
|
+
const clickOrDragTime = 200;
|
|
7
|
+
const link = this.querySelector('.mds-card-link__link');
|
|
8
|
+
|
|
9
|
+
let downMoment;
|
|
10
|
+
|
|
11
|
+
this.onmousedown = () => {
|
|
12
|
+
downMoment = +new Date();
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
this.onmouseup = () => {
|
|
16
|
+
if (+new Date() - downMoment < clickOrDragTime) link.click();
|
|
17
|
+
downMoment = undefined;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
disconnectedCallback() {
|
|
22
|
+
this.onmousedown = this.onmouseup = null;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -66,5 +66,33 @@ module.exports = {
|
|
|
66
66
|
},
|
|
67
67
|
},
|
|
68
68
|
},
|
|
69
|
+
{
|
|
70
|
+
name: 'link-card',
|
|
71
|
+
context: {
|
|
72
|
+
fractalLabel: 'Card with a link',
|
|
73
|
+
link: {
|
|
74
|
+
href: 'https://www.google.com',
|
|
75
|
+
title: 'Card with link',
|
|
76
|
+
containerElement: 'h3',
|
|
77
|
+
},
|
|
78
|
+
classes: '',
|
|
79
|
+
content: '<p>content</p><p>content</p><p>content</p><p>content</p>',
|
|
80
|
+
id: 'with link',
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
name: 'list-link-card',
|
|
85
|
+
context: {
|
|
86
|
+
fractalLabel: 'Card with link used in a list',
|
|
87
|
+
inList: true,
|
|
88
|
+
link: {
|
|
89
|
+
href: 'https://www.google.com',
|
|
90
|
+
title: 'Card with link',
|
|
91
|
+
},
|
|
92
|
+
classes: '',
|
|
93
|
+
content: '<p>content</p><p>content</p><p>content</p><p>content</p>',
|
|
94
|
+
id: 'in-list',
|
|
95
|
+
},
|
|
96
|
+
},
|
|
69
97
|
],
|
|
70
98
|
};
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
<div class="mds-margin-bottom-b5">
|
|
4
4
|
<h2>{{ fractalLabel }}</h2>
|
|
5
|
-
{%- if
|
|
5
|
+
{%- if inList -%}
|
|
6
6
|
<ul>
|
|
7
7
|
{%- endif -%}
|
|
8
8
|
|
|
@@ -10,12 +10,13 @@
|
|
|
10
10
|
inList: inList,
|
|
11
11
|
classes: classes,
|
|
12
12
|
id: id,
|
|
13
|
-
badges: badges
|
|
13
|
+
badges: badges,
|
|
14
|
+
link: link
|
|
14
15
|
}) -%}
|
|
15
16
|
<!-- example - in normal use `safe` is discouraged as it is dangerous, and not needed -->
|
|
16
17
|
{{ content | safe }}
|
|
17
18
|
{%- endcall %}
|
|
18
|
-
{%- if
|
|
19
|
+
{%- if inList -%}
|
|
19
20
|
</ul>
|
|
20
21
|
{%- endif -%}
|
|
21
22
|
</div>
|
|
@@ -10,7 +10,29 @@
|
|
|
10
10
|
> *:last-child {
|
|
11
11
|
margin-bottom: 0;
|
|
12
12
|
}
|
|
13
|
+
|
|
14
|
+
mds-card-link:hover .mds-card-link__link {
|
|
15
|
+
@extend .mds-link--hover;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
mds-card-link {
|
|
19
|
+
cursor: pointer;
|
|
20
|
+
position: relative;
|
|
21
|
+
|
|
22
|
+
// No js fallback
|
|
23
|
+
html:not(.js) & {
|
|
24
|
+
.mds-card-link__link:after {
|
|
25
|
+
content: "";
|
|
26
|
+
position: absolute;
|
|
27
|
+
top: 0;
|
|
28
|
+
bottom: 0;
|
|
29
|
+
left: 0;
|
|
30
|
+
right: 0;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
13
34
|
}
|
|
35
|
+
|
|
14
36
|
.mds-card__container {
|
|
15
37
|
padding: ($constant-size-baseline * 3) ($constant-size-baseline * 4);
|
|
16
38
|
}
|
|
@@ -59,4 +81,4 @@
|
|
|
59
81
|
.mds-badge--new {
|
|
60
82
|
--badge-background: var(--mds-color-new-badge-background);
|
|
61
83
|
--badge-color: var(--mds-color-new-badge-text);
|
|
62
|
-
}
|
|
84
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# mds-timeout-dialog
|
|
2
|
+
|
|
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
|
+
|
|
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`
|
|
18
|
+
|
|
19
|
+
## Usage
|
|
20
|
+
|
|
21
|
+
```html
|
|
22
|
+
{ if request.auth.isAuthenticated %}
|
|
23
|
+
<mds-timeout-dialog
|
|
24
|
+
login-url="getRoute('account.login', {}, { PipelinedPage: request.raw.url })"
|
|
25
|
+
keep-alive-url="/any-url-that-will-refresh-auth-cookie"
|
|
26
|
+
timeout-in-milliseconds="ONE_MIN_IN_MS * 30"
|
|
27
|
+
t-title="t('You are about to be signed out')"
|
|
28
|
+
t-title-timed-out="t('You have been signed out')"
|
|
29
|
+
t-message="t('For your security, we will log you out in 2 minutes.')"
|
|
30
|
+
t-message-error-failed-refresh="t('Failed to sign in - try again')"
|
|
31
|
+
t-btn-stay-refresh="t('Stay signed in')"
|
|
32
|
+
t-btn-sign-out="t('Sign out')"
|
|
33
|
+
t-btn-close="t('close')"
|
|
34
|
+
></mds-timeout-dialog>
|
|
35
|
+
{ endif %}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Standalone vs MDS JS
|
|
39
|
+
|
|
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`.
|
|
41
|
+
|
|
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`
|
|
43
|
+
|
|
44
|
+
This allows both to exist on the same page without conflict.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* "entry" file for standalone Web Component Vite output - allows hashed chunk file names, and at the same time predictable named entry files .
|
|
3
|
+
*
|
|
4
|
+
* MdsTimeoutDialogStandalone wraps the regular MdsTimeoutDialog, and adds ShadowDOM and standalone CSS.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { MdsTimeoutDialog } from './timeout-dialog.js';
|
|
8
|
+
|
|
9
|
+
// css generated using regular design system CSS, but stripped down using timeout-dialog usage
|
|
10
|
+
import css from './timeout-dialog-standalone.scss?purgecss=./timeout-dialog.js&inline';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* MdsTimeoutDialog in shadowDOM with standalone CSS
|
|
14
|
+
*/
|
|
15
|
+
class MdsTimeoutDialogStandalone extends MdsTimeoutDialog {
|
|
16
|
+
constructor(...args) {
|
|
17
|
+
super(...args);
|
|
18
|
+
|
|
19
|
+
this.attachShadow({ mode: 'open' });
|
|
20
|
+
// shadow CSS, with a small reset
|
|
21
|
+
const sheet = new CSSStyleSheet();
|
|
22
|
+
sheet.replaceSync(`
|
|
23
|
+
* {border: 0;outline:0;padding: 0;margin:0;box-sizing:border-box;}
|
|
24
|
+
${css}`);
|
|
25
|
+
this.rootNode.adoptedStyleSheets = [sheet];
|
|
26
|
+
}
|
|
27
|
+
get rootNode() {
|
|
28
|
+
return this.shadowRoot;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
// alternative name vs the main MDS bundle version, to avoid collision of defined names
|
|
32
|
+
if (!window.customElements.get('mds-timeout-dialog-standalone')) {
|
|
33
|
+
window.customElements.define('mds-timeout-dialog-standalone', MdsTimeoutDialogStandalone);
|
|
34
|
+
}
|