@ecl/preset-eu 5.0.0-RC1 → 5.0.0-RC2
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/scripts/ecl-esm-eu.js +2 -2
- package/dist/scripts/ecl-eu.js +2 -2
- package/dist/styles/ecl-eu-print.css +1 -1
- package/dist/styles/ecl-eu-print.css.map +1 -1
- package/dist/styles/ecl-eu.css +1 -1
- package/dist/styles/ecl-eu.css.map +1 -1
- package/dist/styles/optional/ecl-eu-default-print.css +1 -1
- package/dist/styles/optional/ecl-eu-default.css +1 -1
- package/dist/styles/optional/ecl-eu-easy-to-read.css +1 -1
- package/dist/styles/optional/ecl-eu-utilities.css +1 -1
- package/dist/styles/optional/ecl-eu-utilities.css.map +1 -1
- package/dist/styles/optional/ecl-reset.css +2 -2
- package/package.json +89 -89
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* @ecl/preset-eu - 5.0.0-
|
|
1
|
+
/* @ecl/preset-eu - 5.0.0-RC2 Built on 2026-04-09T09:04:42.928Z */
|
|
2
2
|
function e(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,s=Array(t);i<t;i++)s[i]=e[i];return s}function t(e,t,i,s,n,a,r){try{var l=e[a](r),o=l.value}catch(e){return void i(e)}l.done?t(o):Promise.resolve(o).then(s,n)}function i(e,t){if(!{}.hasOwnProperty.call(e,t))throw new TypeError("attempted to use private field on non-instance");return e}Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector),Element.prototype.closest||(Element.prototype.closest=function(e){for(var t=this;t;){if(t.matches(e))return t;t=t.parentElement}return null});var s=0;function n(e){return"__private_"+s+++"_"+e}function a(t,i){var s="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(s)return(s=s.call(t)).next.bind(s);if(Array.isArray(t)||(s=function(t,i){if(t){if("string"==typeof t)return e(t,i);var s={}.toString.call(t).slice(8,-1);return"Object"===s&&t.constructor&&(s=t.constructor.name),"Map"===s||"Set"===s?Array.from(t):"Arguments"===s||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s)?e(t,i):void 0}}(t))||i){s&&(t=s);var n=0;return function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var s in i)({}).hasOwnProperty.call(i,s)&&(e[s]=i[s])}return e},r.apply(null,arguments)}function l(){
|
|
3
3
|
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
|
4
4
|
var e,t,i="function"==typeof Symbol?Symbol:{},s=i.iterator||"@@iterator",n=i.toStringTag||"@@toStringTag";function a(i,s,n,a){var l=s&&s.prototype instanceof h?s:h,c=Object.create(l.prototype);return o(c,"_invoke",function(i,s,n){var a,l,o,h=0,c=n||[],d=!1,u={p:0,n:0,v:e,a:m,f:m.bind(e,4),d:function(t,i){return a=t,l=0,o=e,u.n=i,r}};function m(i,s){for(l=i,o=s,t=0;!d&&h&&!n&&t<c.length;t++){var n,a=c[t],m=u.p,p=a[2];i>3?(n=p===s)&&(o=a[(l=a[4])?5:(l=3,3)],a[4]=a[5]=e):a[0]<=m&&((n=i<2&&m<a[1])?(l=0,u.v=s,u.n=a[1]):m<p&&(n=i<3||a[0]>s||s>p)&&(a[4]=i,a[5]=s,u.n=p,l=0))}if(n||i>1)return r;throw d=!0,s}return function(n,c,p){if(h>1)throw TypeError("Generator is already running");for(d&&1===c&&m(c,p),l=c,o=p;(t=l<2?e:o)||!d;){a||(l?l<3?(l>1&&(u.n=-1),m(l,o)):u.n=o:u.v=o);try{if(h=2,a){if(l||(n="next"),t=a[n]){if(!(t=t.call(a,o)))throw TypeError("iterator result is not an object");if(!t.done)return t;o=t.value,l<2&&(l=0)}else 1===l&&(t=a.return)&&t.call(a),l<2&&(o=TypeError("The iterator does not provide a '"+n+"' method"),l=1);a=e}else if((t=(d=u.n<0)?o:i.call(s,u))!==r)break}catch(t){a=e,l=1,o=t}finally{h=1}}return{value:t,done:d}}}(i,n,a),!0),c}var r={};function h(){}function c(){}function d(){}t=Object.getPrototypeOf;var u=[][s]?t(t([][s]())):(o(t={},s,function(){return this}),t),m=d.prototype=h.prototype=Object.create(u);function p(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,d):(e.__proto__=d,o(e,n,"GeneratorFunction")),e.prototype=Object.create(m),e}return c.prototype=d,o(m,"constructor",d),o(d,"constructor",c),c.displayName="GeneratorFunction",o(d,n,"GeneratorFunction"),o(m),o(m,n,"Generator"),o(m,s,function(){return this}),o(m,"toString",function(){return"[object Generator]"}),(l=function(){return{w:a,m:p}})()}function o(e,t,i,s){var n=Object.defineProperty;try{n({},"",{})}catch(e){n=0}o=function(e,t,i,s){function a(t,i){o(e,t,function(e){return this._invoke(t,i,e)})}t?n?n(e,t,{value:i,enumerable:!s,configurable:!s,writable:!s}):e[t]=i:(a("next",0),a("throw",1),a("return",2))},o(e,t,i,s)}var h=function(e,t){return void 0===t&&(t=document),[].slice.call(t.querySelectorAll(e))},c=function(e,t){return void 0===t&&(t=document),t.querySelector(e)},d=["root"];class u{constructor(){this.events=new Map}on(e,t){this.events.has(e)||this.events.set(e,[]),this.events.get(e).push(t)}trigger(e,t){var i=this.events.get(e);i&&i.forEach(e=>{e(t)})}getCallback(e){return this.events.get(e)||[]}}class m{static autoInit(e,t){var i=(void 0===t?{}:t).BANNER,s=new m(e,void 0===i?{}:i);return s.init(),e.ECLBanner=s,s}constructor(e,t){var i=void 0===t?{}:t,s=i.bannerContainer,n=void 0===s?"[data-ecl-banner-container]":s,a=i.bannerFooter,r=void 0===a?"[data-ecl-banner-footer]":a,l=i.bannerVPadding,o=void 0===l?"8":l,h=i.bannerPicture,d=void 0===h?"[data-ecl-banner-image]":h,m=i.bannerVideo,p=void 0===m?"[data-ecl-banner-video]":m,v=i.bannerPlay,g=void 0===v?"[data-ecl-banner-play]":v,b=i.bannerPause,f=void 0===b?"[data-ecl-banner-pause]":b,y=i.breakpoint,L=void 0===y?"996":y,k=i.attachResizeListener,E=void 0===k||k,C=i.maxIterations,w=void 0===C?10:C;if(this.supportedEvents=["onCtaClick","onPlayClick","onPauseClick"],!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");this.element=e,this.eventManager=new u,this.bannerVPadding=o,this.resizeTimer=null,this.bannerContainer=c(n,this.element),this.bannerFooter=c(r,this.element),this.bannerPicture=c(d,this.element),this.bannerVideo=c(p,this.element),this.bannerPlay=c(g,this.element),this.bannerPause=c(f,this.element),this.bannerImage=!!this.bannerPicture&&c("img",this.bannerPicture),this.bannerCTA=!!this.bannerPicture&&c(".ecl-banner__cta",this.element),this.breakpoint=L,this.attachResizeListener=E,this.maxIterations=w,this.setBannerHeight=this.setBannerHeight.bind(this),this.checkViewport=this.checkViewport.bind(this),this.resetBannerHeight=this.resetBannerHeight.bind(this),this.handleResize=this.handleResize.bind(this),this.waitForAspectRatioToBeDefined=this.waitForAspectRatioToBeDefined.bind(this),this.setHeight=this.setHeight.bind(this)}init(){if(!ECL)throw new TypeError("Called init but ECL is not present");ECL.components=ECL.components||new Map,this.defaultRatio=()=>this.element.classList.contains("ecl-banner--xs")?"6/1":this.element.classList.contains("ecl-banner--s")?"5/1":this.element.classList.contains("ecl-banner--l")?"3/1":"4/1",this.attachResizeListener&&window.addEventListener("resize",this.handleResize),this.bannerCTA&&this.bannerCTA.addEventListener("click",e=>this.handleCtaClick(e)),this.bannerPlay&&(this.bannerPlay.addEventListener("click",e=>this.handlePlayClick(e)),this.bannerPlay.style.display="none"),this.bannerPause&&(this.bannerPause.addEventListener("click",e=>this.handlePauseClick(e)),this.bannerPause.style.display="flex"),this.checkViewport(),this.element.setAttribute("data-ecl-auto-initialized","true"),ECL.components.set(this.element,this)}on(e,t){this.eventManager.on(e,t)}trigger(e,t){this.eventManager.trigger(e,t)}waitForAspectRatioToBeDefined(){this.attemptCounter=(this.attemptCounter||0)+1;var e=getComputedStyle(this.element).getPropertyValue("--css-aspect-ratio");(void 0===e||""===e)&&this.maxIterations>this.attemptCounter?setTimeout(()=>this.waitForAspectRatioToBeDefined(),100):this.setHeight(e)}setHeight(e){if(this.bannerContainer){var t=this.bannerContainer.offsetHeight+2*parseInt(this.bannerVPadding,10),i=parseInt(getComputedStyle(this.element).getPropertyValue("width"),10),s=e.split("/").map(Number),n=s[0];t>i*s[1]/n?(this.element.style.aspectRatio="auto",this.element.style.height=t+"px"):this.resetBannerHeight()}this.bannerFooter&&this.element.style.setProperty("--banner-footer-height",this.bannerFooter.offsetHeight+"px")}setBannerHeight(){this.bannerImage||this.bannerVideo?this.waitForAspectRatioToBeDefined():this.setHeight(this.defaultRatio())}resetBannerHeight(){this.element.style.removeProperty("aspect-ratio"),this.element.style.height="auto",this.bannerFooter&&this.element.style.setProperty("--banner-footer-height",this.bannerFooter.offsetHeight+"px")}checkViewport(){window.innerWidth>this.breakpoint?this.setBannerHeight():this.resetBannerHeight()}handleResize(){clearTimeout(this.resizeTimer),this.resizeTimer=setTimeout(()=>{this.checkViewport()},200)}handleCtaClick(e){var t=null,i=e.target.closest("a");i&&(t=i.getAttribute("href"));var s={item:this.bannerCTA,target:t||e.target};this.trigger("onCtaClick",s)}handlePlayClick(){this.bannerVideo&&this.bannerVideo.play(),this.bannerPlay.style.display="none",this.bannerPause&&(this.bannerPause.style.display="flex",this.bannerPause.focus());var e={item:this.bannerPlay};this.trigger("onPlayClick",e)}handlePauseClick(){this.bannerVideo&&this.bannerVideo.pause(),this.bannerPause.style.display="none",this.bannerPlay&&(this.bannerPlay.style.display="flex",this.bannerPlay.focus());var e={item:this.bannerPause};this.trigger("onPauseClick",e)}destroy(){this.resetBannerHeight(),this.element.removeAttribute("data-ecl-auto-initialized"),ECL.components.delete(this.element),this.attachResizeListener&&window.removeEventListener("resize",this.handleResize),this.bannerCTA&&this.bannerCTA.removeEventListener("click",this.handleCtaClick),this.bannerPlay&&this.bannerPlay.removeEventListener("click",this.handlePlayClick),this.bannerPause&&this.bannerPause.removeEventListener("click",this.handlePauseClick)}}class p{static autoInit(e,t){var i=(void 0===t?{}:t).CAROUSEL,s=new p(e,void 0===i?{}:i);return s.init(),e.ECLCarousel=s,s}constructor(e,t){var i=void 0===t?{}:t,s=i.playSelector,n=void 0===s?".ecl-carousel__play":s,a=i.pauseSelector,r=void 0===a?".ecl-carousel__pause":a,l=i.containerClass,o=void 0===l?".ecl-carousel__container":l,h=i.slidesClass,c=void 0===h?".ecl-carousel__slides":h,d=i.slideClass,u=void 0===d?".ecl-carousel__slide":d,m=i.currentSlideClass,p=void 0===m?".ecl-carousel__current":m,v=i.navigationItemsClass,g=void 0===v?".ecl-carousel__navigation-item":v,b=i.controlsClass,f=void 0===b?".ecl-carousel__controls":b,y=i.attachClickListener,L=void 0===y||y,k=i.attachResizeListener,E=void 0===k||k;if(!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");this.element=e,this.playSelector=n,this.pauseSelector=r,this.containerClass=o,this.slidesClass=c,this.slideClass=u,this.currentSlideClass=p,this.navigationItemsClass=g,this.controlsClass=f,this.attachClickListener=L,this.attachResizeListener=E,this.container=null,this.slides=null,this.btnPlay=null,this.btnPause=null,this.index=1,this.total=0,this.allowShift=!0,this.activeNav=null,this.autoPlay=null,this.autoPlayInterval=null,this.hoverAutoPlay=null,this.resizeTimer=null,this.posX1=0,this.posX2=0,this.posInitial=0,this.posFinal=0,this.threshold=80,this.navigationItems=null,this.navigation=null,this.controls=null,this.direction="ltr",this.cloneFirstSLide=null,this.cloneLastSLide=null,this.executionCount=0,this.maxExecutions=5,this.slideWidth=0,this.handleAutoPlay=this.handleAutoPlay.bind(this),this.handleMouseOver=this.handleMouseOver.bind(this),this.handleMouseOut=this.handleMouseOut.bind(this),this.shiftSlide=this.shiftSlide.bind(this),this.checkIndex=this.checkIndex.bind(this),this.moveSlides=this.moveSlides.bind(this),this.handleResize=this.handleResize.bind(this),this.dragStart=this.dragStart.bind(this),this.dragEnd=this.dragEnd.bind(this),this.dragAction=this.dragAction.bind(this),this.handleFocus=this.handleFocus.bind(this),this.handleKeyboardOnPlay=this.handleKeyboardOnPlay.bind(this),this.handleKeyboardOnBullets=this.handleKeyboardOnBullets.bind(this),this.checkBannerHeights=this.checkBannerHeights.bind(this),this.resetBannerHeights=this.resetBannerHeights.bind(this)}init(){if(!ECL)throw new TypeError("Called init but ECL is not present");if(ECL.components=ECL.components||new Map,this.element.style.opacity=0,this.btnPlay=c(this.playSelector,this.element),this.btnPause=c(this.pauseSelector,this.element),this.slidesContainer=c(this.slidesClass,this.element),this.container=c(this.containerClass,this.element),this.navigation=c(".ecl-carousel__navigation",this.element),this.navigationItems=h(this.navigationItemsClass,this.element),this.controls=c(this.controlsClass,this.element),this.currentSlide=c(this.currentSlideClass,this.element),this.slides=h(this.slideClass,this.element),this.total=this.slides.length,this.total<=1)return this.controls&&(this.controls.style.display="none"),this.slidesContainer&&(this.slidesContainer.style.display="block"),!1;var e=this.slides[0],t=this.slides[this.slides.length-1];this.cloneFirstSlide=e.cloneNode(!0),this.cloneLastSlide=t.cloneNode(!0),this.slidesContainer.appendChild(this.cloneFirstSlide),this.slidesContainer.insertBefore(this.cloneLastSlide,e);var i=new ECL.Banner(this.cloneFirstSlide.firstElementChild),s=new ECL.Banner(this.cloneLastSlide.firstElementChild);return i.init(),s.init(),this.slides=h(this.slideClass,this.element),this.handleResize(),this.navigationItems&&this.navigationItems.forEach((e,t)=>{e.addEventListener("click",this.shiftSlide.bind(this,t+1,!0))}),this.navigation&&this.navigation.addEventListener("keydown",this.handleKeyboardOnBullets),this.attachClickListener&&this.btnPlay&&this.btnPause&&(this.btnPlay.addEventListener("click",this.handleAutoPlay),this.btnPause.addEventListener("click",this.handleAutoPlay)),this.btnPlay&&this.btnPlay.addEventListener("keydown",this.handleKeyboardOnPlay),this.slidesContainer&&(this.slidesContainer.addEventListener("mouseover",this.handleMouseOver),this.slidesContainer.addEventListener("mouseout",this.handleMouseOut),this.slidesContainer.addEventListener("touchstart",this.dragStart),this.slidesContainer.addEventListener("touchend",this.dragEnd),this.slidesContainer.addEventListener("touchmove",this.dragAction),this.slidesContainer.addEventListener("transitionend",this.checkIndex)),this.container&&this.container.addEventListener("focus",this.handleFocus,!0),this.attachResizeListener&&window.addEventListener("resize",this.handleResize),this.element.setAttribute("data-ecl-auto-initialized","true"),ECL.components.set(this.element,this),this}destroy(){this.cloneFirstSLide&&this.cloneLastSLide&&(this.cloneFirstSLide.remove(),this.cloneLastSLide.remove()),this.btnPlay&&this.btnPlay.replaceWith(this.btnPlay.cloneNode(!0)),this.btnPause&&this.btnPause.replaceWith(this.btnPause.cloneNode(!0)),this.slidesContainer&&(this.slidesContainer.removeEventListener("mouseover",this.handleMouseOver),this.slidesContainer.removeEventListener("mouseout",this.handleMouseOut),this.slidesContainer.removeEventListener("touchstart",this.dragStart),this.slidesContainer.removeEventListener("touchend",this.dragEnd),this.slidesContainer.removeEventListener("touchmove",this.dragAction),this.slidesContainer.removeEventListener("transitionend",this.checkIndex)),this.container&&this.container.removeEventListener("focus",this.handleFocus,!0),this.navigationItems&&this.navigationItems.forEach(e=>{e.replaceWith(e.cloneNode(!0))}),this.attachResizeListener&&window.removeEventListener("resize",this.handleResize),this.autoPlayInterval&&(clearInterval(this.autoPlayInterval),this.autoPlay=null),this.element&&(this.element.removeAttribute("data-ecl-auto-initialized"),ECL.components.delete(this.element))}checkBannerHeights(){if(this.executionCount+=1,this.executionCount>this.maxExecutions)return clearInterval(this.intervalId),void(this.executionCount=0);var e=this.slides.map(e=>{var t=c(".ecl-banner",e),i=ECL.components.get(t),s=i.defaultRatio();i.setHeight(s);var n=parseInt(t.style.getPropertyValue("--banner-footer-height"),10)||0,a=parseInt(t.style.height,10),r=a+n;return"auto"===t.style.height?t.offsetHeight:Number.isNaN(a)||100===a?1:r}).filter(e=>void 0!==e),t=Math.max(...e);e.length===this.slides.length&&t>1&&(clearInterval(this.intervalId),this.executionCount=0,this.slides.forEach(e=>{var i=null,s=null,n=c(".ecl-banner",e);if(n){i=c("img",n),s=c("video",n);var a=parseInt(n.style.getPropertyValue("--banner-footer-height"),10)||0,r=t-a;n.style.height=r+"px",n.style.aspectRatio="auto"}i&&(i.style.aspectRatio="auto"),s&&(s.style.aspectRatio="auto")}))}resetBannerHeights(){this.slides.forEach(e=>{var t=c(".ecl-banner",e),i=null,s=null,n=null;t&&(t.style.height="",i=c("img",t),s=c("video",t),n=c(".ecl-banner__credit",t),i&&(i.style.aspectRatio=""),s&&(s.style.aspectRatio=""),n&&setTimeout(()=>{t.style.setProperty("--banner-footer-height",n.offsetHeight+"px")},100))})}dragStart(e){e=e||window.event,this.posInitial=this.slidesContainer.offsetLeft,"touchstart"===e.type&&(this.posX1=e.touches[0].clientX,this.posY1=e.touches[0].clientY,this.allowShift=!1)}dragAction(e){if("touchmove"===(e=e||window.event).type){var t=e.touches[0].clientX-this.posX1,i=e.touches[0].clientY-this.posY1;!this.allowShift&&Math.abs(t)>Math.abs(i)&&(this.allowShift=!0),this.allowShift&&(e.preventDefault(),this.posX2=this.posX1-e.touches[0].clientX,this.posX1=e.touches[0].clientX,this.slidesContainer.style.left=this.slidesContainer.offsetLeft-this.posX2+"px")}}dragEnd(){this.allowShift&&(this.posFinal=this.slidesContainer.offsetLeft,this.posFinal-this.posInitial<-this.threshold?this.shiftSlide("next",!0):this.posFinal-this.posInitial>this.threshold?this.shiftSlide("prev",!0):this.slidesContainer.style.left=this.posInitial+"px",this.allowShift=!1)}shiftSlide(e,t){this.allowShift&&(this.index="number"==typeof e?e:"next"===e?this.index+1:this.index-1,this.moveSlides(!0)),t&&this.autoPlay&&this.handleAutoPlay(),this.allowShift=!1}moveSlides(e){var t=this.slideWidth*this.index;this.slidesContainer.style.transitionDuration=e?"0.4s":"0s",this.direction=getComputedStyle(this.element).direction,"rtl"===this.direction?this.slidesContainer.style.right="-"+t+"px":this.slidesContainer.style.left="-"+t+"px"}checkIndex(e){e&&"left"!==e.propertyName||(0===this.index&&(this.index=this.total),this.index===this.total+1&&(this.index=1),this.moveSlides(!1),this.currentSlide&&(this.currentSlide.textContent=this.index),this.slides&&this.slides.forEach((e,t)=>{var i=c(".ecl-link--primary-highlight",e);this.index===t?(e.removeAttribute("inert","true"),i&&i.removeAttribute("tabindex",-1)):(e.setAttribute("inert","true"),i&&i.setAttribute("tabindex",-1))}),this.navigationItems&&this.navigationItems.forEach((e,t)=>{this.index===t+1?(e.setAttribute("aria-current","true"),e.removeAttribute("tabindex",-1)):(e.removeAttribute("aria-current","true"),e.setAttribute("tabindex",-1))}),this.allowShift=!0)}handleAutoPlay(){if(this.autoPlay){clearInterval(this.autoPlayInterval),this.autoPlay=!1;var e=document.activeElement===this.btnPause;this.btnPlay.style.display="flex",this.btnPause.style.display="none",e&&this.btnPlay.focus()}else{this.autoPlayInterval=setInterval(()=>{this.shiftSlide("next")},5e3),this.autoPlay=!0;var t=document.activeElement===this.btnPlay;this.btnPlay.style.display="none",this.btnPause.style.display="flex",t&&this.btnPause.focus()}}handleMouseOver(){return this.hoverAutoPlay=this.autoPlay,this.hoverAutoPlay&&this.handleAutoPlay(),this}handleMouseOut(){return this.hoverAutoPlay&&this.handleAutoPlay(),this}handleResize(){var e=Math.max(document.documentElement.clientWidth||0,window.innerWidth||0);clearInterval(this.intervalId),clearTimeout(this.resizeTimer),this.resizeTimer=setTimeout(()=>{e>=1140?this.intervalId=setInterval(this.checkBannerHeights,100):this.resetBannerHeights(),this.slideWidth=this.slides[0].scrollWidth,this.checkIndex(),setTimeout(()=>{this.element.style.opacity=1},250)},250),e>=1140&&e<=1260?this.container.classList.add("ecl-carousel-container--padded"):this.container.classList.remove("ecl-carousel-container--padded"),(e<=768&&this.autoPlay||e>768&&null===this.autoPlay)&&this.handleAutoPlay()}handleKeyboardOnPlay(e){if("Tab"!==e.key||!e.shiftKey)switch(e.key){case"Tab":case"ArrowRight":e.preventDefault(),this.activeNav=c(this.navigationItemsClass+'[aria-current="true"]'),this.activeNav&&this.activeNav.focus(),this.autoPlay&&this.handleAutoPlay()}}handleKeyboardOnBullets(e){var t=document.activeElement;switch(e.key){case"ArrowRight":t.nextSibling&&(e.preventDefault(),this.shiftSlide("next",!0),setTimeout(()=>t.nextSibling.focus(),400));break;case"ArrowLeft":t.previousSibling?(this.shiftSlide("prev",!0),setTimeout(()=>t.previousSibling.focus(),400)):this.btnPlay.focus()}}handleFocus(e){var t=e.target;return t&&t.contains(document.activeElement)&&this.autoPlay&&this.handleAutoPlay(),this}}class v{static autoInit(e,t){var i=(void 0===t?{}:t).CATEGORY_FILTER,s=new v(e,void 0===i?{}:i);return s.init(),e.ECLCategoryFilter=s,s}constructor(e,t){var i=void 0===t?{}:t,s=i.itemSelector,n=void 0===s?".ecl-category-filter__item":s,a=i.parentItemSelector,r=void 0===a?"ecl-category-filter__item--has-children":a,l=i.listSelector,o=void 0===l?".ecl-category-filter__list":l,h=i.attachClickListener,c=void 0===h||h;if(!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");this.element=e,this.itemSelector=n,this.parentItemSelector=r,this.listSelector=o,this.attachClickListener=c,this.items=null,this.handleClickExpand=this.handleClickExpand.bind(this),this.expandParents=this.expandParents.bind(this)}init(){if(!ECL)throw new TypeError("Called init but ECL is not present");ECL.components=ECL.components||new Map,this.items=h(this.itemSelector,this.element);var e={preventDefault:()=>null};this.attachClickListener&&this.items&&this.items.forEach(t=>{t.addEventListener("click",this.handleClickExpand),t.getAttribute("aria-current")&&(e.target=t,this.handleClickExpand(e),this.expandParents(t))}),this.element.setAttribute("data-ecl-auto-initialized","true"),ECL.components.set(this.element,this)}destroy(){this.attachClickListener&&this.items&&this.items.forEach(e=>{e.removeEventListener("click",this.handleClickExpand,!1)}),this.element&&(this.element.removeAttribute("data-ecl-auto-initialized"),ECL.components.delete(this.element))}expandParents(e){var t;if(e){var i={preventDefault:()=>null},s=null==(t=e.closest(this.listSelector))?void 0:t.previousElementSibling;s&&s.classList.contains(this.parentItemSelector)&&(i.target=s,this.handleClickExpand(i),this.expandParents(s))}}handleClickExpand(e){var t=e.target.closest(this.itemSelector),i="function"==typeof e.stopPropagation;i&&this.items.forEach(e=>{e===t?e.setAttribute("aria-current",!0):e.removeAttribute("aria-current")});var s=t.getAttribute("aria-expanded");s&&"true"===s?(e.preventDefault(),t.setAttribute("aria-expanded","false"),t.parentElement.classList.remove("ecl-category-filter__list-item--open")):s&&"false"===s&&(e.preventDefault(),t.setAttribute("aria-expanded","true"),t.parentElement.classList.add("ecl-category-filter__list-item--open")),s&&i&&t.classList.contains("ecl-category-filter__item--level-1")&&this.items.forEach(e=>{e!==t&&(e.parentElement.classList.remove("ecl-category-filter__list-item--open"),e.classList.contains(this.parentItemSelector)&&e.setAttribute("aria-expanded","false"))})}}class g{static autoInit(e,t){var i=(void 0===t?{}:t).DATEPICKER,s=new g(e,void 0===i?{}:i);return s.init(),e.ECLDatepicker=s,s}constructor(e,t){var i=void 0===t?{}:t,s=i.format,n=void 0===s?"":s,a=i.localization,l=void 0===a?{}:a;if(!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");this.element=e,this.picker=null,this.format=n,this.localization=r({},g.defaults.localization,l),this.normalizeDate=this.normalizeDate.bind(this),this.handleOpen=this.handleOpen.bind(this)}init(){if(!customElements.get("duet-date-picker"))throw new TypeError("Duet datepicker is not available. Make sure to include the duet datepicker js in your project if you want to use the ECL datepicker");if(!ECL)throw new TypeError("Called init but ECL is not present");return ECL.components=ECL.components||new Map,g.applyCustomizations=()=>{this.picker=this.element.querySelector("duet-date-picker");var e={parse(e,t){void 0===e&&(e="");var i=e.match(/^(\d{2})-(\d{2})-(\d{4})$/);if(i)return t(i[3],i[2],i[1])},format(e){var t=e=>String(e).padStart(2,"0");return t(e.getDate())+"-"+t(e.getMonth()+1)+"-"+e.getFullYear()}};this.picker&&(this.picker.identifier||(this.picker.identifier="ecl-datepicker-"+Math.random().toString(36).substr(2,length)),this.element.dataset.value&&(this.picker.value=this.normalizeDate(this.element.dataset.value)),this.updateConfiguration(),this.picker.addEventListener("duetOpen",this.handleOpen),this.picker.localization=this.localization,this.element.dataset.placeholder&&(this.picker.localization.placeholder=this.element.dataset.placeholder),this.picker.dateAdapter=this.format&&"object"==typeof this.format?this.format:e)},setTimeout(g.applyCustomizations,50),this.element.setAttribute("data-ecl-auto-initialized","true"),ECL.components.set(this.element,this),this.picker}normalizeDate(e){if("string"!=typeof e)return e;var t=e.match(/(\d{4})-(\d{2})-(\d{2})/);return t?t[1]+"-"+t[2]+"-"+t[3]:""}updateConfiguration(){this.picker&&(this.direction=getComputedStyle(this.element).direction,this.picker.direction="ltr"===this.direction?"right":"left")}handleOpen(){this.updateConfiguration()}destroy(){this.picker&&this.picker.removeEventListener("duetOpen",this.handleOpen),this.element&&(this.element.removeAttribute("data-ecl-auto-initialized"),ECL.components.delete(this.element))}}g.defaults={localization:{previousMonth:"Previous Month",nextMonth:"Next Month",dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdaysShort:["Su","Mo","Tu","We","Th","Fr","Sa"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],placeholder:"DD-MM-YYYY",prevMonthLabel:"Previous month",nextMonthLabel:"Next month",monthSelectLabel:"Month",yearSelectLabel:"Year",closeLabel:"Close window",calendarHeading:"Choose a date",selectedDateMessage:"Selected date is",buttonLabel:"Choose date"}};class b{static autoInit(e,t){var i=(void 0===t?{}:t).BREADCRUMB,s=new b(e,void 0===i?{}:i);return s.init(),e.ECLBreadcrumb=s,s}constructor(e,t){var i=void 0===t?{}:t,s=i.ellipsisButtonSelector,n=void 0===s?"[data-ecl-breadcrumb-ellipsis-button]":s,a=i.ellipsisSelector,r=void 0===a?"[data-ecl-breadcrumb-ellipsis]":a,l=i.segmentSelector,o=void 0===l?"[data-ecl-breadcrumb-item]":l,h=i.expandableItemsSelector,c=void 0===h?'[data-ecl-breadcrumb-item="expandable"]':h,d=i.staticItemsSelector,u=void 0===d?'[data-ecl-breadcrumb-item="static"]':d,m=i.onPartialExpand,p=void 0===m?null:m,v=i.onFullExpand,g=void 0===v?null:v,b=i.attachClickListener,f=void 0===b||b,y=i.attachResizeListener,L=void 0===y||y;if(!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");this.element=e,this.ellipsisButtonSelector=n,this.ellipsisSelector=r,this.segmentSelector=o,this.expandableItemsSelector=c,this.staticItemsSelector=u,this.onPartialExpand=p,this.onFullExpand=g,this.attachClickListener=f,this.attachResizeListener=L,this.ellipsisButton=null,this.itemsElements=null,this.staticElements=null,this.expandableElements=null,this.resizeTimer=null,this.breakpoint=995,this.handleClickOnEllipsis=this.handleClickOnEllipsis.bind(this),this.handleResize=this.handleResize.bind(this)}init(){if(!ECL)throw new TypeError("Called init but ECL is not present");ECL.components=ECL.components||new Map,this.ellipsisButton=c(this.ellipsisButtonSelector,this.element),this.attachClickListener&&this.ellipsisButton&&this.ellipsisButton.addEventListener("click",this.handleClickOnEllipsis),this.itemsElements=h(this.segmentSelector,this.element),this.staticElements=h(this.staticItemsSelector,this.element),this.expandableElements=h(this.expandableItemsSelector,this.element),this.check(),this.attachResizeListener&&window.addEventListener("resize",this.handleResize),this.element.setAttribute("data-ecl-auto-initialized","true"),ECL.components.set(this.element,this)}destroy(){this.attachClickListener&&this.ellipsisButton&&this.ellipsisButton.removeEventListener("click",this.handleClickOnEllipsis),this.attachResizeListener&&window.removeEventListener("resize",this.handleResize),this.element&&(this.element.removeAttribute("data-ecl-auto-initialized"),this.element.classList.remove("ecl-breadcrumb--wrap"),ECL.components.delete(this.element))}handleClickOnEllipsis(){return this.handleFullExpand()}check(){var e,i=this;return(e=l().m(function e(){var t;return l().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,i.computeVisibilityMap();case 1:if(t=e.v){e.n=2;break}return e.a(2);case 2:!0===t.expanded&&Math.floor(i.element.getBoundingClientRect().width)>i.breakpoint?i.handleFullExpand():i.handlePartialExpand(t);case 3:return e.a(2)}},e)}),function(){var i=this,s=arguments;return new Promise(function(n,a){var r=e.apply(i,s);function l(e){t(r,n,a,l,o,"next",e)}function o(e){t(r,n,a,l,o,"throw",e)}l(void 0)})})()}hideEllipsis(){var e=c(this.ellipsisSelector,this.element);e&&e.setAttribute("aria-hidden","true")}showAllItems(){this.expandableElements.forEach(e=>e.setAttribute("aria-hidden","false"))}handlePartialExpand(e){if(Math.floor(this.element.getBoundingClientRect().width)<=this.breakpoint)this.expandableElements.forEach(e=>{e.setAttribute("aria-hidden","true")});else if(e){this.element.classList.add("ecl-breadcrumb--collapsed");var t=e.isItemVisible;if(t&&Array.isArray(t))if(this.onPartialExpand)this.onPartialExpand(t);else{var i=c(this.ellipsisSelector,this.element);i&&i.setAttribute("aria-hidden","false"),this.expandableElements.forEach((e,i)=>{e.setAttribute("aria-hidden",t[i]?"false":"true")})}}}handleFullExpand(){this.element.classList.remove("ecl-breadcrumb--collapsed"),this.element.classList.add("ecl-breadcrumb--wrap"),this.onFullExpand?this.onFullExpand():(this.hideEllipsis(),this.showAllItems())}handleResize(){clearTimeout(this.resizeTimer),this.resizeTimer=setTimeout(()=>{this.check()},200)}computeVisibilityMap(){return new Promise(e=>{if(this.expandableElements&&0!==this.expandableElements.length){var t=Math.floor(this.element.getBoundingClientRect().width);setTimeout(()=>{if(1.1*this.itemsElements.map(e=>{var t=e.getBoundingClientRect().width;return 0===t&&(e.style.display="inline-flex",t=e.getBoundingClientRect().width,e.style.cssText=""),t}).reduce((e,t)=>e+t)<=t)e({expanded:!0});else{var i=c(this.ellipsisSelector,this.element).getBoundingClientRect().width+this.staticElements.reduce((e,t)=>e+t.getBoundingClientRect().width,0);if(i>=t)e({expanded:!1,isItemVisible:[...this.expandableElements.map(()=>!1)]});else{var s=0,n=!0,a=[...this.expandableElements].reverse().map(e=>{if(!n)return!1;var a=(s+=e.getBoundingClientRect().width)+i<=t;return a||(n=!1),a}).reverse();e({expanded:!1,isItemVisible:a})}}},150)}else e({expanded:!0})})}}class f{static autoInit(e,t){var i=(void 0===t?{}:t).CONTENT_BLOCK,s=new f(e,void 0===i?{}:i);return s.init(),e.ECLContentBlock=s,s}constructor(e,t){var i=void 0===t?{}:t,s=i.targetSelector,n=void 0===s?"[data-ecl-picture-link]":s,a=i.titleSelector,r=void 0===a?"[data-ecl-title-link]":a,l=i.attachClickListener,o=void 0===l||l,h=i.maxIterations,c=void 0===h?1:h,d=i.withTitleAttr,u=void 0!==d&&d;if(!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");this.element=e,this.targetSelector=n,this.titleSelector=r,this.attachClickListener=o,this.maxIterations=c,this.withTitleAttr=u,this.linkTo=this.linkTo.bind(this),this.findElementInCommonAncestor=this.findElementInCommonAncestor.bind(this)}init(){if(!ECL)throw new TypeError("Called init but ECL is not present");if(ECL.components=ECL.components||new Map,this.picture=this.findElementInCommonAncestor(this.element,this.targetSelector,this.maxIterations),this.picture){if(this.titleLink=c(this.titleSelector,this.element),this.titleLink){this.picture.style.cursor="pointer";var e=c("img",this.picture);e&&this.withTitleAttr&&(e.title=this.constructor.convertToFullURL(this.titleLink.getAttribute("href"))),this.attachClickListener&&this.picture.addEventListener("click",this.linkTo)}this.element.setAttribute("data-ecl-auto-initialized",!0),ECL.components.set(this.element,this)}}linkTo(){this.titleLink&&this.titleLink.click()}findElementInCommonAncestor(e,t,i){var s=c(t,e);return s||(e.classList.contains("ecl-card__body")&&(i+=1),e===document.documentElement||i<=0?null:this.findElementInCommonAncestor(e.parentElement,t,i-1))}static convertToFullURL(e){if(e.startsWith("http://")||e.startsWith("https://"))return e;var t=new URL(window.location.href);return new URL(e,t).href}destroy(){this.attachClickListener&&this.picture&&this.picture.removeEventListener("click",this.linkto),this.element&&(this.element.removeAttribute("data-ecl-auto-initialized"),ECL.components.delete(this.element))}}class y{static autoInit(e,t){var i=(void 0===t?{}:t).DESCRIPTION_LIST,s=new y(e,void 0===i?{}:i);return s.init(),e.ECLDescriptionList=s,s}constructor(e,t){var i=void 0===t?{}:t,s=i.listsSelector,n=void 0===s?"[data-ecl-description-list-collapsible]":s,a=i.visibleItemsSelector,r=void 0===a?"data-ecl-description-list-visible-items":a,l=i.moreItemLabelSelector,o=void 0===l?"data-ecl-description-list-more-label":l,h=i.attachClickListener,c=void 0===h||h;if(!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");this.element=e,this.moreItemLabelSelector=o,this.listsSelector=n,this.attachClickListener=c,this.visibleItemsSelector=r,this.moreItemLabel=null,this.lists=null,this.handleClickOnMore=this.handleClickOnMore.bind(this)}init(){if(!ECL)throw new TypeError("Called init but ECL is not present");ECL.components=ECL.components||new Map,this.moreItemLabel=this.element.getAttribute(this.moreItemLabelSelector),this.visibleItems=this.element.getAttribute(this.visibleItemsSelector),this.lists=h(this.listsSelector,this.element),this.lists[0]&&this.visibleItems>0&&this.moreItemLabel&&(this.lists.forEach(e=>{if(e.children&&e.children.length>this.visibleItems){var t=document.createElement("li");t.classList.add("ecl-description-list__see_more");var i=document.createElement("a");i.classList.add("ecl-link","ecl-link--standalone"),i.href="#",i.innerHTML=this.moreItemLabel,t.appendChild(i),e.appendChild(t),this.showHide(h(".ecl-description-list__definition-item",e)),this.attachClickListener&&i.addEventListener("click",this.handleClickOnMore)}}),this.element.setAttribute("data-ecl-auto-initialized","true"),ECL.components.set(this.element,this))}showHide(e){if(e)for(var t=Array.from(e),i="ecl-description-list__definition-item",s=i+"--hidden",n=i+"--last-visible",a=0;a<t.length;a+=1){var r=t[a];r.setAttribute("tabindex",-1),a<this.visibleItems?(r.classList.remove(s),r.classList.remove(n)):a>=this.visibleItems&&r.classList.add(s),a===this.visibleItems-1?r.classList.add(n):r.classList.remove(n)}}destroy(){if(this.attachClickListener&&this.visibleItems>0){var e=h(".ecl-description-list__see_more");e[0]&&e.forEach(e=>{e.removeEventListener("click",this.handleClickOnMore)})}this.element&&(this.element.removeAttribute("data-ecl-auto-initialized"),ECL.components.delete(this.element))}handleClickOnMore(e){e.preventDefault();var t=e.target.parentNode,i=t.parentNode,s=null;this.element.contains(i)&&(Array.from(i.children).forEach(e=>{e.classList.contains("ecl-description-list__definition-item--hidden")&&(e.classList.remove("ecl-description-list__definition-item--hidden"),null===s&&(s=e)),e.classList.remove("ecl-description-list__definition-item--last-visible")}),t.remove(),null!==s&&s.focus())}}class L{static autoInit(e,t){var i=(void 0===t?{}:t).EXPANDABLE,s=new L(e,void 0===i?{}:i);return s.init(),e.ECLExpandable=s,s}constructor(e,t){var i=void 0===t?{}:t,s=i.toggleSelector,n=void 0===s?"[data-ecl-expandable-toggle]":s,a=i.labelSelector,r=void 0===a?"[data-ecl-label]":a,l=i.labelExpanded,o=void 0===l?"data-ecl-label-expanded":l,h=i.labelCollapsed,c=void 0===h?"data-ecl-label-collapsed":h,d=i.attachClickListener,m=void 0===d||d;if(this.supportedEvents=["onToggle"],!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");this.element=e,this.eventManager=new u,this.toggleSelector=n,this.labelSelector=r,this.labelExpanded=o,this.labelCollapsed=c,this.attachClickListener=m,this.toggle=null,this.forceClose=!1,this.target=null,this.label=null,this.handleClickOnToggle=this.handleClickOnToggle.bind(this)}init(){if(!ECL)throw new TypeError("Called init but ECL is not present");if(ECL.components=ECL.components||new Map,this.toggle=c(this.toggleSelector,this.element),this.target=document.querySelector("#"+this.toggle.getAttribute("aria-controls")),this.label=c(this.labelSelector,this.element),!this.target)throw new TypeError("Target has to be provided for expandable (aria-controls)");this.attachClickListener&&this.toggle&&this.toggle.addEventListener("click",this.handleClickOnToggle),this.element.setAttribute("data-ecl-auto-initialized","true"),ECL.components.set(this.element,this)}on(e,t){this.eventManager.on(e,t)}trigger(e,t){this.eventManager.trigger(e,t)}destroy(){this.attachClickListener&&this.toggle&&this.toggle.removeEventListener("click",this.handleClickOnToggle),this.element&&(this.element.removeAttribute("data-ecl-auto-initialized"),ECL.components.delete(this.element))}handleClickOnToggle(e){var t=!0===this.forceClose||"true"===this.toggle.getAttribute("aria-expanded");this.toggle.setAttribute("aria-expanded",t?"false":"true"),this.target.hidden=!!t,this.label&&!t&&this.toggle.hasAttribute(this.labelExpanded)?this.label.innerHTML=this.toggle.getAttribute(this.labelExpanded):this.label&&t&&this.toggle.hasAttribute(this.labelCollapsed)&&(this.label.innerHTML=this.toggle.getAttribute(this.labelCollapsed));var i={expanded:!t,e:e};return this.trigger("onToggle",i),this}}class k{static autoInit(e,t){var i=(void 0===t?{}:t).FILE_DOWNLOAD,s=new k(e,void 0===i?{}:i);return s.init(),e.ECLFileDownload=s,s}constructor(e,t){var i=void 0===t?{}:t,s=i.translationToggleSelector,n=void 0===s?"[data-ecl-file-translation-toggle]":s,a=i.translationContainerSelector,r=void 0===a?"[data-ecl-file-translation-container]":a,l=i.attachClickListener,o=void 0===l||l;if(!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");this.element=e,this.translationToggleSelector=n,this.translationContainerSelector=r,this.attachClickListener=o,this.translationToggle=null,this.translationContainer=null,this.handleClickOnToggle=this.handleClickOnToggle.bind(this)}init(){if(!ECL)throw new TypeError("Called init but ECL is not present");ECL.components=ECL.components||new Map,this.translationToggle=c(this.translationToggleSelector,this.element),this.translationContainer=c(this.translationContainerSelector,this.element),this.attachClickListener&&this.translationToggle&&this.translationToggle.addEventListener("click",this.handleClickOnToggle),this.element.setAttribute("data-ecl-auto-initialized","true"),ECL.components.set(this.element,this)}destroy(){this.attachClickListener&&this.translationToggle&&this.translationToggle.removeEventListener("click",this.handleClickOnToggle),this.element&&(this.element.removeAttribute("data-ecl-auto-initialized"),ECL.components.delete(this.element))}handleClickOnToggle(e){return e.preventDefault(),"true"===this.translationToggle.getAttribute("aria-expanded")?this.translationToggle.setAttribute("aria-expanded","false"):this.translationToggle.setAttribute("aria-expanded","true"),this}}class E{static autoInit(e,t){var i=(void 0===t?{}:t).FILE_UPLOAD,s=new E(e,void 0===i?{}:i);return s.init(),e.ECLFileUpload=s,s}constructor(e,t){var i=void 0===t?{}:t,s=i.groupSelector,n=void 0===s?"[data-ecl-file-upload-group]":s,a=i.buttonSelector,r=void 0===a?"[data-ecl-file-upload-button]":a,l=i.listSelector,o=void 0===l?"[data-ecl-file-upload-list]":l,h=i.labelChoose,c=void 0===h?"data-ecl-file-upload-label-choose":h,d=i.labelReplace,m=void 0===d?"data-ecl-file-upload-label-replace":d,p=i.attachChangeListener,v=void 0===p||p;if(this.supportedEvents=["onSelection"],!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");this.element=e,this.eventManager=new u,this.groupSelector=n,this.buttonSelector=r,this.listSelector=o,this.labelChoose=c,this.labelReplace=m,this.attachChangeListener=v,this.fileUploadGroup=null,this.fileUploadInput=null,this.fileUploadButton=null,this.fileUploadList=null,this.handleChange=this.handleChange.bind(this)}init(){if(!ECL)throw new TypeError("Called init but ECL is not present");ECL.components=ECL.components||new Map,this.fileUploadGroup=this.element.closest(this.groupSelector),this.fileUploadInput=this.element,this.fileUploadButton=c(this.buttonSelector,this.fileUploadGroup),this.fileUploadList=c(this.listSelector,this.fileUploadGroup),this.attachChangeListener&&this.fileUploadInput&&this.fileUploadInput.addEventListener("change",this.handleChange),this.element.setAttribute("data-ecl-auto-initialized","true"),ECL.components.set(this.element,this)}on(e,t){this.eventManager.on(e,t)}trigger(e,t){this.eventManager.trigger(e,t)}destroy(){this.attachChangeListener&&this.fileUploadInput&&this.fileUploadInput.removeEventListener("change",this.handleChange),this.element&&(this.element.removeAttribute("data-ecl-auto-initialized"),ECL.components.delete(this.element))}handleChange(e){if("files"in e.target){var t="";Array.prototype.forEach.call(e.target.files,e=>{var i=function(e,t){if(0===e)return"0 Bytes";var i=t,s=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,s)).toFixed(i))+" "+["Bytes","kB","MB","GB","TB","PB","EB","ZB","YB"][s]}(e.size,1),s=e.name.split(".").pop();t+='<li class="ecl-file-upload__item">\n <span class="ecl-file-upload__item-name">'+e.name+'</span>\n <span class="ecl-file-upload__item-meta">('+i+" - "+s+")</span>\n </li>"}),this.fileUploadList.innerHTML=t,this.fileUploadButton.hasAttribute(this.labelReplace)&&(this.fileUploadButton.innerHTML=this.fileUploadButton.getAttribute(this.labelReplace));var i={files:e.target.files,event:e};this.trigger("onSelection",i)}else this.fileUploadButton.hasAttribute(this.labelChoose)&&(this.fileUploadButton.innerHTML=this.fileUploadButton.getAttribute(this.labelChoose))}}
|
|
@@ -23,4 +23,4 @@ var e,t,i="function"==typeof Symbol?Symbol:{},s=i.iterator||"@@iterator",n=i.toS
|
|
|
23
23
|
* https://github.com/bowser-js/bowser
|
|
24
24
|
* MIT License | (c) Dustin Diaz 2012-2015
|
|
25
25
|
* MIT License | (c) Denis Demchenko 2015-2019
|
|
26
|
-
*/class Ke{static getParser(e,t,i){if(void 0===t&&(t=!1),void 0===i&&(i=null),"string"!=typeof e)throw new Error("UserAgent should be a string");return new He(e,t,i)}static parse(e,t){return void 0===t&&(t=null),new He(e,t).getResult()}static get BROWSER_MAP(){return Oe}static get ENGINE_MAP(){return Pe}static get OS_MAP(){return Me}static get PLATFORMS_MAP(){return Te}}class Ge{static autoInit(e,t){var i=(void 0===t?{}:t).MENU,s=new Ge(e,void 0===i?{}:i);return s.init(),e.ECLMenu=s,s}constructor(e,t){var i=void 0===t?{}:t,s=i.openSelector,n=void 0===s?"[data-ecl-menu-open]":s,a=i.closeSelector,r=void 0===a?"[data-ecl-menu-close]":a,l=i.backSelector,o=void 0===l?"[data-ecl-menu-back]":l,h=i.innerSelector,c=void 0===h?"[data-ecl-menu-inner]":h,d=i.listSelector,m=void 0===d?"[data-ecl-menu-list]":d,p=i.itemSelector,v=void 0===p?"[data-ecl-menu-item]":p,g=i.linkSelector,b=void 0===g?"[data-ecl-menu-link]":g,f=i.buttonPreviousSelector,y=void 0===f?"[data-ecl-menu-items-previous]":f,L=i.buttonNextSelector,k=void 0===L?"[data-ecl-menu-items-next]":L,E=i.caretSelector,C=void 0===E?"[data-ecl-menu-caret]":E,w=i.megaSelector,S=void 0===w?"[data-ecl-menu-mega]":w,A=i.subItemSelector,_=void 0===A?"[data-ecl-menu-subitem]":A,x=i.maxLines,O=void 0===x?2:x,T=i.maxLinesAttribute,M=void 0===T?"data-ecl-menu-max-lines":T,P=i.labelOpenAttribute,I=void 0===P?"data-ecl-menu-label-open":P,B=i.labelCloseAttribute,N=void 0===B?"data-ecl-menu-label-close":B,D=i.attachClickListener,F=void 0===D||D,R=i.attachTouchListener,z=void 0===R||R,H=i.attachHoverListener,K=void 0===H||H,G=i.attachFocusListener,V=void 0===G||G,W=i.attachKeyListener,U=void 0===W||W,j=i.attachResizeListener,q=void 0===j||j,Y=i.onCloseCallback,X=void 0===Y?null:Y,Q=i.onOpenCallback,J=void 0===Q?null:Q;if(this.supportedEvents=["onOpen","onClose"],!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");this.element=e,this.eventManager=new u,this.openSelector=n,this.closeSelector=r,this.backSelector=o,this.innerSelector=c,this.listSelector=m,this.itemSelector=v,this.linkSelector=b,this.buttonPreviousSelector=y,this.buttonNextSelector=k,this.caretSelector=C,this.megaSelector=S,this.subItemSelector=_,this.maxLines=O,this.maxLinesAttribute=M,this.labelOpenAttribute=I,this.labelCloseAttribute=N,this.attachClickListener=F,this.attachTouchListener=z,this.attachHoverListener=K,this.attachFocusListener=V,this.attachKeyListener=U,this.attachResizeListener=q,this.onOpenCallback=J,this.onCloseCallback=X,this.direction="ltr",this.open=null,this.close=null,this.toggleLabel=null,this.back=null,this.backItem=null,this.inner=null,this.itemsList=null,this.items=null,this.links=null,this.btnPrevious=null,this.btnNext=null,this.isOpen=!1,this.resizeTimer=null,this.isKeyEvent=!1,this.isDesktop=!1,this.hasOverflow=!1,this.offsetLeft=0,this.lastVisibleItem=null,this.currentItem=null,this.totalItemsWidth=0,this.breakpointTablet=768,this.breakpointDesktop=1140,this.windowWidth=null,this.ignorehover=!1,this.handleClickOnOpen=this.handleClickOnOpen.bind(this),this.handleClickOnClose=this.handleClickOnClose.bind(this),this.handleClickOnToggle=this.handleClickOnToggle.bind(this),this.handleClickOnBack=this.handleClickOnBack.bind(this),this.handleClickOnNextItems=this.handleClickOnNextItems.bind(this),this.handleClickOnPreviousItems=this.handleClickOnPreviousItems.bind(this),this.handleClickOnCaret=this.handleClickOnCaret.bind(this),this.handleClickGlobal=this.handleClickGlobal.bind(this),this.openItem=this.openItem.bind(this),this.closeItem=this.closeItem.bind(this),this.handleTouchOnCaret=this.handleTouchOnCaret.bind(this),this.handleHoverOnItem=this.handleHoverOnItem.bind(this),this.handleHoverOffItem=this.handleHoverOffItem.bind(this),this.handleFocusIn=this.handleFocusIn.bind(this),this.handleKeyboard=this.handleKeyboard.bind(this),this.handleKeyboardGlobal=this.handleKeyboardGlobal.bind(this),this.handleResize=this.handleResize.bind(this),this.useDesktopDisplay=this.useDesktopDisplay.bind(this),this.checkMenuOverflow=this.checkMenuOverflow.bind(this),this.checkMenuItem=this.checkMenuItem.bind(this),this.checkMegaMenu=this.checkMegaMenu.bind(this),this.closeOpenDropdown=this.closeOpenDropdown.bind(this),this.positionMenuOverlay=this.positionMenuOverlay.bind(this),this.disableScroll=this.disableScroll.bind(this),this.enableScroll=this.enableScroll.bind(this)}init(){if(!ECL)throw new TypeError("Called init but ECL is not present");ECL.components=ECL.components||new Map,this.direction=getComputedStyle(this.element).direction,this.open=c(this.openSelector,this.element),this.close=c(this.closeSelector,this.element),this.toggleLabel=c(".ecl-button__label",this.open),this.back=c(this.backSelector,this.element),this.inner=c(this.innerSelector,this.element),this.itemsList=c(this.listSelector,this.element),this.btnPrevious=c(this.buttonPreviousSelector,this.element),this.btnNext=c(this.buttonNextSelector,this.element),this.items=h(this.itemSelector,this.element),this.subItems=h(this.subItemSelector,this.element),this.links=h(this.linkSelector,this.element),this.carets=h(this.caretSelector,this.element);var e=this.element.getAttribute(this.maxLinesAttribute);e&&(this.maxLines=e),this.isDesktop=this.useDesktopDisplay(),this.attachClickListener&&(this.open&&this.open.addEventListener("click",this.handleClickOnToggle),this.close&&this.close.addEventListener("click",this.handleClickOnClose),this.back&&this.back.addEventListener("click",this.handleClickOnBack),this.btnPrevious&&this.btnPrevious.addEventListener("click",this.handleClickOnPreviousItems),this.btnNext&&this.btnNext.addEventListener("click",this.handleClickOnNextItems),this.attachClickListener&&document.addEventListener("click",this.handleClickGlobal)),this.links&&this.links.forEach(e=>{this.attachFocusListener&&(e.addEventListener("focusin",this.closeOpenDropdown),e.addEventListener("focusin",this.handleFocusIn)),this.attachKeyListener&&e.addEventListener("keyup",this.handleKeyboard)}),this.carets&&this.carets.forEach(e=>{this.attachFocusListener&&e.addEventListener("focusin",this.handleFocusIn),this.attachKeyListener&&e.addEventListener("keyup",this.handleKeyboard),this.attachClickListener&&e.addEventListener("click",this.handleClickOnCaret),e.parentElement.hasAttribute("data-ecl-has-children")&&this.attachTouchListener&&e.addEventListener("touchstart",this.handleTouchOnCaret)}),this.subItems&&this.subItems.forEach(e=>{var t=c(".ecl-menu__sublink",e);this.attachKeyListener&&t&&t.addEventListener("keyup",this.handleKeyboard)}),this.attachKeyListener&&document.addEventListener("keyup",this.handleKeyboardGlobal),this.attachResizeListener&&(this.windowWidth=window.innerWidth,window.addEventListener("resize",this.handleResize)),this.items&&this.items.forEach(e=>{this.checkMenuItem(e),this.totalItemsWidth+=e.offsetWidth,e.hasAttribute("data-ecl-has-children")&&this.attachHoverListener&&(e.addEventListener("mouseover",this.handleHoverOnItem),e.addEventListener("mouseout",this.handleHoverOffItem))}),this.positionMenuOverlay(),this.checkMenuOverflow(),this.currentItem&&("false"===this.currentItem.getAttribute("data-ecl-menu-item-visible")?this.btnNext.classList.add("ecl-menu__item--current"):this.btnPrevious.classList.add("ecl-menu__item--current")),this.focusTrap=ce(this.element,{clickOutsideDeactivates:!0,onActivate:()=>this.element.classList.add("trap-is-active"),onDeactivate:()=>this.element.classList.remove("trap-is-active")}),"rtl"===this.direction&&this.element.classList.add("ecl-menu--rtl"),setTimeout(()=>{this.element.classList.add("ecl-menu--transition")},500),this.element.setAttribute("data-ecl-auto-initialized","true"),ECL.components.set(this.element,this)}on(e,t){this.eventManager.on(e,t)}trigger(e,t){this.eventManager.trigger(e,t)}destroy(){this.attachClickListener&&(this.open&&this.open.removeEventListener("click",this.handleClickOnToggle),this.close&&this.close.removeEventListener("click",this.handleClickOnClose),this.back&&this.back.removeEventListener("click",this.handleClickOnBack),this.btnPrevious&&this.btnPrevious.removeEventListener("click",this.handleClickOnPreviousItems),this.btnNext&&this.btnNext.removeEventListener("click",this.handleClickOnNextItems),this.attachClickListener&&document.removeEventListener("click",this.handleClickGlobal)),this.attachKeyListener&&this.carets&&this.carets.forEach(e=>{e.removeEventListener("keyup",this.handleKeyboard)}),this.items&&this.isDesktop&&this.items.forEach(e=>{e.hasAttribute("data-ecl-has-children")&&this.attachHoverListener&&(e.removeEventListener("mouseover",this.handleHoverOnItem),e.removeEventListener("mouseout",this.handleHoverOffItem))}),this.links&&this.links.forEach(e=>{this.attachFocusListener&&(e.removeEventListener("focusin",this.closeOpenDropdown),e.removeEventListener("focusin",this.handleFocusIn)),this.attachKeyListener&&e.removeEventListener("keyup",this.handleKeyboard)}),this.carets&&this.carets.forEach(e=>{this.attachFocusListener&&e.removeEventListener("focusin",this.handleFocusIn),this.attachKeyListener&&e.removeEventListener("keyup",this.handleKeyboard),this.attachClickListener&&e.removeEventListener("click",this.handleClickOnCaret)}),this.subItems&&this.subItems.forEach(e=>{var t=c(".ecl-menu__sublink",e);this.attachKeyListener&&t&&t.removeEventListener("keyup",this.handleKeyboard)}),this.attachKeyListener&&document.removeEventListener("keyup",this.handleKeyboardGlobal),this.attachResizeListener&&window.removeEventListener("resize",this.handleResize),this.element&&(this.element.removeAttribute("data-ecl-auto-initialized"),ECL.components.delete(this.element))}disableScroll(){document.body.classList.add("no-scroll")}enableScroll(){document.body.classList.remove("no-scroll")}useDesktopDisplay(){var e=Ke.getParser(window.navigator.userAgent),t="mobile"===e.getPlatformType(),i="tablet"===e.getPlatformType();return!(t&&window.innerWidth<this.breakpointTablet)&&(i?(this.element.classList.add("ecl-menu--forced-mobile"),!1):!(window.innerWidth<this.breakpointDesktop)&&(this.element.classList.remove("ecl-menu--forced-mobile"),!0))}handleResize(){window.innerWidth!==this.windowWidth&&(document.documentElement.scrollTop=0,document.body.scrollTop=0,this.element.classList.remove("ecl-menu--transition"),"rtl"===this.direction?this.element.classList.add("ecl-menu--rtl"):this.element.classList.remove("ecl-menu--rtl"),clearTimeout(this.resizeTimer),this.resizeTimer=setTimeout(()=>{this.element.classList.remove("ecl-menu--forced-mobile"),this.isDesktop=this.useDesktopDisplay(),this.isDesktop&&this.focusTrap.deactivate(),this.totalItemsWidth=0,this.items&&this.items.forEach(e=>{this.checkMenuItem(e),this.totalItemsWidth+=e.offsetWidth}),this.checkMenuOverflow(),this.positionMenuOverlay(),this.element.classList.add("ecl-menu--transition"),this.windowWidth=window.innerWidth},200))}positionMenuOverlay(){var e=c(".ecl-menu__overlay",this.element);this.isDesktop?(this.enableScroll(),this.inner&&(this.inner.style.top=""),e&&(e.style.top="")):(this.isOpen&&this.disableScroll(),setTimeout(()=>{var t=c(".ecl-site-header__header",document);if(t){var i=t.getBoundingClientRect(),s=Math.round(i.bottom);e&&(e.style.top=s+"px"),this.inner&&(this.inner.style.top=s+"px")}},500))}checkMenuOverflow(){if(this.itemsList||(this.itemsList=c(".ecl-menu__list",this.element)),this.itemsList&&this.inner&&this.btnNext&&this.btnPrevious&&this.items){if(this.hasOverflow=this.totalItemsWidth>this.inner.offsetWidth+16,!this.hasOverflow||!this.isDesktop)return this.btnPrevious&&(this.btnPrevious.style.display="none"),this.btnNext&&(this.btnNext.style.display="none"),this.itemsList&&(this.itemsList.style.left="0"),this.inner&&this.inner.classList.remove("ecl-menu__inner--has-overflow"),this.offsetLeft=0,this.totalItemsWidth=0,void(this.lastVisibleItem=null);this.inner&&this.inner.classList.add("ecl-menu__inner--has-overflow"),this.items&&this.items.forEach(e=>{e.removeAttribute("data-ecl-menu-item-visible")}),0===this.offsetLeft?(this.btnNext.style.display="flex","rtl"===this.direction?this.items.every(e=>e.getBoundingClientRect().left<this.itemsList.getBoundingClientRect().left?(this.lastVisibleItem=e,!1):(e.setAttribute("data-ecl-menu-item-visible",!0),!0)):this.items.every(e=>e.getBoundingClientRect().right>this.itemsList.getBoundingClientRect().right?(this.lastVisibleItem=e,!1):(e.setAttribute("data-ecl-menu-item-visible",!0),!0))):"rtl"===this.direction?this.items.forEach(e=>{e.getBoundingClientRect().right<=this.inner.getBoundingClientRect().right&&e.setAttribute("data-ecl-menu-item-visible",!0)}):this.items.forEach(e=>{e.getBoundingClientRect().left>=this.inner.getBoundingClientRect().left&&e.setAttribute("data-ecl-menu-item-visible",!0)})}}checkMenuItem(e){var t=c(this.linkSelector,e);if(e.classList.contains("ecl-menu__item--current")&&(this.currentItem=e),this.isDesktop){if(!(this.maxLines<1)){e.style.alignItems="flex-start";for(var i=t.offsetWidth,s=window.getComputedStyle(t),n=parseInt(s.lineHeight,10)*this.maxLines+parseInt(s.paddingTop,10)+parseInt(s.paddingBottom,10);t.offsetHeight>n&&(t.style.width=(i+=1)+"px",!(i>1e3)););e.style.alignItems="unset"}}else t.style.width="auto"}checkMegaMenu(e){var t=c(this.megaSelector,e);if(t&&this.inner){var i=h(this.subItemSelector,t);if(i.length<5)e.classList.add("ecl-menu__item--col1");else if(i.length<9)e.classList.add("ecl-menu__item--col2");else{if(!(i.length<13))return e.classList.add("ecl-menu__item--full"),void("rtl"===this.direction?t.style.right=this.offsetLeft+"px":t.style.left=this.offsetLeft+"px");e.classList.add("ecl-menu__item--col3")}var s=t.getBoundingClientRect(),n=this.inner.getBoundingClientRect(),a=e.getBoundingClientRect(),r=s.width,l=n.width;a.left-n.left+r>l?t.classList.add("ecl-menu__mega--rtl"):t.classList.remove("ecl-menu__mega--rtl")}}handleKeyboard(e){var t=e.target,i=t.classList,s=this.element.getAttribute("data-expanded"),n=t.closest(this.itemSelector);if("Escape"!==e.key&&"Esc"!==e.key){if(i.contains("ecl-menu__button-caret")&&"false"===s&&"ArrowDown"===e.key){e.preventDefault();var a=c(".ecl-menu__sublink:first-of-type",n);if(a)return this.handleHoverOnItem(e),void a.focus()}if(i.contains("ecl-menu__link")||i.contains("ecl-menu__button-caret")){if("ArrowLeft"===e.key||"ArrowUp"===e.key){e.preventDefault();var r=t.previousSibling;if(r&&r.classList.contains("ecl-menu__link"))return void r.focus();if(r=t.parentElement.previousSibling){var l=r.classList.contains("ecl-menu__item--has-children")?".ecl-menu__button-caret":".ecl-menu__link",o=c(l,r);if(o)return void o.focus()}}if("ArrowRight"===e.key||"ArrowDown"===e.key){e.preventDefault();var h=t.nextSibling;if(h&&h.classList.contains("ecl-menu__button-caret"))return void h.focus();if(h=t.parentElement.nextSibling){var d=c(".ecl-menu__link",h);d&&d.focus()}}}if(i.contains("ecl-menu__sublink")){if("ArrowDown"===e.key){var u=t.parentElement.nextSibling;if(u){var m=c(".ecl-menu__sublink",u);if(m)return void m.focus()}}if("ArrowUp"===e.key){var p=t.parentElement.previousSibling;if(p){var v=c(".ecl-menu__sublink",p);v&&v.focus()}else{var g=c(this.itemSelector+'[aria-expanded="true"] '+this.caretSelector,this.element);g&&g.focus()}}}}else if(document.activeElement===t&&t.blur(),!s){var b=c(".ecl-menu__button-caret",n);b&&b.focus(),this.closeOpenDropdown()}}handleKeyboardGlobal(e){var t=this.element.getAttribute("data-expanded");"Escape"!==e.key&&"Esc"!==e.key||(t&&this.handleClickOnClose(),this.items.forEach(e=>{e.setAttribute("aria-expanded","false")}),this.carets.forEach(e=>{e.setAttribute("aria-expanded","false")}))}handleClickOnOpen(e){e.preventDefault(),this.element.setAttribute("data-expanded",!0),this.inner.setAttribute("aria-hidden","false"),this.disableScroll(),this.open.setAttribute("aria-expanded","true"),this.isOpen=!0,this.focusTrap.activate();var t=this.element.getAttribute(this.labelCloseAttribute);return this.toggleLabel&&t&&(this.toggleLabel.innerHTML=t),this.links.length>0&&this.links[0].focus(),this.trigger("onOpen",e),this}handleClickOnClose(e){this.element.removeAttribute("data-expanded"),this.inner.classList.remove("ecl-menu__inner--expanded"),this.inner.setAttribute("aria-hidden","true"),this.open.setAttribute("aria-expanded","false"),this.items.forEach(e=>{e.classList.remove("ecl-menu__item--expanded"),e.setAttribute("aria-expanded","false")});var t=this.element.getAttribute(this.labelOpenAttribute);return this.toggleLabel&&t&&(this.toggleLabel.innerHTML=t),this.enableScroll(),this.focusTrap.deactivate(),this.isOpen=!1,this.trigger("onClose",e),this}handleClickOnToggle(e){e.preventDefault(),this.isOpen?this.handleClickOnClose(e):this.handleClickOnOpen(e)}handleClickOnBack(){if(this.inner.classList.remove("ecl-menu__inner--expanded"),this.items.forEach(e=>{e.classList.remove("ecl-menu__item--expanded"),e.setAttribute("aria-expanded","false")}),this.backItem){var e=c(this.caretSelector,this.backItem);e&&e.focus()}return this}handleClickOnPreviousItems(){this.itemsList&&this.btnNext&&(this.offsetLeft=0,"rtl"===this.direction?(this.itemsList.style.right="0",this.itemsList.style.left="auto"):(this.itemsList.style.left="0",this.itemsList.style.right="auto"),this.btnPrevious.style.display="none",this.btnNext.style.display="flex",this.items&&this.items.forEach(e=>{this.checkMenuItem(e),e.toggleAttribute("data-ecl-menu-item-visible")}))}handleClickOnNextItems(){this.itemsList&&this.items&&this.btnPrevious&&this.lastVisibleItem&&(this.btnPrevious.style.display="flex",this.btnNext.style.display="none","rtl"===this.direction?(this.offsetLeft=this.itemsList.getBoundingClientRect().right-this.lastVisibleItem.getBoundingClientRect().right-this.btnPrevious.offsetWidth,this.itemsList.style.right="-"+this.offsetLeft+"px",this.itemsList.style.left="auto"):(this.offsetLeft=this.lastVisibleItem.getBoundingClientRect().left-this.itemsList.getBoundingClientRect().left-this.btnPrevious.offsetWidth,this.itemsList.style.left="-"+this.offsetLeft+"px",this.itemsList.style.right="auto"),this.items&&this.items.forEach(e=>{this.checkMenuItem(e),e.toggleAttribute("data-ecl-menu-item-visible")}))}handleClickOnCaret(e){var t=this.element.getAttribute("data-expanded"),i=e.target.closest(this.itemSelector);if(t){this.inner.classList.add("ecl-menu__inner--expanded"),this.items.forEach(e=>{e===i?(e.classList.add("ecl-menu__item--expanded"),e.setAttribute("aria-expanded","true"),this.backItem=e):(e.classList.remove("ecl-menu__item--expanded"),e.setAttribute("aria-expanded","false"))}),this.checkMegaMenu(i);var s=c(".ecl-menu__subitem:first-of-type .ecl-menu__sublink",i);s&&s.focus(),this.ignorehover=!1}else"true"===i.getAttribute("aria-expanded")?this.closeItem(e):this.openItem(e)}openItem(e){var t=e.target.closest(this.itemSelector);this.hasOverflow&&!t.hasAttribute("data-ecl-menu-item-visible")||(this.items.forEach(e=>{var i=c(this.caretSelector,e);e===t?(e.setAttribute("aria-expanded","true"),i&&i.setAttribute("aria-expanded","true")):(e.setAttribute("aria-expanded","false"),i&&(i.setAttribute("aria-expanded","false"),i.blur()))}),this.checkMegaMenu(t))}closeItem(e){var t=e.target.closest(this.itemSelector);t.setAttribute("aria-expanded","false");var i=c(this.caretSelector,t);return i&&i.setAttribute("aria-expanded","false"),this}handleTouchOnCaret(){this.ignorehover=!0}handleHoverOnItem(e){this.ignorehover||this.openItem(e)}handleHoverOffItem(e){this.ignorehover||this.closeItem(e)}closeOpenDropdown(){var e=c(this.itemSelector+"[aria-expanded='true']",this.element);if(e){e.setAttribute("aria-expanded","false");var t=c(this.caretSelector,e);t&&t.setAttribute("aria-expanded","false")}}handleFocusIn(e){var t=e.target;this.isDesktop&&this.hasOverflow&&(t.closest("[data-ecl-menu-item]").hasAttribute("data-ecl-menu-item-visible")||(0===this.offsetLeft?this.handleClickOnNextItems():this.handleClickOnPreviousItems()))}handleClickGlobal(e){this.isOpen&&(this.inner.contains(e.target)||this.open.contains(e.target)||this.handleClickOnClose(e))}}class Ve{static autoInit(e,t){var i=(void 0===t?{}:t).MODAL,s=new Ve(e,void 0===i?{}:i);return s.init(),e.ECLModal=s,s}constructor(e,t){var i=void 0===t?{}:t,s=i.toggleSelector,n=void 0===s?"":s,a=i.closeSelector,r=void 0===a?"[data-ecl-modal-close]":a,l=i.scrollSelector,o=void 0===l?"[data-ecl-modal-scroll]":l,h=i.attachClickListener,c=void 0===h||h,d=i.attachKeyListener,u=void 0===d||d;if(!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");this.element=e,this.toggleSelector=n,this.closeSelector=r,this.scrollSelector=o,this.attachClickListener=c,this.attachKeyListener=u,this.toggle=null,this.close=null,this.scroll=null,this.focusTrap=null,this.previousOverflow=null,this.openModal=this.openModal.bind(this),this.closeModal=this.closeModal.bind(this),this.handleClickOnToggle=this.handleClickOnToggle.bind(this),this.handleKeyboardGlobal=this.handleKeyboardGlobal.bind(this)}init(){if(!ECL)throw new TypeError("Called init but ECL is not present");ECL.components=ECL.components||new Map,this.attachKeyListener&&document.addEventListener("keyup",this.handleKeyboardGlobal),""===this.toggleSelector&&(this.toggleSelector="#"+this.element.getAttribute("data-ecl-modal-toggle")),this.toggle=document.querySelector(this.toggleSelector),this.toggle&&(this.toggle.setAttribute("aria-controls",this.element.id),this.toggle.getAttribute("aria-haspopup")||this.toggle.setAttribute("aria-haspopup","dialog")),this.close=h(this.closeSelector,this.element),this.scroll=c(this.scrollSelector,this.element),this.focusTrap=ce(this.element),this.isDialogSupported=!0,window.HTMLDialogElement||(this.isDialogSupported=!1),this.toggle&&this.attachClickListener&&this.toggle.addEventListener("click",this.handleClickOnToggle),this.close&&this.attachClickListener&&this.close.forEach(e=>{e.addEventListener("click",this.closeModal)}),this.element.setAttribute("data-ecl-auto-initialized","true"),ECL.components.set(this.element,this)}destroy(){this.toggle&&this.attachClickListener&&this.toggle.removeEventListener("click",this.handleClickOnToggle),this.attachKeyListener&&document.removeEventListener("keyup",this.handleKeyboardGlobal),this.close&&this.attachClickListener&&this.close.forEach(e=>{e.removeEventListener("click",this.closeModal)}),this.element.removeAttribute("data-ecl-auto-initialized"),ECL.components.delete(this.element)}checkScroll(){this.scroll&&(this.scroll.parentNode.classList.remove("ecl-modal__body--has-scroll"),this.scroll.scrollHeight>this.scroll.clientHeight&&this.scroll.parentNode.classList.add("ecl-modal__body--has-scroll"))}handleClickOnToggle(e){e.preventDefault(),"true"===this.toggle.getAttribute("aria-expanded")?this.closeModal():this.openModal()}openModal(){this.isDialogSupported?this.element.showModal():this.element.setAttribute("open",""),this.previousOverflow=document.body.style.overflow,document.body.style.overflow="hidden",this.checkScroll(),this.focusTrap.activate()}closeModal(){this.isDialogSupported?this.element.close():this.element.removeAttribute("open"),document.body.style.overflow=this.previousOverflow,this.focusTrap.active&&this.focusTrap.deactivate()}handleKeyboardGlobal(e){"Escape"!==e.key&&"Esc"!==e.key||this.closeModal()}}class We{static autoInit(e,t){var i=(void 0===t?{}:t).NEWS_TICKER,s=new We(e,void 0===i?{}:i);return s.init(),e.ECLNewsTicker=s,s}constructor(e,t){var i=void 0===t?{}:t,s=i.playSelector,n=void 0===s?"[data-ecl-news-ticker-play]":s,a=i.pauseSelector,r=void 0===a?"[data-ecl-news-ticker-pause]":a,l=i.prevSelector,o=void 0===l?"[data-ecl-news-ticker-prev]":l,h=i.nextSelector,c=void 0===h?"[data-ecl-news-ticker-next]":h,d=i.containerClass,u=void 0===d?".ecl-news-ticker__container":d,m=i.contentClass,p=void 0===m?".ecl-news-ticker__content":m,v=i.slidesClass,g=void 0===v?".ecl-news-ticker__slides":v,b=i.slideClass,f=void 0===b?".ecl-news-ticker__slide":b,y=i.currentSlideClass,L=void 0===y?".ecl-news-ticker__counter--current":y,k=i.controlsClass,E=void 0===k?".ecl-news-ticker__controls":k,C=i.attachClickListener,w=void 0===C||C,S=i.attachResizeListener,A=void 0===S||S;if(!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");this.element=e,this.playSelector=n,this.pauseSelector=r,this.prevSelector=o,this.nextSelector=c,this.containerClass=u,this.contentClass=p,this.slidesClass=g,this.slideClass=f,this.currentSlideClass=L,this.controlsClass=E,this.attachClickListener=w,this.attachResizeListener=A,this.container=null,this.content=null,this.slides=null,this.btnPlay=null,this.btnPause=null,this.btnPrev=null,this.btnNext=null,this.index=1,this.total=0,this.allowShift=!0,this.autoPlay=null,this.autoPlayInterval=null,this.hoverAutoPlay=null,this.resizeTimer=null,this.cloneFirstSLide=null,this.cloneLastSLide=null,this.resizeTimer=null,this.handleAutoPlay=this.handleAutoPlay.bind(this),this.handleMouseOver=this.handleMouseOver.bind(this),this.handleMouseOut=this.handleMouseOut.bind(this),this.shiftSlide=this.shiftSlide.bind(this),this.checkIndex=this.checkIndex.bind(this),this.moveSlides=this.moveSlides.bind(this),this.handleResize=this.handleResize.bind(this),this.handleFocus=this.handleFocus.bind(this)}init(){if(!ECL)throw new TypeError("Called init but ECL is not present");if(ECL.components=ECL.components||new Map,this.btnPlay=c(this.playSelector,this.element),this.btnPause=c(this.pauseSelector,this.element),this.btnPrev=c(this.prevSelector,this.element),this.btnNext=c(this.nextSelector,this.element),this.slidesContainer=c(this.slidesClass,this.element),this.container=c(this.containerClass,this.element),this.content=c(this.contentClass,this.element),this.controls=c(this.controlsClass,this.element),this.slides=h(this.slideClass,this.element),this.total=this.slides.length,this.total<=1&&this.controls)return this.content.style.height="auto",this.controls.style.display="none",!1;var e=this.slides[0],t=this.slides[this.slides.length-1];return this.cloneFirstSLide=e.cloneNode(!0),this.cloneLastSLide=t.cloneNode(!0),this.slidesContainer.appendChild(this.cloneFirstSLide),this.slidesContainer.insertBefore(this.cloneLastSLide,e),this.slides=h(this.slideClass,this.element),this.handleResize(),this.handleAutoPlay(),this.attachClickListener&&this.btnPlay&&this.btnPause&&(this.btnPlay.addEventListener("click",this.handleAutoPlay),this.btnPause.addEventListener("click",this.handleAutoPlay)),this.attachClickListener&&this.btnNext&&this.btnNext.addEventListener("click",this.shiftSlide.bind(this,1,!0)),this.attachClickListener&&this.btnPrev&&this.btnPrev.addEventListener("click",this.shiftSlide.bind(this,-1,!0)),this.slidesContainer&&(this.slidesContainer.addEventListener("transitionend",this.checkIndex),this.slidesContainer.addEventListener("mouseover",this.handleMouseOver),this.slidesContainer.addEventListener("mouseout",this.handleMouseOut)),this.container&&this.container.addEventListener("focus",this.handleFocus,!0),this.attachResizeListener&&window.addEventListener("resize",this.handleResize),this.element.setAttribute("data-ecl-auto-initialized","true"),ECL.components.set(this.element,this),this}destroy(){this.cloneFirstSLide&&this.cloneLastSLide&&(this.cloneFirstSLide.remove(),this.cloneLastSLide.remove()),this.btnPlay&&this.btnPlay.replaceWith(this.btnPlay.cloneNode(!0)),this.btnPause&&this.btnPause.replaceWith(this.btnPause.cloneNode(!0)),this.btnNext&&this.btnNext.replaceWith(this.btnNext.cloneNode(!0)),this.btnPrev&&this.btnPrev.replaceWith(this.btnPrev.cloneNode(!0)),this.slidesContainer&&(this.slidesContainer.removeEventListener("transitionend",this.checkIndex),this.slidesContainer.removeEventListener("mouseover",this.handleMouseOver),this.slidesContainer.removeEventListener("mouseout",this.handleMouseOut)),this.container&&this.container.removeEventListener("focus",this.handleFocus,!0),this.attachResizeListener&&window.removeEventListener("resize",this.handleResize),this.autoPlayInterval&&(clearInterval(this.autoPlayInterval),this.autoPlay=null),this.element&&(this.element.removeAttribute("data-ecl-auto-initialized"),ECL.components.delete(this.element))}shiftSlide(e,t){this.allowShift&&(this.index=1===e?this.index+1:this.index-1,this.moveSlides(!0)),t&&this.autoPlay&&this.handleAutoPlay(),this.allowShift=!1}moveSlides(e){var t=this.slides[this.index].offsetTop,i=Math.floor(this.slides[this.index].getBoundingClientRect().height);this.content.style.height=i+"px",this.slidesContainer.style.transitionDuration=e?"0.4s":"1ms",this.slidesContainer.style.transform="translate3d(0px, -"+t+"px, 0px)"}checkIndex(){0===this.index&&(this.index=this.total,this.moveSlides(!1)),this.index===this.total+1&&(this.index=1,this.moveSlides(!1)),c(this.currentSlideClass,this.element).textContent=this.index,this.slides&&this.slides.forEach((e,t)=>{var i=c(".ecl-link",e);this.index===t?(e.removeAttribute("inert","true"),i&&i.removeAttribute("tabindex",-1)):(e.setAttribute("inert","true"),i&&i.setAttribute("tabindex",-1))}),this.allowShift=!0}handleAutoPlay(){if(this.autoPlay){clearInterval(this.autoPlayInterval),this.autoPlay=!1;var e=document.activeElement===this.btnPause;this.btnPlay.style.display="flex",this.btnPause.style.display="none",e&&this.btnPlay.focus()}else{this.autoPlayInterval=setInterval(()=>{this.shiftSlide(1)},5e3),this.autoPlay=!0;var t=document.activeElement===this.btnPlay;this.btnPlay.style.display="none",this.btnPause.style.display="flex",t&&this.btnPause.focus()}}handleMouseOver(){return this.hoverAutoPlay=this.autoPlay,this.hoverAutoPlay&&this.handleAutoPlay(),this}handleMouseOut(){return this.hoverAutoPlay&&this.handleAutoPlay(),this}handleResize(){clearTimeout(this.resizeTimer),this.resizeTimer=setTimeout(()=>{this.moveSlides(!1)},100)}handleFocus(e){var t=e.target;return t&&t.contains(document.activeElement)&&this.autoPlay&&this.handleAutoPlay(),this}}class Ue{static autoInit(e,t){var i=(void 0===t?{}:t).NOTIFICATION,s=new Ue(e,void 0===i?{}:i);return s.init(),e.ECLNotification=s,s}constructor(e,t){var i=void 0===t?{}:t,s=i.closeSelector,n=void 0===s?"[data-ecl-notification-close]":s,a=i.attachClickListener,r=void 0===a||a;if(this.supportedEvents=["onClose"],!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");this.element=e,this.eventManager=new u,this.closeSelector=n,this.attachClickListener=r,this.close=null,this.handleClickOnClose=this.handleClickOnClose.bind(this)}init(){if(!ECL)throw new TypeError("Called init but ECL is not present");ECL.components=ECL.components||new Map,this.close=c(this.closeSelector,this.element),this.attachClickListener&&this.close&&this.close.addEventListener("click",this.handleClickOnClose),this.element.setAttribute("data-ecl-auto-initialized","true"),ECL.components.set(this.element,this)}on(e,t){this.eventManager.on(e,t)}trigger(e,t){this.eventManager.trigger(e,t)}destroy(){this.attachClickListener&&this.close&&this.close.removeEventListener("click",this.handleClickOnClose),this.element&&(this.element.removeAttribute("data-ecl-auto-initialized"),ECL.components.delete(this.element))}handleClickOnClose(e){return this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.trigger("onClose",e),this}}class je{static autoInit(e,t){var i=(void 0===t?{}:t).PAGEHEADEREXPANDABLE,s=new je(e,void 0===i?{}:i);return s.init(),e.ECLPageHeaderExpandable=s,s}constructor(e,t){var i=void 0===t?{}:t,s=i.headerSelector,n=void 0===s?"[data-ecl-page-header-expandable-header]":s,a=i.toggleSelector,r=void 0===a?"[data-ecl-page-header-expandable-toggle]":a,l=i.attachClickListener,o=void 0===l||l;if(this.supportedEvents=["onToggle"],!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");this.element=e,this.eventManager=new u,this.toggleSelector=r,this.headerSelector=n,this.attachClickListener=o,this.toggle=null,this.target=null,this.header=null,this.handleClickOnHeader=this.handleClickOnHeader.bind(this),this.handleClickOnToggle=this.handleClickOnToggle.bind(this)}init(){if(!ECL)throw new TypeError("Called init but ECL is not present");if(ECL.components=ECL.components||new Map,this.toggle=c(this.toggleSelector,this.element),this.header=c(this.headerSelector,this.element),this.target=document.querySelector("#"+this.toggle.getAttribute("aria-controls")),!this.target)throw new TypeError("Target has to be provided. (aria-controls)");this.attachClickListener&&this.toggle&&this.toggle.addEventListener("click",this.handleClickOnToggle),this.attachClickListener&&this.header&&this.header.addEventListener("click",this.handleClickOnHeader),this.element.setAttribute("data-ecl-auto-initialized","true"),ECL.components.set(this.element,this)}on(e,t){this.eventManager.on(e,t)}trigger(e,t){this.eventManager.trigger(e,t)}destroy(){this.attachClickListener&&this.toggle&&this.toggle.removeEventListener("click",this.handleClickOnToggle),this.attachClickListener&&this.header&&this.header.removeEventListener("click",this.handleClickOnHeader),this.element&&(this.element.removeAttribute("data-ecl-auto-initialized"),ECL.components.delete(this.element))}handleClickOnHeader(e){e.target.closest(this.toggleSelector+", .ecl-page-header-expandable__header a")||this.handleClickOnToggle(e)}handleClickOnToggle(e){var t="true"===this.toggle.getAttribute("aria-expanded");this.toggle.setAttribute("aria-expanded",t?"false":"true"),this.target.hidden=!!t;var i={expanded:!t,e:e};this.trigger("onToggle",i)}}class qe{static autoInit(e,t){var i=(void 0===t?{}:t).POPOVER,s=new qe(e,void 0===i?{}:i);return s.init(),e.ECLPopover=s,s}constructor(e,t){var i=void 0===t?{}:t,s=i.toggleSelector,n=void 0===s?"[data-ecl-popover-toggle]":s,a=i.closeSelector,r=void 0===a?"[data-ecl-popover-close]":a,l=i.attachClickListener,o=void 0===l||l,h=i.attachKeyListener,c=void 0===h||h;if(this.supportedEvents=["onOpen","onClose"],!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");this.element=e,this.eventManager=new u,this.toggleSelector=n,this.closeSelector=r,this.attachClickListener=o,this.attachKeyListener=c,this.toggle=null,this.close=null,this.target=null,this.container=null,this.resizeTimer=null,this.scrollableParent=null,this.toggleRect=null,this.scrollable=null,this.openPopover=this.openPopover.bind(this),this.closePopover=this.closePopover.bind(this),this.positionPopover=this.positionPopover.bind(this),this.handleClickOnToggle=this.handleClickOnToggle.bind(this),this.handleKeyboardGlobal=this.handleKeyboardGlobal.bind(this),this.handleClickGlobal=this.handleClickGlobal.bind(this),this.checkPosition=this.checkPosition.bind(this),this.resetStyles=this.resetStyles.bind(this),this.getClosestScrollableParent=this.getClosestScrollableParent.bind(this),this.calculateAvailableSpace=this.calculateAvailableSpace.bind(this),this.POPOVER_CLASSES={TOP:"ecl-popover--top",BOTTOM:"ecl-popover--bottom",LEFT:"ecl-popover--left",RIGHT:"ecl-popover--right",PUSH_TOP:"ecl-popover--push-top",PUSH_BOTTOM:"ecl-popover--push-bottom",PUSH_LEFT:"ecl-popover--push-left",PUSH_RIGHT:"ecl-popover--push-right"}}init(){if(!ECL)throw new TypeError("Called init but ECL is not present");if(ECL.components=ECL.components||new Map,this.toggle=c(this.toggleSelector,this.element),this.close=c(this.closeSelector,this.element),this.container=c(".ecl-popover__container",this.element),this.scrollableParent=this.getClosestScrollableParent(this.toggle),this.attachKeyListener&&document.addEventListener("keyup",this.handleKeyboardGlobal),this.attachClickListener&&(document.addEventListener("click",this.handleClickGlobal),this.close&&this.close.addEventListener("click",this.handleClickOnToggle)),this.target=document.querySelector("#"+this.toggle.getAttribute("aria-controls")),!this.target)throw new TypeError("Target has to be provided for popover (aria-controls)");this.scrollable=this.target.firstElementChild,window.addEventListener("resize",this.checkPosition),document.addEventListener("scroll",this.checkPosition),this.attachClickListener&&this.toggle&&this.toggle.addEventListener("click",this.handleClickOnToggle),this.element.setAttribute("data-ecl-auto-initialized","true"),ECL.components.set(this.element,this)}on(e,t){this.eventManager.on(e,t)}trigger(e,t){this.eventManager.trigger(e,t)}destroy(){this.attachClickListener&&this.toggle&&this.toggle.removeEventListener("click",this.handleClickOnToggle),this.attachClickListener&&this.close&&this.close.removeEventListener("click",this.handleClickOnToggle),window.removeEventListener("resize",this.checkPosition),document.removeEventListener("scroll",this.checkPosition),this.attachKeyListener&&document.removeEventListener("keyup",this.handleKeyboardGlobal),this.attachClickListener&&document.removeEventListener("click",this.handleClickGlobal),"true"===this.toggle.getAttribute("aria-expanded")&&this.closePopover(),this.element&&(this.element.removeAttribute("data-ecl-auto-initialized"),ECL.components.delete(this.element))}handleClickOnToggle(e){e.preventDefault(),"true"===this.toggle.getAttribute("aria-expanded")?this.closePopover(e):(this.openPopover(e),this.positionPopover())}openPopover(e){this.toggle.setAttribute("aria-expanded","true"),this.target.hidden=!1,this.trigger("onOpen",{event:e,target:this.target}),this.close&&this.close.focus()}closePopover(e){this.toggle.setAttribute("aria-expanded","false"),this.toggle.focus(),this.resetStyles(),this.target.hidden=!0,this.trigger("onClose",{event:e,target:this.target})}getClosestScrollableParent(e){for(var t=e.parentElement;t;){var i=getComputedStyle(t),s=i.overflowY,n=i.overflowX,a=("auto"===s||"scroll"===s)&&t.scrollHeight>t.clientHeight,r=("auto"===n||"scroll"===n)&&t.scrollWidth>t.clientWidth;if(a||r)return t;t=t.parentElement}return document.body}calculateAvailableSpace(e,t){void 0===t&&(t=null),this.toggleRect=e.getBoundingClientRect();var i=t?t.getBoundingClientRect():{top:0,left:0,right:window.innerWidth,bottom:window.innerHeight},s=i.right-i.left,n=i.bottom-i.top,a=Math.max(0,window.innerHeight-i.bottom),r=Math.max(0,window.innerHeight-this.toggleRect.bottom),l=Math.max(0,r-a),o=Math.max(0,i.top),h=Math.max(0,this.toggleRect.top),c=Math.max(0,h-o),d=Math.max(0,window.innerWidth-i.right),u=Math.max(0,window.innerWidth-this.toggleRect.right),m=Math.max(0,u-d),p=Math.max(0,i.left),v=Math.max(0,this.toggleRect.left);return{containerWidth:s,containerHeight:n,spaceTop:c,spaceBottom:l,spaceLeft:Math.max(0,v-p),spaceRight:m}}resetStyles(){Object.keys(this.POPOVER_CLASSES).forEach(e=>{Object.prototype.hasOwnProperty.call(this.POPOVER_CLASSES,e)&&this.element.classList.remove(this.POPOVER_CLASSES[e])}),this.target.style.setProperty("--ecl-popover-position",""),this.container.style.left="",this.container.style.right="",this.container.style.top="",this.container.style.bottom="",this.container.style.transform="",this.scrollable.style.width=""}positionPopover(){this.resetStyles();var e=this.calculateAvailableSpace(this.toggle,this.scrollableParent),t=e.containerWidth,i=e.spaceTop,s=e.spaceBottom,n=e.spaceLeft,a=e.spaceRight,r="";r=i>s&&i>n&&i>a?"top":s>n&&s>a?"bottom":n>a?"left":"right",this.element.classList.add("ecl-popover--"+r);var l,o=window.getComputedStyle(this.scrollable),h=parseInt(o.getPropertyValue("max-width"),10),c=parseInt(o.getPropertyValue("min-width"),10),d=2*parseInt(o.getPropertyValue("padding-left"),10),u=.9*Math.max(n,a);l=h+d<u||"left"!==r&&"right"!==r&&t>h?h:u<c+d?c:"left"===r||"right"===r?u-d:2*(u-d),this.scrollable.style.width=l+"px",this.handlePushClass(r)}handlePushClass(e){requestAnimationFrame(()=>{var t=this.target.getBoundingClientRect(),i=this.scrollableParent.getBoundingClientRect(),s=i.bottom>window.innerHeight?0:window.innerHeight-i.bottom,n=i.top>window.innerHeight?0:i.top,a=i.left>t.left,r=i.right<t.right,l=t.top<n,o=s>window.innerHeight-t.bottom;"left"===e||"right"===e?(l&&(this.element.classList.add(this.POPOVER_CLASSES.PUSH_TOP),this.container.style.top="-"+Math.round(this.toggleRect.top)+"px",this.container.style.bottom="",this.container.style.transform=""),o&&(this.element.classList.add(this.POPOVER_CLASSES.PUSH_BOTTOM),this.container.style.bottom="-"+(window.innerHeight-this.toggleRect.bottom-s)+"px",this.container.style.top="",this.container.style.transform="")):(a&&(this.element.classList.add(this.POPOVER_CLASSES.PUSH_LEFT),this.container.style.left="-"+(this.toggleRect.left-i.left-8)+"px",this.container.style.right="auto"),r&&(this.element.classList.add(this.POPOVER_CLASSES.PUSH_RIGHT),this.container.style.right="-"+(i.right-this.toggleRect.right-8)+"px",this.container.style.left="auto")),this.handleArrowPosition(e)})}handleArrowPosition(e){var t=this.target.getBoundingClientRect();"left"===e||"right"===e?this.element.classList.contains(this.POPOVER_CLASSES.PUSH_BOTTOM)?this.target.style.setProperty("--ecl-popover-position",Math.round(this.toggleRect.top-t.top+this.toggleRect.height/2)+"px"):this.element.classList.contains(this.POPOVER_CLASSES.PUSH_TOP)&&this.target.style.setProperty("--ecl-popover-position",Math.round(t.top+this.toggleRect.top+this.toggleRect.height/2)+"px"):this.element.classList.contains(this.POPOVER_CLASSES.PUSH_RIGHT)?this.target.style.setProperty("--ecl-popover-position",Math.round(t.right-(this.toggleRect.right-this.toggleRect.width/2))+"px"):this.element.classList.contains(this.POPOVER_CLASSES.PUSH_LEFT)&&this.target.style.setProperty("--ecl-popover-position",Math.round(this.toggleRect.left-t.left+this.toggleRect.width/2)+"px")}checkPosition(){clearTimeout(this.resizeTimer),this.resizeTimer=setTimeout(()=>{"true"===this.toggle.getAttribute("aria-expanded")&&this.positionPopover()},200)}handleKeyboardGlobal(e){this.target&&("Escape"!==e.key&&"Esc"!==e.key||"true"===this.toggle.getAttribute("aria-expanded")&&this.closePopover(e))}handleClickGlobal(e){this.target&&"true"===this.toggle.getAttribute("aria-expanded")&&(this.target.contains(e.target)||this.toggle.contains(e.target)||this.closePopover(e))}}class Ye{static autoInit(e,t){var i=(void 0===t?{}:t).RANGE,s=new Ye(e,void 0===i?{}:i);return s.init(),e.ECLRange=s,s}constructor(e,t){var i=void 0===t?{}:t,s=i.rangeInputSelector,n=void 0===s?"[data-ecl-range-input]":s,a=i.currentValueSelector,r=void 0===a?"[data-ecl-range-value-current]":a,l=i.bubbleSelector,o=void 0===l?"[data-ecl-range-bubble]":l,h=i.containerSelector,c=void 0===h?"[data-ecl-range-container]":h,d=i.attachChangeListener,u=void 0===d||d,m=i.attachHoverListener,p=void 0===m||m;if(!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");this.element=e,this.rangeInputSelector=n,this.currentValueSelector=r,this.bubbleSelector=o,this.containerSelector=c,this.attachChangeListener=u,this.attachHoverListener=p,this.rangeInput=null,this.currentValue=null,this.bubble=null,this.direction="ltr",this.placeBubble=this.placeBubble.bind(this),this.handleChange=this.handleChange.bind(this),this.handleHoverOn=this.handleHoverOn.bind(this),this.handleHoverOff=this.handleHoverOff.bind(this)}init(){if(!ECL)throw new TypeError("Called init but ECL is not present");ECL.components=ECL.components||new Map,this.rangeInput=c(this.rangeInputSelector,this.element),this.currentValue=h(this.currentValueSelector,this.element),this.bubble=c(this.bubbleSelector,this.element),this.rangeInput&&this.currentValue&&(this.currentValue.forEach(e=>{e.innerHTML=this.rangeInput.value}),this.attachChangeListener&&this.rangeInput.addEventListener("input",this.handleChange),this.attachHoverListener&&(this.rangeInput.addEventListener("mouseover",this.handleHoverOn),this.rangeInput.addEventListener("mouseout",this.handleHoverOff))),this.direction=getComputedStyle(this.element).direction,this.element.setAttribute("data-ecl-auto-initialized","true"),ECL.components.set(this.element,this)}destroy(){this.rangeInput&&this.currentValue&&(this.attachChangeListener&&this.rangeInput.removeEventListener("input",this.handleChange),this.attachHoverListener&&(this.rangeInput.removeEventListener("mouseover",this.handleHoverOn),this.rangeInput.removeEventListener("mouseout",this.handleHoverOff))),this.element&&(this.element.removeAttribute("data-ecl-auto-initialized"),ECL.components.delete(this.element))}placeBubble(){var e=0,t=this.bubble.offsetWidth/2,i=this.rangeInput.getBoundingClientRect(),s=this.rangeInput.closest(this.containerSelector);s&&(e=s.getBoundingClientRect().left);var n=i.width/2,a=(this.rangeInput.value-this.rangeInput.min)/(this.rangeInput.max-this.rangeInput.min)*i.width,r=8*((a-n)/n),l=i.left-e,o=0;o="rtl"===this.direction?l+(i.width-a)-t+r:l+a-t-r,this.bubble.style.left=o+"px"}handleHoverOn(){this.bubble.classList.add("ecl-range__bubble--visible"),this.placeBubble()}handleHoverOff(){this.bubble.classList.remove("ecl-range__bubble--visible")}handleChange(){this.currentValue.forEach(e=>{e.innerHTML=this.rangeInput.value}),this.placeBubble()}}var Xe=n("createSvgIcon"),Qe=n("createCheckbox"),Je=n("createSelectIcon"),Ze=n("checkCheckbox"),$e=n("generateRandomId"),et=n("updateSelectionsCount"),tt=n("handleOptgroup"),it=n("updateCurrentValue"),st=n("moveFocus");class nt{static autoInit(e,t){void 0===t&&(t={});var i=new nt(e,t);return i.init(),e.ECLSelect=i,i}constructor(e,t){var i=void 0===t?{}:t,s=i.defaultText,n=void 0===s?"":s,a=i.searchText,r=void 0===a?"":a,l=i.selectAllText,o=void 0===l?"":l,h=i.noResultsText,d=void 0===h?"":h,m=i.selectMultipleSelector,p=void 0===m?"[data-ecl-select-multiple]":m,v=i.defaultTextAttribute,g=void 0===v?"data-ecl-select-default":v,b=i.searchTextAttribute,f=void 0===b?"data-ecl-select-search":b,y=i.selectAllTextAttribute,L=void 0===y?"data-ecl-select-all":y,k=i.noResultsTextAttribute,E=void 0===k?"data-ecl-select-no-results":k,C=i.closeLabelAttribute,w=void 0===C?"data-ecl-select-close":C,S=i.clearAllLabelAttribute,A=void 0===S?"data-ecl-select-clear-all":S,_=i.selectMultiplesSelectionCountSelector,x=void 0===_?"ecl-select-multiple-selections-counter":_,O=i.closeButtonLabel,T=void 0===O?"":O,M=i.clearAllButtonLabel,P=void 0===M?"":M;if(Object.defineProperty(this,st,{value:ot}),Object.defineProperty(this,it,{value:lt}),Object.defineProperty(this,tt,{value:rt}),Object.defineProperty(this,et,{value:at}),this.supportedEvents=["onToggle","onSelection","onSelectAll","onReset","onSearch"],!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");this.element=e,this.eventManager=new u,this.selectMultipleSelector=p,this.selectMultiplesSelectionCountSelector=x,this.defaultTextAttribute=g,this.searchTextAttribute=f,this.selectAllTextAttribute=L,this.noResultsTextAttribute=E,this.defaultText=n,this.searchText=r,this.selectAllText=o,this.noResultsText=d,this.clearAllButtonLabel=P,this.closeButtonLabel=T,this.closeLabelAttribute=w,this.clearAllLabelAttribute=A,this.input=null,this.search=null,this.checkboxes=null,this.select=null,this.selectAll=null,this.selectIcon=null,this.textDefault=null,this.textSearch=null,this.textSelectAll=null,this.textNoResults=null,this.selectMultiple=null,this.inputContainer=null,this.optionsContainer=null,this.visibleOptions=null,this.searchContainer=null,this.countSelections=null,this.form=null,this.formGroup=null,this.label=null,this.helper=null,this.invalid=null,this.selectMultipleId=null,this.multiple=c(this.selectMultipleSelector,this.element.parentNode)||!1,this.isOpen=!1,this.handleToggle=this.handleToggle.bind(this),this.handleClickOption=this.handleClickOption.bind(this),this.handleClickSelectAll=this.handleClickSelectAll.bind(this),this.handleEsc=this.handleEsc.bind(this),this.handleFocusout=this.handleFocusout.bind(this),this.handleSearch=this.handleSearch.bind(this),this.handleClickOutside=this.handleClickOutside.bind(this),this.resetForm=this.resetForm.bind(this),this.handleClickOnClearAll=this.handleClickOnClearAll.bind(this),this.handleKeyboardOnSelect=this.handleKeyboardOnSelect.bind(this),this.handleKeyboardOnSelectAll=this.handleKeyboardOnSelectAll.bind(this),this.handleKeyboardOnSearch=this.handleKeyboardOnSearch.bind(this),this.handleKeyboardOnOptions=this.handleKeyboardOnOptions.bind(this),this.handleKeyboardOnOption=this.handleKeyboardOnOption.bind(this),this.handleKeyboardOnClearAll=this.handleKeyboardOnClearAll.bind(this),this.handleKeyboardOnClose=this.handleKeyboardOnClose.bind(this),this.setCurrentValue=this.setCurrentValue.bind(this),this.update=this.update.bind(this)}init(){if(!ECL)throw new TypeError("Called init but ECL is not present");if(ECL.components=ECL.components||new Map,this.select=this.element,this.multiple){var e=Array.from(this.select.parentElement.classList);this.textDefault=this.defaultText||this.element.getAttribute(this.defaultTextAttribute),this.textSearch=this.searchText||this.element.getAttribute(this.searchTextAttribute),this.textSelectAll=this.selectAllText||this.element.getAttribute(this.selectAllTextAttribute),this.textNoResults=this.noResultsText||this.element.getAttribute(this.noResultsTextAttribute),this.closeButtonLabel=this.closeButtonLabel||this.element.getAttribute(this.closeLabelAttribute),this.clearAllButtonLabel=this.clearAllButtonLabel||this.element.getAttribute(this.clearAllLabelAttribute),this.selectMultipleId=this.element.id||"select-multiple-"+i(nt,$e)[$e](4),this.element.id=this.selectMultipleId,this.formGroup=this.element.closest(".ecl-form-group"),this.formGroup&&(this.label=c(".ecl-form-label",this.formGroup),this.helper=c(".ecl-help-block",this.formGroup),this.invalid=c(".ecl-feedback-message",this.formGroup)),this.select.setAttribute("tabindex","-1"),this.selectMultiple=document.createElement("div"),this.selectMultiple.classList.add("ecl-select__multiple"),this.selectMultiple.addEventListener("focusout",this.handleFocusout),this.inputContainer=document.createElement("div"),this.inputContainer.classList.add(...e),this.selectMultiple.appendChild(this.inputContainer),this.input=document.createElement("button"),this.input.classList.add("ecl-select","ecl-select__multiple-toggle"),this.input.setAttribute("type","button"),this.input.setAttribute("aria-controls",this.selectMultipleId+"-dropdown"),this.input.setAttribute("id",this.selectMultipleId+"-toggle"),this.input.setAttribute("aria-expanded",!1),e.find(e=>e.includes("disabled"))&&this.input.setAttribute("disabled",!0),this.label&&this.input.setAttribute("aria-labelledby",this.label.id+" "+this.input.id);var t="";if(this.helper&&(t=this.helper.id),this.invalid&&(t=t?t+" "+this.invalid.id:this.invalid.id),t&&this.input.setAttribute("aria-describedby",t),this.input.addEventListener("keydown",this.handleKeyboardOnSelect),this.input.addEventListener("click",this.handleToggle),this.selectionCount=document.createElement("div"),this.selectionCount.classList.add(this.selectMultiplesSelectionCountSelector),this.selectionCountText=document.createElement("span"),this.selectionCount.appendChild(this.selectionCountText),this.inputContainer.appendChild(this.selectionCount),this.inputContainer.appendChild(this.input),this.inputContainer.appendChild(i(nt,Je)[Je]()),this.searchContainer=document.createElement("div"),this.searchContainer.style.display="none",this.searchContainer.classList.add("ecl-select__multiple-dropdown",...e),this.searchContainer.setAttribute("id",this.selectMultipleId+"-dropdown"),this.selectMultiple.appendChild(this.searchContainer),this.textSearch&&(this.search=document.createElement("input"),this.search.classList.add("ecl-text-input"),this.search.setAttribute("type","search"),this.search.setAttribute("placeholder",this.textSearch||""),this.search.addEventListener("keyup",this.handleSearch),this.search.addEventListener("search",this.handleSearch),this.search.addEventListener("keydown",this.handleKeyboardOnSearch),this.searchContainer.appendChild(this.search)),this.textSelectAll){var s=Array.from(this.select.options).filter(e=>!e.disabled).length;this.selectAll=i(nt,Qe)[Qe]({id:"all-"+i(nt,$e)[$e](4),text:this.textSelectAll+" ("+s+")",extraClass:"ecl-select__multiple-all"},this.selectMultipleId),this.selectAll.addEventListener("click",this.handleClickSelectAll),this.selectAll.addEventListener("keypress",this.handleClickSelectAll),this.selectAll.addEventListener("change",this.handleClickSelectAll),this.searchContainer.appendChild(this.selectAll)}this.optionsContainer=document.createElement("div"),this.optionsContainer.classList.add("ecl-select__multiple-options"),this.optionsContainer.setAttribute("aria-live","polite"),this.searchContainer.appendChild(this.optionsContainer),(this.clearAllButtonLabel||this.closeButtonLabel)&&(this.dropDownToolbar=document.createElement("div"),this.dropDownToolbar.classList.add("ecl-select-multiple-toolbar"),this.closeButtonLabel&&(this.closeButton=document.createElement("button"),this.closeButton.textContent=this.closeButtonLabel,this.closeButton.classList.add("ecl-button","ecl-button--primary"),this.closeButton.addEventListener("click",this.handleEsc),this.closeButton.addEventListener("keydown",this.handleKeyboardOnClose),this.dropDownToolbar&&(this.dropDownToolbar.appendChild(this.closeButton),this.searchContainer.appendChild(this.dropDownToolbar),this.dropDownToolbar.style.display="none")),this.clearAllButtonLabel&&(this.clearAllButton=document.createElement("button"),this.clearAllButton.textContent=this.clearAllButtonLabel,this.clearAllButton.classList.add("ecl-button","ecl-button--secondary"),this.clearAllButton.addEventListener("click",this.handleClickOnClearAll),this.clearAllButton.addEventListener("keydown",this.handleKeyboardOnClearAll),this.dropDownToolbar.appendChild(this.clearAllButton))),this.selectAll&&this.selectAll.addEventListener("keydown",this.handleKeyboardOnSelectAll),this.optionsContainer.addEventListener("keydown",this.handleKeyboardOnOptions),this.select.options&&this.select.options.length>0?this.checkboxes=Array.from(this.select.options).map(e=>{var t="",s="";if("OPTGROUP"===e.parentNode.tagName)if(c('fieldset[data-ecl-multiple-group="'+e.parentNode.getAttribute("label")+'"]',this.optionsContainer))t=c('fieldset[data-ecl-multiple-group="'+e.parentNode.getAttribute("label")+'"]',this.optionsContainer);else{t=document.createElement("fieldset");var n=document.createElement("legend");n.classList.add("ecl-select__multiple-group__title"),n.innerHTML=e.parentNode.getAttribute("label"),t.appendChild(n),t.setAttribute("data-ecl-multiple-group",e.parentNode.getAttribute("label")),t.classList.add("ecl-select__multiple-group"),this.optionsContainer.appendChild(t)}return e.selected&&(i(this,et)[et](),this.dropDownToolbar&&(this.dropDownToolbar.style.display="flex")),(s=i(nt,Qe)[Qe]({id:e.value,text:e.text,disabled:e.disabled,selected:e.selected},this.selectMultipleId)).setAttribute("data-visible",!0),s.classList.contains("ecl-checkbox--disabled")||(s.addEventListener("click",this.handleClickOption),s.addEventListener("keydown",this.handleKeyboardOnOption)),t?t.appendChild(s):this.optionsContainer.appendChild(s),s}):this.checkboxes=[],this.visibleOptions=this.checkboxes,this.select.parentNode.parentNode.insertBefore(this.selectMultiple,this.select.parentNode.nextSibling),this.select.parentNode.classList.add("ecl-select__container--hidden"),i(this,it)[it](),this.form=this.element.closest("form"),this.form&&this.form.addEventListener("reset",this.resetForm),document.addEventListener("click",this.handleClickOutside)}else i(this,tt)[tt](),this.select.addEventListener("keydown",this.handleKeyboardOnSelect);this.element.setAttribute("data-ecl-auto-initialized","true"),ECL.components.set(this.element,this)}update(){i(this,it)[it](),i(this,et)[et]()}setCurrentValue(e,t){if(void 0===t&&(t="replace"),"replace"!==t&&"add"!==t)throw new Error('Invalid operation mode. Use "replace" or "add".');var i="string"==typeof e?[e]:e;Array.from(this.select.options).forEach(e=>{"replace"===t&&(e.selected=!1),(i.includes(e.value)||i.includes(e.label))&&(e.selected=!0)}),this.update()}handleToggle(e){if(e&&e.preventDefault(),this.input.classList.toggle("ecl-select--active"),"none"===this.searchContainer.style.display?(this.searchContainer.style.display="block",this.input.setAttribute("aria-expanded",!0),this.isOpen=!0):(this.searchContainer.style.display="none",this.input.setAttribute("aria-expanded",!1),this.isOpen=!1),e){var t={opened:this.isOpen,e:e};this.trigger("onToggle",t)}}on(e,t){this.eventManager.on(e,t)}trigger(e,t){this.eventManager.trigger(e,t)}destroy(){this.input.removeEventListener("keydown",this.handleKeyboardOnSelect),this.multiple&&(document.removeEventListener("click",this.handleClickOutside),this.selectMultiple.removeEventListener("focusout",this.handleFocusout),this.input.removeEventListener("click",this.handleToggle),this.search&&(this.search.removeEventListener("keyup",this.handleSearch),this.search.removeEventListener("keydown",this.handleKeyboardOnSearch)),this.selectAll&&(this.selectAll.removeEventListener("click",this.handleClickSelectAll),this.selectAll.removeEventListener("keypress",this.handleClickSelectAll),this.selectAll.removeEventListener("keydown",this.handleKeyboardOnSelectAll)),this.optionsContainer.removeEventListener("keydown",this.handleKeyboardOnOptions),this.checkboxes.forEach(e=>{e.removeEventListener("click",this.handleClickSelectAll),e.removeEventListener("click",this.handleClickOption),e.removeEventListener("keydown",this.handleKeyboardOnOption)}),this.closeButton&&(this.closeButton.removeEventListener("click",this.handleEsc),this.closeButton.removeEventListener("keydown",this.handleKeyboardOnClose)),this.clearAllButton&&(this.clearAllButton.removeEventListener("click",this.handleClickOnClearAll),this.clearAllButton.removeEventListener("keydown",this.handleKeyboardOnClearAll)),this.selectMultiple&&this.selectMultiple.remove(),this.select.parentNode.classList.remove("ecl-select__container--hidden")),this.element&&(this.element.removeAttribute("data-ecl-auto-initialized"),ECL.components.delete(this.element))}handleClickOption(e){e.preventDefault(),i(nt,Ze)[Ze](e);var t=e.target.closest(".ecl-checkbox");Array.from(this.select.options).forEach(e=>{e.text===t.getAttribute("data-select-multiple-value")&&(e.selected?(e.selected=!1,e.removeAttribute("selected"),this.selectAll&&(this.selectAll.querySelector("input").checked=!1)):(e.selected=!0,e.setAttribute("selected","true")))}),this.update()}handleClickSelectAll(e){if(e.preventDefault(),this.selectAll&&!this.selectAll.querySelector("input").disabled){var t=i(nt,Ze)[Ze](e),s=Array.from(this.select.options).filter(e=>!e.disabled);Array.from(this.searchContainer.querySelectorAll('[data-visible="true"]')).filter(e=>!e.querySelector("input").disabled).forEach(e=>{e.querySelector("input").checked=t;var i=s.find(t=>t.text===e.getAttribute("data-select-multiple-value"));i&&(i.selected=!!t)}),this.update(),this.trigger("onSelectAll",{selected:s})}}handleFocusout(e){e.relatedTarget&&this.selectMultiple&&!this.selectMultiple.contains(e.relatedTarget)&&"block"===this.searchContainer.style.display?(this.searchContainer.style.display="none",this.input.classList.remove("ecl-select--active"),this.input.setAttribute("aria-expanded",!1)):!e.relatedTarget||this.selectMultiple||this.select.parentNode.contains(e.relatedTarget)||this.select.blur()}handleSearch(e){var t=this.optionsContainer.offsetHeight;this.visibleOptions=[];var i=e.target.value.toLowerCase(),s={};t>0&&(this.optionsContainer.style.height=t+"px"),this.checkboxes.forEach(e=>{if(e.getAttribute("data-select-multiple-value").toLocaleLowerCase().includes(i)){e.setAttribute("data-visible",!0),e.style.display="flex";var t=e.querySelector(".ecl-checkbox__label-text");t.textContent=t.textContent.replace(".cls-1{fill:none}",""),i&&(t.innerHTML=t.textContent.replace(new RegExp(i+"(?!([^<]+)?<)","gi"),"<b>$&</b>")),this.visibleOptions.push(e)}else e.removeAttribute("data-visible"),e.style.display="none"});var n=this.visibleOptions.filter(e=>e.querySelector("input").checked);!this.selectAll||0!==this.visibleOptions.length&&this.visibleOptions.length===n.length?this.selectAll&&(this.selectAll.querySelector("input").checked=!0):this.selectAll.querySelector("input").checked=!1;for(var r,l=this.searchContainer.querySelector(".ecl-select__multiple-no-results"),o=a(this.optionsContainer.getElementsByClassName("ecl-select__multiple-group"));!(r=o()).done;){var h=r.value;h.style.display="none",[...h.children].filter(e=>e.classList.contains("ecl-checkbox")).forEach(e=>{e.hasAttribute("data-visible")&&(e.closest(".ecl-select__multiple-group").style.display="block")})}if(0!==this.visibleOptions.length||l)this.visibleOptions.length>0&&null!==l&&l.parentNode.removeChild(l);else{var d=document.createElement("div"),u=document.createElement("span");d.classList.add("ecl-select__multiple-no-results"),u.innerHTML=this.textNoResults,d.appendChild(u),this.optionsContainer.appendChild(d)}(0===i.length?(this.checkboxes.forEach(e=>{e.setAttribute("data-visible",!0),e.style.display="flex"}),this.selectAll&&(this.selectAll.classList.remove("ecl-checkbox--disabled"),this.selectAll.querySelector("input").disabled=!1)):0!==i.length&&this.selectAll&&(this.selectAll.classList.add("ecl-checkbox--disabled"),this.selectAll.querySelector("input").disabled=!0),this.visibleOptions.length>0)?s={results:this.visibleOptions.map(e=>{var t=null,i=c(".ecl-checkbox__label-text",e);return i&&(t=i.innerHTML.replace(/<\/?b>/g,"")),t||""}),text:e.target.value.toLowerCase()}:s={results:"none",text:e.target.value.toLowerCase()};this.trigger("onSearch",s)}handleClickOutside(e){e.target&&this.selectMultiple&&!this.selectMultiple.contains(e.target)&&"block"===this.searchContainer.style.display&&(this.searchContainer.style.display="none",this.input.classList.remove("ecl-select--active"),this.input.setAttribute("aria-expanded",!1))}handleKeyboardOnSelect(e){switch(e.key){case"Escape":e.preventDefault(),this.handleEsc(e);break;case" ":case"Enter":this.multiple&&(e.preventDefault(),this.handleToggle(e),this.search?this.search.focus():this.selectAll?this.selectAll.firstChild.focus():this.checkboxes[0].firstChild.focus());break;case"ArrowDown":this.multiple&&(e.preventDefault(),this.isOpen||this.handleToggle(e),this.search?this.search.focus():this.selectAll?this.selectAll.firstChild.focus():this.checkboxes[0].firstChild.focus())}}handleKeyboardOnSelectAll(e){switch(e.key){case"Escape":e.preventDefault(),this.handleEsc(e);break;case"ArrowDown":e.preventDefault(),this.visibleOptions.length>0?this.visibleOptions[0].querySelector("input").focus():this.input.focus();break;case"ArrowUp":e.preventDefault(),this.search?this.search.focus():(this.input.focus(),this.handleToggle(e));break;case"Tab":e.preventDefault(),e.shiftKey?this.search&&this.search.focus():this.visibleOptions.length>0?this.visibleOptions[0].querySelector("input").focus():this.input.focus()}}handleKeyboardOnOptions(e){switch(e.key){case"Escape":e.preventDefault(),this.handleEsc(e);break;case"ArrowDown":e.preventDefault(),i(this,st)[st]("down");break;case"ArrowUp":e.preventDefault(),i(this,st)[st]("up");break;case"Tab":e.preventDefault(),e.shiftKey?i(this,st)[st]("up"):i(this,st)[st]("down")}}handleKeyboardOnSearch(e){switch(e.key){case"Escape":e.preventDefault(),this.handleEsc(e);break;case"ArrowDown":e.preventDefault(),!this.selectAll||this.selectAll.querySelector("input").disabled?this.visibleOptions.length>0?this.visibleOptions[0].querySelector("input").focus():this.input.focus():this.selectAll.querySelector("input").focus();break;case"ArrowUp":e.preventDefault(),this.input.focus(),this.handleToggle(e)}}handleKeyboardOnOption(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),this.handleClickOption(e))}handleKeyboardOnClearAll(e){switch(e.preventDefault(),e.key){case"Enter":case" ":this.handleClickOnClearAll(e),this.trigger("onReset",e),this.input.focus();break;case"ArrowDown":this.input.focus();break;case"ArrowUp":this.closeButton?this.closeButton.focus():this.visibleOptions.length>0?this.visibleOptions[this.visibleOptions.length-1].querySelector("input").focus():this.search?this.search.focus():(this.input.focus(),this.handleToggle(e));break;case"Tab":e.shiftKey?this.closeButton?this.closeButton.focus():this.visibleOptions.length>0?this.visibleOptions[this.visibleOptions.length-1].querySelector("input").focus():this.search?this.search.focus():(this.input.focus(),this.handleToggle(e)):(this.input.focus(),this.handleToggle(e))}}handleKeyboardOnClose(e){switch(e.preventDefault(),e.key){case"Enter":case" ":this.handleEsc(e),this.input.focus();break;case"ArrowUp":this.visibleOptions.length>0?this.visibleOptions[this.visibleOptions.length-1].querySelector("input").focus():(this.input.focus(),this.handleToggle(e));break;case"ArrowDown":this.clearAllButton?this.clearAllButton.focus():(this.input.focus(),this.handleToggle(e));break;case"Tab":e.shiftKey?this.visibleOptions.length>0?this.visibleOptions[this.visibleOptions.length-1].querySelector("input").focus():(this.input.focus(),this.handleToggle(e)):this.clearAllButton?this.clearAllButton.focus():(this.input.focus(),this.handleToggle(e))}}handleEsc(e){this.multiple?(e.preventDefault(),this.searchContainer.style.display="none",this.input.setAttribute("aria-expanded",!1),this.input.blur(),this.input.classList.remove("ecl-select--active")):this.select.classList.remove("ecl-select--active")}handleClickOnClearAll(e){e.preventDefault(),Array.from(this.select.options).forEach(e=>{this.selectMultiple.querySelector('[data-select-multiple-value="'+e.text+'"]').querySelector(".ecl-checkbox__input").checked=!1,e.selected=!1}),this.selectAll&&(this.selectAll.querySelector(".ecl-checkbox__input").checked=!1),this.update(),this.trigger("onReset",e)}resetForm(){this.multiple&&setTimeout(()=>{Array.from(this.select.options).forEach(e=>{this.selectMultiple.querySelector('[data-select-multiple-value="'+e.text+'"]').querySelector(".ecl-checkbox__input").checked?e.selected=!0:e.selected=!1}),this.update(0)},10)}}function at(){var e=Array.from(this.select.options).filter(e=>e.selected).length;e>0?(this.selectionCount.querySelector("span").innerHTML=e,this.selectionCount.classList.add("ecl-select-multiple-selections-counter--visible"),this.dropDownToolbar&&(this.dropDownToolbar.style.display="flex")):(this.selectionCount.classList.remove("ecl-select-multiple-selections-counter--visible"),this.dropDownToolbar&&(this.dropDownToolbar.style.display="none")),e>=100&&this.selectionCount.classList.add("ecl-select-multiple-selections-counter--xxl")}function rt(){Array.from(this.select.options).forEach(e=>{if("OPTGROUP"===e.parentNode.tagName){var t=e.parentNode.getAttribute("label"),i=e.getAttribute("label")||e.textContent;t&&i&&e.setAttribute("aria-label",i+" - "+t)}})}function lt(){var e=Array.from(this.select.options).filter(e=>e.selected).map(e=>e.text).join("|");this.input.innerHTML=e||this.textDefault||"",""!==e&&this.label?this.label.setAttribute("aria-label",this.label.innerText+" "+e):""===e&&this.label&&this.label.removeAttribute("aria-label"),this.trigger("onSelection",{selected:e}),this.select.dispatchEvent(new window.Event("change",{bubbles:!0}))}function ot(e){var t=document.activeElement,i=t.parentElement.parentElement.classList.contains("ecl-select__multiple-group")?Array.from(t.parentElement.parentElement.parentElement.querySelectorAll(".ecl-checkbox__input")):Array.from(t.parentElement.parentElement.querySelectorAll(".ecl-checkbox__input")),s=i.indexOf(t);if("down"===e){var n=i.splice(s+1,i.length).filter(e=>!e.disabled&&"none"!==e.parentElement.style.display);n.length>0?n[0].focus():this.dropDownToolbar&&"flex"===this.dropDownToolbar.style.display&&this.dropDownToolbar.firstChild.focus()}else{var a=i.splice(0,s).filter(e=>!e.disabled&&"none"!==e.parentElement.style.display);a.length>0?a[a.length-1].focus():(this.optionsContainer.scrollTop=0,this.selectAll&&!this.selectAll.querySelector("input").disabled?this.selectAll.querySelector("input").focus():this.search?this.search.focus():(this.input.focus(),this.handleToggle()))}}Be=nt,Object.defineProperty(nt,$e,{value:function(e){return Math.random().toString(36).substr(2,e)}}),Object.defineProperty(nt,Ze,{value:function(e){var t=e.target.closest(".ecl-checkbox").querySelector("input");return t.checked=!t.checked,t.checked}}),Object.defineProperty(nt,Je,{value:function(){var e=document.createElement("div");e.classList.add("ecl-select__icon");var t=document.createElement("button");t.classList.add("ecl-button","ecl-button--tertiary","ecl-button--icon-only"),t.setAttribute("tabindex","-1");var s=document.createElement("span");s.classList.add("ecl-button__container");var n=document.createElement("span");n.classList.add("ecl-button__label"),n.textContent="Toggle dropdown",s.appendChild(n);var a=i(Be,Xe)[Xe]("corner-arrow","ecl-icon ecl-icon--s ecl-icon--rotate-180");return s.appendChild(a),t.appendChild(s),e.appendChild(t),e}}),Object.defineProperty(nt,Qe,{value:function(e,t){if(!e||!t)return"";var s=e.id,n=e.text,a=e.disabled,r=e.selected,l=e.extraClass;if(!s||!n)return"";var o=document.createElement("div"),h=document.createElement("input"),c=document.createElement("label"),d=document.createElement("span"),u=document.createElement("span");return l&&o.classList.add(l),r&&(h.checked=!0),a&&(o.classList.add("ecl-checkbox--disabled"),d.classList.add("ecl-checkbox__box--disabled"),h.setAttribute("disabled",a)),o.classList.add("ecl-checkbox"),o.setAttribute("data-select-multiple-value",n),h.classList.add("ecl-checkbox__input"),h.setAttribute("type","checkbox"),h.setAttribute("id",t+"-"+s),h.setAttribute("name",t+"-"+s),o.appendChild(h),c.classList.add("ecl-checkbox__label"),c.setAttribute("for",t+"-"+s),d.classList.add("ecl-checkbox__box"),d.setAttribute("aria-hidden",!0),d.appendChild(i(Be,Xe)[Xe]("check","ecl-icon ecl-icon--s ecl-checkbox__icon")),c.appendChild(d),u.classList.add("ecl-checkbox__label-text"),u.innerHTML=n,c.appendChild(u),o.appendChild(c),o}}),Object.defineProperty(nt,Xe,{value:function(e,t){var i=document.createElement("span");return i.setAttribute("class","wt-icon--"+e+" "+t),i}});class ht{static autoInit(e,t){var i=(void 0===t?{}:t).SITE_HEADER_CORE,s=new ht(e,void 0===i?{}:i);return s.init(),e.ECLSiteHeader=s,s}constructor(e,t){var i=void 0===t?{}:t,s=i.containerSelector,n=void 0===s?"[data-ecl-site-header-top]":s,a=i.languageLinkSelector,r=void 0===a?"[data-ecl-language-selector]":a,l=i.languageListOverlaySelector,o=void 0===l?"[data-ecl-language-list-overlay]":l,h=i.languageListEuSelector,c=void 0===h?"[data-ecl-language-list-eu]":h,d=i.languageListNonEuSelector,u=void 0===d?"[data-ecl-language-list-non-eu]":d,m=i.languageListContentSelector,p=void 0===m?"[data-ecl-language-list-content]":m,v=i.closeOverlaySelector,g=void 0===v?"[data-ecl-language-list-close]":v,b=i.searchToggleSelector,f=void 0===b?"[data-ecl-search-toggle]":b,y=i.searchFormSelector,L=void 0===y?"[data-ecl-search-form]":y,k=i.loginToggleSelector,E=void 0===k?"[data-ecl-login-toggle]":k,C=i.loginBoxSelector,w=void 0===C?"[data-ecl-login-box]":C,S=i.notificationSelector,A=void 0===S?"[data-ecl-site-header-notification]":S,_=i.attachClickListener,x=void 0===_||_,O=i.attachKeyListener,T=void 0===O||O,M=i.attachResizeListener,P=void 0===M||M,I=i.tabletBreakpoint,B=void 0===I?768:I,N=i.customActionToggleSelector,D=void 0===N?"[data-ecl-custom-action]":N,F=i.customActionOverlaySelector,R=void 0===F?"[data-ecl-custom-action-overlay]":F,z=i.customActionCloseSelector,H=void 0===z?"[data-ecl-custom-action-close]":z;if(!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");this.element=e,this.containerSelector=n,this.languageLinkSelector=r,this.languageListOverlaySelector=o,this.languageListEuSelector=c,this.languageListNonEuSelector=u,this.languageListContentSelector=p,this.closeOverlaySelector=g,this.searchToggleSelector=f,this.searchFormSelector=L,this.loginToggleSelector=E,this.notificationSelector=A,this.loginBoxSelector=w,this.attachClickListener=x,this.attachKeyListener=T,this.attachResizeListener=P,this.tabletBreakpoint=B,this.customActionToggleSelector=D,this.customActionOverlaySelector=R,this.customActionCloseSelector=H,this.languageMaxColumnItems=8,this.languageLink=null,this.languageListOverlay=null,this.languageListEu=null,this.languageListNonEu=null,this.languageListContent=null,this.close=null,this.focusTrap=null,this.searchToggle=null,this.searchForm=null,this.loginToggle=null,this.loginBox=null,this.resizeTimer=null,this.direction=null,this.notificationContainer=null,this.customActionToggle=null,this.customActionOverlay=null,this.customActionClose=null,this.customActionFocusTrap=null,this.openOverlay=this.openOverlay.bind(this),this.closeOverlay=this.closeOverlay.bind(this),this.toggleOverlay=this.toggleOverlay.bind(this),this.toggleSearch=this.toggleSearch.bind(this),this.toggleLogin=this.toggleLogin.bind(this),this.setLoginArrow=this.setLoginArrow.bind(this),this.setSearchArrow=this.setSearchArrow.bind(this),this.handleKeyboardLanguage=this.handleKeyboardLanguage.bind(this),this.handleKeyboardGlobal=this.handleKeyboardGlobal.bind(this),this.handleClickGlobal=this.handleClickGlobal.bind(this),this.handleResize=this.handleResize.bind(this),this.setLanguageListHeight=this.setLanguageListHeight.bind(this),this.handleNotificationClose=this.handleNotificationClose.bind(this),this.openCustomAction=this.openCustomAction.bind(this),this.closeCustomAction=this.closeCustomAction.bind(this),this.toggleCustomAction=this.toggleCustomAction.bind(this),this.handleKeyboardCustomAction=this.handleKeyboardCustomAction.bind(this)}init(){if(!ECL)throw new TypeError("Called init but ECL is not present");ECL.components=ECL.components||new Map,this.arrowSize="0.5rem",this.attachKeyListener&&document.addEventListener("keyup",this.handleKeyboardGlobal),this.attachClickListener&&document.addEventListener("click",this.handleClickGlobal),this.attachResizeListener&&window.addEventListener("resize",this.handleResize),this.container=c(this.containerSelector),this.languageLink=c(this.languageLinkSelector),this.languageListOverlay=c(this.languageListOverlaySelector),this.languageListEu=c(this.languageListEuSelector),this.languageListNonEu=c(this.languageListNonEuSelector),this.languageListContent=c(this.languageListContentSelector),this.close=c(this.closeOverlaySelector),this.notification=c(this.notificationSelector),this.direction=getComputedStyle(this.element).direction,"rtl"===this.direction&&this.element.classList.add("ecl-site-header--rtl"),this.languageListOverlay&&(this.focusTrap=ce(this.languageListOverlay,{onDeactivate:this.closeOverlay,allowOutsideClick:!0})),this.attachClickListener&&this.languageLink&&this.languageLink.addEventListener("click",this.toggleOverlay),this.attachClickListener&&this.close&&this.close.addEventListener("click",this.toggleOverlay),this.attachKeyListener&&this.languageLink&&this.languageLink.addEventListener("keydown",this.handleKeyboardLanguage),this.searchToggle=c(this.searchToggleSelector),this.searchForm=c(this.searchFormSelector),this.attachClickListener&&this.searchToggle&&this.searchToggle.addEventListener("click",this.toggleSearch),this.loginToggle=c(this.loginToggleSelector),this.loginBox=c(this.loginBoxSelector),this.attachClickListener&&this.loginToggle&&this.loginToggle.addEventListener("click",this.toggleLogin),this.customActionToggle=c(this.customActionToggleSelector),this.customActionOverlay=c(this.customActionOverlaySelector),this.customActionClose=c(this.customActionCloseSelector),this.customActionOverlay&&(this.customActionFocusTrap=ce(this.customActionOverlay,{onDeactivate:this.closeCustomAction,allowOutsideClick:!0})),this.attachClickListener&&this.customActionToggle&&this.customActionToggle.addEventListener("click",this.toggleCustomAction),this.attachClickListener&&this.customActionClose&&this.customActionClose.addEventListener("click",this.toggleCustomAction),this.attachKeyListener&&this.customActionToggle&&this.customActionToggle.addEventListener("keydown",this.handleKeyboardCustomAction),this.element.setAttribute("data-ecl-auto-initialized","true"),ECL.components.set(this.element,this),this.notification&&(this.notificationContainer=this.notification.closest(".ecl-site-header__notification"),setTimeout(()=>{var e=ECL.components.get(this.notification);e&&e.on("onClose",this.handleNotificationClose)},0))}destroy(){this.attachClickListener&&this.languageLink&&this.languageLink.removeEventListener("click",this.toggleOverlay),this.focusTrap&&this.focusTrap.deactivate(),this.attachKeyListener&&this.languageLink&&this.languageLink.removeEventListener("keydown",this.handleKeyboardLanguage),this.attachClickListener&&this.close&&this.close.removeEventListener("click",this.toggleOverlay),this.attachClickListener&&this.searchToggle&&this.searchToggle.removeEventListener("click",this.toggleSearch),this.attachClickListener&&this.loginToggle&&this.loginToggle.removeEventListener("click",this.toggleLogin),this.attachClickListener&&this.customActionToggle&&this.customActionToggle.removeEventListener("click",this.toggleCustomAction),this.customActionFocusTrap&&this.customActionFocusTrap.deactivate(),this.attachKeyListener&&this.customActionToggle&&this.customActionToggle.removeEventListener("keydown",this.handleKeyboardCustomAction),this.attachClickListener&&this.customActionClose&&this.customActionClose.removeEventListener("click",this.toggleCustomAction),this.attachKeyListener&&document.removeEventListener("keyup",this.handleKeyboardGlobal),this.attachClickListener&&document.removeEventListener("click",this.handleClickGlobal),this.attachResizeListener&&window.removeEventListener("resize",this.handleResize),this.element&&(this.element.removeAttribute("data-ecl-auto-initialized"),this.element.classList.remove("ecl-site-header--rtl"),ECL.components.delete(this.element))}updateOverlayPosition(e,t,i){if(void 0===i&&(i="--ecl-overlay-arrow-position"),e&&t&&this.container){if(e===this.languageListOverlay){if(this.languageListEu){var s=h(".ecl-site-header__language-item",this.languageListEu),n=Math.ceil(s.length/this.languageMaxColumnItems);n>1&&this.languageListEu.classList.add("ecl-site-header__language-category--"+n+"-col")}if(this.languageListNonEu){var a=h(".ecl-site-header__language-item",this.languageListNonEu),r=Math.ceil(a.length/this.languageMaxColumnItems);r>1&&this.languageListNonEu.classList.add("ecl-site-header__language-category--"+r+"-col")}this.languageListEu?this.languageListEu.parentNode.classList.remove("ecl-site-header__language-content--stack"):this.languageListNonEu&&this.languageListNonEu.parentNode.classList.remove("ecl-site-header__language-content--stack")}e.classList.remove("ecl-site-header__language-container--push-right","ecl-site-header__language-container--push-left","ecl-site-header__language-container--full"),e.style.removeProperty(i),e.style.removeProperty("right"),e.style.removeProperty("left");var l=e.getBoundingClientRect(),o=this.container.getBoundingClientRect(),c=window.innerWidth,d=t.getBoundingClientRect();if(e===this.languageListOverlay&&l.width>o.width&&(this.languageListEu?this.languageListEu.parentNode.classList.add("ecl-site-header__language-content--stack"):this.languageListNonEu&&this.languageListNonEu.parentNode.classList.add("ecl-site-header__language-content--stack")),window.innerWidth<this.tabletBreakpoint){e.classList.add("ecl-site-header__language-container--full");var u=(l=e.getBoundingClientRect()).right-d.right+d.width/2;e.style.setProperty(i,"calc("+u+"px - "+this.arrowSize+")")}else if("ltr"===this.direction&&l.right>c){e.classList.add("ecl-site-header__language-container--push-right"),e.style.setProperty("right","calc(-"+o.right+"px + "+d.right+"px)");var m=o.right-d.right+d.width/2;e.style.setProperty(i,"calc("+m+"px - "+this.arrowSize+")")}else if("rtl"===this.direction&&l.left<0){e.classList.add("ecl-site-header__language-container--push-left"),e.style.setProperty("left","calc(-"+d.left+"px + "+o.left+"px)");var p=d.right-o.left-d.width/2;e.style.setProperty(i,p+"px")}}}updateOverlay(){this.languageListOverlay&&this.languageLink&&this.updateOverlayPosition(this.languageListOverlay,this.languageLink)}handleNotificationClose(){this.notificationContainer&&this.notificationContainer.remove()}setLanguageListHeight(){var e=window.innerHeight;if(this.languageListContent){var t=e-this.languageListContent.getBoundingClientRect().top;t>0&&(this.languageListContent.style.maxHeight=t+"px")}}openOverlay(){this.languageListOverlay.hidden=!1,this.languageListOverlay.setAttribute("aria-modal","true"),this.languageLink.setAttribute("aria-expanded","true"),this.setLanguageListHeight()}closeOverlay(){this.languageListOverlay.hidden=!0,this.languageListOverlay.removeAttribute("aria-modal"),this.languageLink.setAttribute("aria-expanded","false")}toggleOverlay(e){this.languageListOverlay&&this.focusTrap&&(e.preventDefault(),this.languageListOverlay.hasAttribute("hidden")?(this.openOverlay(),this.updateOverlayPosition(this.languageListOverlay,this.languageLink),this.focusTrap.activate()):this.focusTrap.deactivate())}toggleSearch(e){if(this.searchForm){e.preventDefault();var t="true"===this.searchToggle.getAttribute("aria-expanded");this.loginToggle&&"true"===this.loginToggle.getAttribute("aria-expanded")&&this.toggleLogin(e),this.searchToggle.setAttribute("aria-expanded",t?"false":"true"),t?this.searchForm.classList.remove("ecl-site-header__search--active"):(this.searchForm.classList.add("ecl-site-header__search--active"),this.setSearchArrow())}}setLoginArrow(){if(0===this.loginBox.getBoundingClientRect().x){var e=this.loginToggle.getBoundingClientRect(),t=document.documentElement.clientWidth-e.right+e.width/2;this.loginBox.style.setProperty("--ecl-login-arrow-position","calc("+t+"px - "+this.arrowSize+")")}}setSearchArrow(){if(0===this.searchForm.getBoundingClientRect().x){var e=this.searchToggle.getBoundingClientRect(),t=document.documentElement.clientWidth-e.right+e.width/2;this.searchForm.style.setProperty("--ecl-search-arrow-position","calc("+t+"px - "+this.arrowSize+")")}}toggleLogin(e){if(this.loginBox){e.preventDefault();var t="true"===this.loginToggle.getAttribute("aria-expanded");this.searchToggle&&"true"===this.searchToggle.getAttribute("aria-expanded")&&this.toggleSearch(e),this.loginToggle.setAttribute("aria-expanded",t?"false":"true"),t?this.loginBox.classList.remove("ecl-site-header__login-box--active"):(this.loginBox.classList.add("ecl-site-header__login-box--active"),this.setLoginArrow())}}handleKeyboardLanguage(e){32!==e.keyCode&&"Enter"!==e.key||this.toggleOverlay(e)}handleKeyboardGlobal(e){if(this.languageLink){var t=this.languageLink.getAttribute("aria-expanded");"Escape"!==e.key&&"Esc"!==e.key||("true"===t&&this.toggleOverlay(e),this.customActionToggle&&"true"===this.customActionToggle.getAttribute("aria-expanded")&&this.toggleCustomAction(e))}}handleClickGlobal(e){if(this.languageLink||this.searchToggle||this.loginToggle){var t=this.languageLink&&this.languageLink.getAttribute("aria-expanded"),i=this.loginToggle&&"true"===this.loginToggle.getAttribute("aria-expanded"),s=this.searchToggle&&"true"===this.searchToggle.getAttribute("aria-expanded");"true"===t&&(this.languageListOverlay.contains(e.target)||this.languageLink.contains(e.target)||this.toggleOverlay(e)),i&&(this.loginBox.contains(e.target)||this.loginToggle.contains(e.target)||this.toggleLogin(e)),s&&(this.searchForm.contains(e.target)||this.searchToggle.contains(e.target)||this.toggleSearch(e)),this.customActionToggle&&"true"===this.customActionToggle.getAttribute("aria-expanded")&&(this.customActionOverlay.contains(e.target)||this.customActionToggle.contains(e.target)||this.toggleCustomAction(e))}}handleResize(){this.resizeTimer&&clearTimeout(this.resizeTimer),this.resizeTimer=setTimeout(()=>{this.languageListOverlay&&!this.languageListOverlay.hasAttribute("hidden")&&this.updateOverlayPosition(this.languageListOverlay,this.languageLink),this.customActionOverlay&&!this.customActionOverlay.hasAttribute("hidden")&&this.updateOverlayPosition(this.customActionOverlay,this.customActionToggle,"--ecl-overlay-arrow-position"),this.loginBox&&this.loginBox.classList.contains("ecl-site-header__login-box--active")&&this.setLoginArrow(),this.searchForm&&this.searchForm.classList.contains("ecl-site-header__search--active")&&this.setSearchArrow()},200)}openCustomAction(){this.customActionOverlay&&(this.customActionOverlay.hidden=!1,this.customActionOverlay.setAttribute("aria-modal","true"),this.customActionToggle.setAttribute("aria-expanded","true"))}closeCustomAction(){this.customActionOverlay&&(this.customActionOverlay.hidden=!0,this.customActionOverlay.removeAttribute("aria-modal"),this.customActionToggle.setAttribute("aria-expanded","false"))}toggleCustomAction(e){this.customActionOverlay&&this.customActionFocusTrap&&(e.preventDefault(),this.customActionOverlay.hasAttribute("hidden")?(this.openCustomAction(),this.updateOverlayPosition(this.customActionOverlay,this.customActionToggle,"--ecl-overlay-arrow-position"),this.customActionFocusTrap.activate()):this.customActionFocusTrap.deactivate())}handleKeyboardCustomAction(e){32!==e.keyCode&&"Enter"!==e.key||this.toggleCustomAction(e)}}class ct{static autoInit(e,t){var i=(void 0===t?{}:t).TABLE,s=new ct(e,void 0===i?{}:i);return s.init(),e.ECLTable=s,s}constructor(e,t){var i=void 0===t?{}:t,s=i.sortSelector,n=void 0===s?"[data-ecl-table-sort-toggle]":s,a=i.sortLabelSelectorAsc,r=void 0===a?"data-ecl-table-sort-label-asc":a,l=i.sortLabelSelectorDesc,o=void 0===l?"data-ecl-table-sort-label-desc":l,d=i.sortLabelSelectorDefault,u=void 0===d?"data-ecl-table-sort-label-default":d;if(this.handleClickOnSort=e=>t=>{t.preventDefault();for(var i=e.closest("table"),s=c("tbody",i),n=e.getAttribute("aria-sort"),a=0,r=e.previousElementSibling;r;)a+=r.getAttribute("colspan")?Number(r.getAttribute("colspan")):1,r=r.previousElementSibling;var l,o;"descending"===n?([...h("tr",s)].forEach((e,t)=>{var i=c("[data-ecl-table-order='"+t+"']",s);s.appendChild(i)}),n=null):([...h("tr",s)].sort((l=a,o="ascending"!==n,(e,t)=>{return i=(o?e:t).children[l].textContent,s=(o?t:e).children[l].textContent,""===i||""===s||Number.isNaN(+i)||Number.isNaN(+s)?i.toString().localeCompare(s):i-s;var i,s})).forEach(e=>s.appendChild(e)),n="ascending"===n?"descending":"ascending"),this.sortHeadings.forEach(t=>{n&&t===e?t.setAttribute("aria-sort",n):t.setAttribute("aria-sort","none")});var d="";this.sortButtons.forEach(e=>{switch(n){case"ascending":d=this.sortLabelDesc?this.sortLabelDesc:"";break;case"descending":d=this.sortLabelDefault?this.sortLabelDefault:"";break;default:d=this.sortLabelAsc?this.sortLabelAsc:""}d&&e.setAttribute("aria-label",d)})},!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");this.element=e,this.sortSelector=n,this.sortLabelSelectorAsc=r,this.sortLabelSelectorDesc=o,this.sortLabelSelectorDefault=u,this.sortLabelAsc="",this.sortLabelDesc="",this.sortHeadings=null,this.sortButtons=[],this.handleClickOnSort=this.handleClickOnSort.bind(this)}static createSortIcon(e){var t=document.createElement("span");return t.setAttribute("class","wt-icon--solid-arrow ecl-table__icon ecl-icon--m "+e),t}init(){if(!ECL)throw new TypeError("Called init but ECL is not present");ECL.components=ECL.components||new Map,this.sortHeadings=h(this.sortSelector,this.element),this.element.hasAttribute(this.sortLabelSelectorAsc)&&(this.sortLabelAsc=this.element.getAttribute(this.sortLabelSelectorAsc)),this.element.hasAttribute(this.sortLabelSelectorDesc)&&(this.sortLabelDesc=this.element.getAttribute(this.sortLabelSelectorDesc)),this.element.hasAttribute(this.sortLabelSelectorDefault)&&(this.sortLabelDefault=this.element.getAttribute(this.sortLabelSelectorDefault)),this.sortHeadings&&(this.sortHeadings.forEach(e=>{var t=document.createElement("button");t.classList.add("ecl-table__arrow"),this.sortLabelAsc&&t.setAttribute("aria-label",this.sortLabelAsc),t.appendChild(ct.createSortIcon("ecl-table__icon-up")),t.appendChild(ct.createSortIcon("ecl-table__icon-down")),e.appendChild(t),e.addEventListener("click",t=>this.handleClickOnSort(e)(t)),this.sortButtons.push(t)}),this.sortHeadings.forEach(e=>{e.setAttribute("aria-sort","none")}));var e=c("tbody",this.element);[...h("tr",e)].forEach((e,t)=>{e.setAttribute("data-ecl-table-order",t)}),this.element.setAttribute("data-ecl-auto-initialized","true"),ECL.components.set(this.element,this)}destroy(){this.sortHeadings&&this.sortHeadings.forEach(e=>{e.removeEventListener("click",t=>this.handleClickOnSort(e)(t))}),this.element&&(this.element.removeAttribute("data-ecl-auto-initialized"),ECL.components.delete(this.element))}}class dt{static autoInit(e,t){var i=(void 0===t?{}:t).TABS,s=new dt(e,void 0===i?{}:i);return s.init(),e.ECLTabs=s,s}constructor(e,t){var i=void 0===t?{}:t,s=i.containerSelector,n=void 0===s?".ecl-tabs__container":s,a=i.contentSelector,r=void 0===a?"data-ecl-tabs-with-content":a,l=i.listSelector,o=void 0===l?".ecl-tabs__list":l,h=i.listItemsSelector,c=void 0===h?".ecl-tabs__item:not(.ecl-tabs__item--more)":h,d=i.moreItemSelector,m=void 0===d?".ecl-tabs__item--more":d,p=i.moreButtonSelector,v=void 0===p?".ecl-tabs__toggle":p,g=i.moreLabelSelector,b=void 0===g?".ecl-tabs__toggle .ecl-button__label":g,f=i.prevSelector,y=void 0===f?".ecl-tabs__prev":f,L=i.nextSelector,k=void 0===L?".ecl-tabs__next":L,E=i.activeSelector,C=void 0===E?"ecl-tabs__link--active":E,w=i.attachClickListener,S=void 0===w||w,A=i.attachResizeListener,_=void 0===A||A;if(this.supportedEvents=["onToggle"],!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");this.element=e,this.eventManager=new u,this.containerSelector=n,this.contentSelector=r,this.listSelector=o,this.listItemsSelector=c,this.moreItemSelector=m,this.moreButtonSelector=v,this.moreLabelSelector=b,this.prevSelector=y,this.nextSelector=k,this.activeSelector=C,this.attachClickListener=S,this.attachResizeListener=_,this.container=null,this.list=null,this.listItems=null,this.moreItem=null,this.moreButton=null,this.moreButtonActive=!1,this.moreLabel=null,this.moreLabelValue=null,this.dropdown=null,this.dropdownList=null,this.dropdownItems=null,this.allowShift=!0,this.buttonNextSize=0,this.index=0,this.total=0,this.tabsKey=[],this.firstTab=null,this.lastTab=null,this.direction="ltr",this.isMobile=!1,this.resizeTimer=null,this.tabs=[],this.activeTab=null,this.handleClickOnToggle=this.handleClickOnToggle.bind(this),this.handleClickOnTabs=this.handleClickOnTabs.bind(this),this.handleResize=this.handleResize.bind(this),this.closeMoreDropdown=this.closeMoreDropdown.bind(this),this.handleClickOutside=this.handleClickOutside.bind(this),this.shiftTabs=this.shiftTabs.bind(this),this.handleKeyboardOnTabs=this.handleKeyboardOnTabs.bind(this),this.moveFocus=this.moveFocus.bind(this),this.arrowFocusToTab=this.arrowFocusToTab.bind(this),this.tabsKeyEvents=this.tabsKeyEvents.bind(this),this.handleFocusOnToggle=this.handleFocusOnToggle.bind(this),this.handleMouseDownOnToggle=this.handleMouseDownOnToggle.bind(this),this.handleFocusOnTab=this.handleFocusOnTab.bind(this)}init(){var e=this;if(!ECL)throw new TypeError("Called init but ECL is not present");if(ECL.components=ECL.components||new Map,this.container=c(this.containerSelector,this.element),this.hasContent=this.element.hasAttribute(this.contentSelector),this.list=c(this.listSelector,this.element),this.listItems=h(this.listItemsSelector,this.element),this.moreItem=c(this.moreItemSelector,this.element),this.moreButton=c(this.moreButtonSelector,this.element),this.moreLabel=c(this.moreLabelSelector,this.element),this.moreLabelValue=this.moreLabel.innerText,this.btnPrev=c(this.prevSelector,this.element),this.btnNext=c(this.nextSelector,this.element),this.total=this.listItems.length,this.moreButton&&(this.dropdown=document.createElement("div"),this.dropdown.classList.add("ecl-tabs__dropdown"),this.dropdownList=document.createElement("div"),this.dropdownList.classList.add("ecl-tabs__dropdown-list"),this.listItems.forEach(e=>{var t,i,s=c(".ecl-link",e);if(s){var n=document.createElement("div");n.className="ecl-tabs__item";var a=document.createElement("a");a.className=s.className,a.setAttribute("role","tab"),a.setAttribute("aria-selected","false"),a.setAttribute("tabindex","-1"),a.href=s.getAttribute("href"),a.textContent=null!=(t=null==(i=s.textContent)?void 0:i.trim())?t:"",s.id&&(a.dataset.id=s.id),n.appendChild(a),n.addEventListener("click",this.handleClickOnTabs),this.dropdownList.appendChild(n)}}),this.dropdown.appendChild(this.dropdownList),this.moreItem.appendChild(this.dropdown),this.dropdownItems=h(".ecl-tabs__dropdown .ecl-tabs__item",this.element)),this.btnNext&&(this.buttonNextSize=this.btnNext.getBoundingClientRect().width),this.attachClickListener&&this.moreButton&&(this.moreButton.addEventListener("mousedown",this.handleMouseDownOnToggle),this.moreButton.addEventListener("click",this.handleClickOnToggle),this.moreButton.addEventListener("focus",this.handleFocusOnToggle)),this.attachClickListener&&document&&this.moreButton&&document.addEventListener("click",this.handleClickOutside),this.hasContent){this.listItems.forEach(e=>{var t=c(".ecl-tabs__link",e),i=new URL(t.href);if(i.hash){var s=i.hash.slice(1),n=document.getElementById(s);n&&(n.setAttribute("role","tabpanel"),t.setAttribute("aria-controls",s),t.id&&n.setAttribute("aria-labelledby",t.id)),this.tabs.push({link:t,id:s,content:n}),e.addEventListener("click",this.handleClickOnTabs)}});var t=window.location.hash.slice(1);this.activeTab=null;var i=!!t;if(i&&(this.activeTab=this.tabs.find(e=>e.id===t)),this.activeTab||(this.activeTab=this.tabs.find(e=>e.link.classList.contains(this.activeSelector))),this.activeTab||(this.activeTab=this.tabs[0]),this.activeTab){var s=!1;this.tabs.forEach(e=>{var t=e===this.activeTab;t&&(s=!0),e.link.classList.toggle(this.activeSelector,t),e.link.setAttribute("aria-selected",t?"true":"false"),e.link.setAttribute("tabindex",t?"0":"-1"),e.content&&(e.content.style.display=t?"block":"none",e.content.hasAttribute("z-index")||e.content.setAttribute("z-index",-1))}),this.moreButton&&this.dropdownItems.forEach(e=>{var t,i=e.querySelector("a"),n=(null==(t=new URL(i.href).hash)?void 0:t.slice(1))===this.activeTab.id;i.classList.toggle(this.activeSelector,n),i.setAttribute("aria-selected",n?"true":"false"),n&&!s&&(this.moreButtonActive=!0,this.moreButton.classList.add("ecl-tabs__toggle--active"))}),i&&requestAnimationFrame(()=>{requestAnimationFrame(()=>{var e=this.activeTab.content;e&&null!==e.offsetParent&&e.scrollIntoView({behavior:"smooth",block:"start"})})})}}this.attachClickListener&&this.btnNext&&this.btnNext.addEventListener("click",this.shiftTabs.bind(this,"next",!0)),this.attachClickListener&&this.btnPrev&&this.btnPrev.addEventListener("click",this.shiftTabs.bind(this,"prev",!0)),this.attachResizeListener&&window.addEventListener("resize",this.handleResize);var n=function(t,i){void 0===i&&(i=10),e.list&&e.list.offsetWidth>0?t():i>0&&requestAnimationFrame(()=>n(t,i-1))};requestAnimationFrame(()=>n(()=>this.handleResize())),this.element.setAttribute("data-ecl-auto-initialized","true"),ECL.components.set(this.element,this)}on(e,t){this.eventManager.on(e,t)}trigger(e,t){this.eventManager.trigger(e,t)}destroy(){this.dropdown&&this.dropdown.remove(),this.moreButton&&(this.moreLabel.textContent=this.moreLabelValue,this.moreButton.replaceWith(this.moreButton.cloneNode(!0))),this.btnNext&&this.btnNext.replaceWith(this.btnNext.cloneNode(!0)),this.btnPrev&&this.btnPrev.replaceWith(this.btnPrev.cloneNode(!0)),this.attachClickListener&&document&&this.moreButton&&document.removeEventListener("click",this.handleClickOutside),this.attachResizeListener&&window.removeEventListener("resize",this.handleResize),this.tabsKey&&this.tabsKey.forEach(e=>{e.addEventListener("keydown",this.handleKeyboardOnTabs)}),this.hasContent&&this.tabs.forEach(e=>{e.removeEventListener("click",this.handleClickOnTabs)}),this.element&&(this.element.removeAttribute("data-ecl-auto-initialized"),ECL.components.delete(this.element))}shiftTabs(e){this.index="next"===e?this.index+1:this.index-1,this.index>=1?(this.btnPrev.style.display="flex",this.container.classList.add("ecl-tabs__container--left")):(this.btnPrev.style.display="none",this.container.classList.remove("ecl-tabs__container--left")),this.index>=this.total-1?(this.btnNext.style.display="none",this.container.classList.remove("ecl-tabs__container--right")):(this.btnNext.style.display="flex",this.container.classList.add("ecl-tabs__container--right"));var t=0;this.direction=getComputedStyle(this.element).direction,t="rtl"===this.direction?Math.ceil(this.list.offsetWidth-this.listItems[this.index].offsetLeft-this.listItems[this.index].offsetWidth):Math.ceil(this.listItems[this.index].offsetLeft);var i=this.element.getBoundingClientRect().width;this.container.classList.contains("ecl-tabs__container--right")&&(i-=this.buttonNextSize);var s=Math.ceil(this.list.getBoundingClientRect().width-i);t>s&&(this.btnNext.style.display="none",this.container.classList.remove("ecl-tabs__container--right"),t=s),this.list.style.transitionDuration="0.4s","rtl"===this.direction?this.list.style.transform="translate3d("+t+"px, 0px, 0px)":this.list.style.transform="translate3d(-"+t+"px, 0px, 0px)"}handleMouseDownOnToggle(){this.isMouseEvent=!0}handleClickOnToggle(e){this.isMouseEvent=!1,this.dropdown.classList.contains("ecl-tabs__dropdown--show")?this.closeMoreDropdown():this.openMoreDropdown(),this.trigger("onToggle",e)}handleFocusOnToggle(){if(!this.moreButtonActive||this.isMouseEvent||this.isTabEvent)this.isTabEvent=!1;else{this.openMoreDropdown();var e=this.dropdown.querySelector("."+this.activeSelector);e&&e.focus()}}handleFocusOnTab(e){if(this.isMobile){var t=e.currentTarget,i=this.tabsKey.indexOf(t);if(-1!==i)if(this.index=i,this.list.scrollLeft=0,this.container.scrollLeft=0,i>0?(this.btnPrev.style.display="flex",this.container.classList.add("ecl-tabs__container--left")):(this.btnPrev.style.display="none",this.container.classList.remove("ecl-tabs__container--left")),i>=this.total-1?(this.btnNext.style.display="none",this.container.classList.remove("ecl-tabs__container--right")):(this.btnNext.style.display="flex",this.container.classList.add("ecl-tabs__container--right")),i>0){var s=this.btnPrev.getBoundingClientRect().width,n=this.listItems[i].offsetLeft-s;this.list.style.transform="translate3d(-"+n+"px, 0px, 0px)"}else this.list.style.transform="translate3d(0px, 0px, 0px)"}}set onToggle(e){this.onToggleCallback=e}get onToggle(){return this.onToggleCallback}handleClickOnTabs(e){var t=!1,i=new URL(e.target.href),s=i.hash?i.hash.slice(1):null;s&&(e.preventDefault(),this.tabs.forEach(e=>{e.content&&(e.content.style.display=e.id!==s?"none":"block"),e.id!==s?(e.link.classList.remove(this.activeSelector),e.link.setAttribute("aria-selected","false"),e.link.setAttribute("tabindex","-1")):(this.activeTab=e,e.link.classList.add(this.activeSelector),e.link.setAttribute("aria-selected","true"),e.link.setAttribute("tabindex","0"),e.link.closest(".ecl-tabs__item").classList.contains("ecl-tabs__item--hidden")||(t=!0))}),this.moreButton&&(this.moreButtonActive=!1,this.moreButton.classList.remove("ecl-tabs__toggle--active"),this.dropdownItems.forEach(e=>{var i=e.getElementsByTagName("a")[0],n=new URL(i);(n.hash?n.hash.slice(1):null)!==s?(i.classList.remove(this.activeSelector),i.setAttribute("aria-selected","false")):(i.classList.add(this.activeSelector),i.setAttribute("aria-selected","true"),t||(this.moreButtonActive=!0,this.moreButton.classList.add("ecl-tabs__toggle--active")))}),this.moreButton.setAttribute("tabindex",this.moreButtonActive?"0":"-1")),history.replaceState(null,"","#"+s))}handleResize(){"none"===window.getComputedStyle(this.moreButton).display&&this.closeMoreDropdown(),clearTimeout(this.resizeTimer),this.resizeTimer=setTimeout(()=>{if(this.list.style.transform="translate3d(0px, 0px, 0px)",Math.max(document.documentElement.clientWidth||0,window.innerWidth||0)<=480){this.isMobile=!0,this.index=1,this.list.style.transitionDuration="0.4s",this.shiftTabs(this.index),this.moreItem&&this.moreItem.classList.add("ecl-tabs__item--hidden"),this.moreButton&&this.moreButton.classList.add("ecl-tabs__toggle--hidden");var e=0;return this.listItems.forEach(t=>{t.classList.remove("ecl-tabs__item--hidden"),e+=Math.ceil(t.getBoundingClientRect().width)}),this.list.style.width=e+"px",this.btnNext.style.display="flex",this.container.classList.add("ecl-tabs__container--right"),this.btnPrev.style.display="none",this.container.classList.remove("ecl-tabs__container--left"),void this.tabsKeyEvents()}this.isMobile=!1,this.btnNext.style.display="none",this.container.classList.remove("ecl-tabs__container--right"),this.btnPrev.style.display="none",this.container.classList.remove("ecl-tabs__container--left"),this.list.style.width="auto";var t=this.moreButton.getBoundingClientRect().width+25,i=[],s=this.list.getBoundingClientRect().width||this.list.offsetWidth;this.moreButtonActive=!1,this.listItems.forEach((e,n)=>{e.classList.remove("ecl-tabs__item--hidden"),s>=t+e.getBoundingClientRect().width&&!i.includes(n-1)?t+=e.getBoundingClientRect().width:(e.classList.add("ecl-tabs__item--hidden"),e.childNodes[0].classList.contains("ecl-tabs__link--active")&&(this.moreButtonActive=!0),i.push(n))}),this.moreButtonActive?(this.moreButton.classList.add("ecl-tabs__toggle--active"),this.moreButton.setAttribute("tabindex","0")):(this.moreButton.classList.remove("ecl-tabs__toggle--active"),this.moreButton.setAttribute("tabindex","-1")),i.length?(this.moreItem.classList.remove("ecl-tabs__item--hidden"),this.moreButton.classList.remove("ecl-tabs__toggle--hidden"),this.moreLabel.textContent=this.moreLabelValue.replace("%d",i.length),this.dropdownItems.forEach((e,t)=>{i.includes(t)?e.classList.remove("ecl-tabs__item--hidden"):e.classList.add("ecl-tabs__item--hidden")})):(this.moreItem.classList.add("ecl-tabs__item--hidden"),this.moreButton.classList.add("ecl-tabs__toggle--hidden")),this.tabsKeyEvents()},100)}tabsKeyEvents(){this.tabsKey=[],this.listItems.forEach((e,t,i)=>{var s=null;if(e.classList.contains("ecl-tabs__item--hidden")){var n=this.dropdownItems[t];s=c(".ecl-tabs__link",n)}else s=c(".ecl-tabs__link",e);s.addEventListener("keydown",this.handleKeyboardOnTabs),s.addEventListener("focus",this.handleFocusOnTab),this.tabsKey.push(s),0===t&&(this.firstTab=s),t===i.length-1&&(this.lastTab=s)})}closeMoreDropdown(){this.moreButton.setAttribute("aria-expanded",!1),this.dropdown.classList.remove("ecl-tabs__dropdown--show")}openMoreDropdown(){this.moreButton.setAttribute("aria-expanded",!0),this.dropdown.classList.add("ecl-tabs__dropdown--show")}handleClickOutside(e){for(var t=e.target;t;){if(t===this.moreButton)return;t=t.parentNode}this.closeMoreDropdown()}handleKeyboardOnTabs(e){var t=e.currentTarget;switch(e.key){case"ArrowLeft":this.arrowFocusToTab(t,"prev");break;case"ArrowRight":this.arrowFocusToTab(t,"next");break;case"Home":this.moveFocus(this.firstTab);break;case"End":this.moveFocus(this.lastTab);break;case" ":this.handleClickOnTabs(e);break;case"Escape":this.closeMoreDropdown();break;case"Tab":this.isTabEvent=!0,this.closeMoreDropdown(),this.moreButton.setAttribute("tabindex","-1"),setTimeout(()=>{this.isTabEvent=!1,this.moreButtonActive&&this.moreButton.setAttribute("tabindex","0")},0),!e.shiftKey&&this.hasContent&&this.activeTab.content&&this.activeTab.content.focus()}}moveFocus(e){e.closest(".ecl-tabs__dropdown")?this.openMoreDropdown():this.closeMoreDropdown(),e.focus()}arrowFocusToTab(e,t){var i=this.tabsKey.indexOf(e);i="next"===t?i+1:i-1;var s="next"===t?this.firstTab:this.lastTab,n="next"===t?this.lastTab:this.firstTab;this.isMobile?e!==n&&this.moveFocus(this.tabsKey[i]):e===n?this.moveFocus(s):this.moveFocus(this.tabsKey[i])}}class ut{static autoInit(e,t){var i=(void 0===t?{}:t).TIMELINE,s=new ut(e,void 0===i?{}:i);return s.init(),e.ECLTimeline=s,s}constructor(e,t){var i=void 0===t?{}:t,s=i.buttonSelector,n=void 0===s?"[data-ecl-timeline-button]":s,a=i.labelSelector,r=void 0===a?"[data-ecl-label]":a,l=i.labelExpanded,o=void 0===l?"data-ecl-label-expanded":l,h=i.labelCollapsed,c=void 0===h?"data-ecl-label-collapsed":h,d=i.attachClickListener,u=void 0===d||d,m=i.attachResizeListener,p=void 0===m||m;if(!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");this.element=e,this.buttonSelector=n,this.labelSelector=r,this.labelExpanded=o,this.labelCollapsed=c,this.attachClickListener=u,this.attachResizeListener=p,this.button=null,this.label=null,this.timelineItems=null,this.resizeTimer=null,this.handleClickOnButton=this.handleClickOnButton.bind(this),this.handleResize=this.handleResize.bind(this)}init(){if(!ECL)throw new TypeError("Called init but ECL is not present");ECL.components=ECL.components||new Map,this.button=c(this.buttonSelector,this.element),this.timelineItems=h(".ecl-timeline__item",this.element),this.label=c(this.labelSelector,this.element),this.attachClickListener&&this.button&&this.button.addEventListener("click",this.handleClickOnButton),this.attachResizeListener&&window.addEventListener("resize",this.handleResize),setTimeout(()=>{this.adjustLabelHeights()},100),this.element.setAttribute("data-ecl-auto-initialized","true"),ECL.components.set(this.element,this)}destroy(){this.attachClickListener&&this.button&&this.button.removeEventListener("click",this.handleClickOnButton),this.attachResizeListener&&window.removeEventListener("resize",this.handleResize),this.resizeTimer&&clearTimeout(this.resizeTimer),this.element&&(this.element.removeAttribute("data-ecl-auto-initialized"),ECL.components.delete(this.element))}handleClickOnButton(){var e="true"===this.button.getAttribute("aria-expanded");if(this.button.setAttribute("aria-expanded",e?"false":"true"),e)this.element.removeAttribute("data-ecl-timeline-expanded"),this.button.blur(),this.button.focus();else{this.element.setAttribute("data-ecl-timeline-expanded","true");var t=c(".ecl-timeline__item--collapsed",this.element);t&&(t.setAttribute("tabindex","-1"),t.focus())}return this.label&&!e&&this.button.hasAttribute(this.labelExpanded)?this.label.innerHTML=this.button.getAttribute(this.labelExpanded):this.label&&e&&this.button.hasAttribute(this.labelCollapsed)&&(this.label.innerHTML=this.button.getAttribute(this.labelCollapsed)),this.adjustLabelHeights(),this}handleResize(){clearTimeout(this.resizeTimer),this.resizeTimer=setTimeout(()=>{this.adjustLabelHeights()},250)}adjustLabelHeights(){this.timelineItems&&this.timelineItems.forEach(e=>{var t=c(".ecl-timeline__label",e);if(e.style.removeProperty("--ecl-timeline-label-height"),t){var i=t.getBoundingClientRect().height;e.style.setProperty("--ecl-timeline-label-height",i+"px")}})}}var mt=0;class pt{static autoInit(e,t){var i=(void 0===t?{}:t).TOOLTIP,s=new pt(e,void 0===i?{}:i);return s.init(),e.ECLTooltip=s,s}constructor(e,t){var i=void 0===t?{}:t,s=i.tooltipSelector,n=void 0===s?"[data-ecl-tooltip], [data-ecl-tooltip-inverted]":s,a=i.attachHoverListener,r=void 0===a||a,l=i.attachResizeListener,o=void 0===l||l,h=i.attachScrollListener,c=void 0===h||h,d=i.attachKeyListener,u=void 0===d||d,m=i.hideDelay,p=void 0===m?300:m;if(!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");this.element=e,this.tooltipSelector=n,this.attachHoverListener=r,this.attachResizeListener=o,this.attachScrollListener=c,this.attachKeyListener=u,this.hideDelay=p,this.popups=new Map,this.currentTrigger=null,this.currentPopup=null,this.usePopoverApi="popover"in HTMLElement.prototype,this.hideTimeoutId=null,this.handleMouseOver=this.handleMouseOver.bind(this),this.handleMouseOut=this.handleMouseOut.bind(this),this.handleFocusIn=this.handleFocusIn.bind(this),this.handleFocusOut=this.handleFocusOut.bind(this),this.handleKeyboardGlobal=this.handleKeyboardGlobal.bind(this),this.hideTooltip=this.hideTooltip.bind(this),this.positionTooltip=this.positionTooltip.bind(this)}init(){if(!ECL)throw new TypeError("Called init but ECL is not present");if(ECL.components=ECL.components||new Map,h(this.tooltipSelector,this.element).forEach(e=>{this.getOrCreatePopup(e)}),this.attachHoverListener&&(this.element.addEventListener("mouseover",this.handleMouseOver),this.element.addEventListener("mouseout",this.handleMouseOut),this.element.addEventListener("focusin",this.handleFocusIn),this.element.addEventListener("focusout",this.handleFocusOut)),this.attachKeyListener){document.addEventListener("keyup",this.handleKeyboardGlobal);try{window.parent!==window&&window.parent.document.addEventListener("keyup",this.handleKeyboardGlobal)}catch(e){}}this.attachResizeListener&&window.addEventListener("resize",this.hideTooltip),this.attachScrollListener&&window.addEventListener("scroll",this.hideTooltip,{capture:!0}),this.element.setAttribute("data-ecl-auto-initialized","true"),ECL.components.set(this.element,this)}destroy(){if(this.attachHoverListener&&(this.element.removeEventListener("mouseover",this.handleMouseOver),this.element.removeEventListener("mouseout",this.handleMouseOut),this.element.removeEventListener("focusin",this.handleFocusIn),this.element.removeEventListener("focusout",this.handleFocusOut)),this.attachKeyListener){document.removeEventListener("keyup",this.handleKeyboardGlobal);try{window.parent!==window&&window.parent.document.removeEventListener("keyup",this.handleKeyboardGlobal)}catch(e){}}this.attachResizeListener&&window.removeEventListener("resize",this.hideTooltip),this.attachScrollListener&&window.removeEventListener("scroll",this.hideTooltip,{capture:!0}),this.clearHideTimeout(),this.popups.forEach((e,t)=>{t.removeAttribute("aria-describedby"),e.parentNode&&e.parentNode.removeChild(e)}),this.popups.clear(),this.element&&(this.element.removeAttribute("data-ecl-auto-initialized"),ECL.components.delete(this.element))}getOrCreatePopup(e){if(this.popups.has(e))return this.popups.get(e);var t="ecl-tooltip-"+mt++,i=document.createElement("span");i.classList.add("ecl-tooltip"),i.setAttribute("id",t),i.setAttribute("role","tooltip"),i.setAttribute("aria-hidden","true"),this.usePopoverApi?i.setAttribute("popover","manual"):i.style.display="none",i.addEventListener("mouseover",()=>this.clearHideTimeout()),i.addEventListener("mouseout",t=>{var s=t.relatedTarget;s&&e.contains(s)||s&&i.contains(s)||this.scheduleHide()}),e.insertAdjacentElement("afterend",i),e.setAttribute("aria-describedby",t);var s=e.getAttribute("title");if(s){if(!e.getAttribute("data-ecl-tooltip")&&!e.getAttribute("data-ecl-tooltip-inverted")){var n=e.hasAttribute("data-ecl-tooltip-inverted")?"data-ecl-tooltip-inverted":"data-ecl-tooltip";e.setAttribute(n,s)}e.removeAttribute("title")}return i.textContent=e.getAttribute("data-ecl-tooltip")||e.getAttribute("data-ecl-tooltip-inverted")||"",this.popups.set(e,i),i}handleMouseOver(e){var t=e.target.closest(this.tooltipSelector);t&&(this.clearHideTimeout(),t!==this.currentTrigger&&this.displayTooltip(t))}handleMouseOut(e){if(this.currentTrigger){var t=e.relatedTarget;t&&this.currentTrigger.contains(t)||t&&this.currentPopup&&this.currentPopup.contains(t)||this.scheduleHide()}}handleFocusIn(e){var t=e.target.closest(this.tooltipSelector);t&&this.displayTooltip(t)}handleFocusOut(){this.currentTrigger&&this.hideTooltip()}scheduleHide(){this.clearHideTimeout(),this.hideTimeoutId=setTimeout(()=>this.hideTooltip(),this.hideDelay)}clearHideTimeout(){null!==this.hideTimeoutId&&(clearTimeout(this.hideTimeoutId),this.hideTimeoutId=null)}handleKeyboardGlobal(e){"Escape"!==e.key&&"Esc"!==e.key||this.hideTooltip()}positionTooltip(e,t){var i=e.getBoundingClientRect();t.style.position="fixed",t.style.left="-9999px",t.style.top="-9999px";var s=t.getBoundingClientRect(),n=i.left+i.width/2,a=n-s.width/2,r=i.top-s.height-8,l=!1;r<0&&(r=i.bottom+8,l=!0),a<0&&(a=0);var o=document.documentElement.clientWidth;a+s.width>o&&(a=o-s.width);var h=n-a;t.style.setProperty("--ecl-tooltip-arrow-left",h+"px"),t.classList.toggle("ecl-tooltip--bottom",l),t.style.top=r+"px",t.style.left=a+"px"}displayTooltip(e){var t=this.getOrCreatePopup(e),i=e.getAttribute("data-ecl-tooltip")||e.getAttribute("data-ecl-tooltip-inverted");i&&(this.currentPopup&&this.currentPopup!==t&&this.hideTooltip(),this.currentTrigger=e,this.currentPopup=t,t.textContent=i,t.classList.toggle("ecl-tooltip--inverted",e.hasAttribute("data-ecl-tooltip-inverted")),t.removeAttribute("aria-hidden"),this.usePopoverApi?t.showPopover():t.style.display="block",this.positionTooltip(e,t))}hideTooltip(){this.clearHideTimeout(),this.currentPopup&&(this.usePopoverApi?this.currentPopup.hidePopover():this.currentPopup.style.display="none",this.currentPopup.setAttribute("aria-hidden","true"),this.currentTrigger=null,this.currentPopup=null)}}var vt={autoInit:function(e){var t=void 0===e?{}:e,i=t.root,s=void 0===i?document:i,n=function(e,t){if(null==e)return{};var i={};for(var s in e)if({}.hasOwnProperty.call(e,s)){if(-1!==t.indexOf(s))continue;i[s]=e[s]}return i}(t,d);if(!ECL)throw new TypeError("Called autoInit but ECL is not present");var a=h("[data-ecl-auto-init]",s),r=()=>{a.filter(e=>"true"!==e.getAttribute("data-ecl-auto-initialized")).forEach(e=>{var t=e.getAttribute("data-ecl-auto-init");if(!t)throw new TypeError("(ecl-auto-init) "+t+" data-ecl-auto-init is empty");var i=ECL[t];if("function"!=typeof i)throw new TypeError("(ecl-auto-init) Could not find '"+t+"'");if("function"!=typeof i.autoInit)throw new TypeError("(ecl-auto-init) Could not find autoInit for '"+t+"'");i.autoInit(e,n)})};return r(),{update:()=>r(),destroy:()=>{ECL.components&&ECL.components.forEach((e,t)=>{e.destroy&&(e.destroy(),ECL.components.delete(t))})}}},Banner:m,Carousel:p,CategoryFilter:v,Datepicker:g,Breadcrumb:b,ContentBlock:f,DescriptionList:y,Expandable:L,FileDownload:k,FileUpload:E,Gallery:de,Indicator:ue,InpageNavigation:Se,MediaContainer:Ae,MegaMenu:_e,Menu:Ge,Modal:Ve,NewsTicker:We,Notification:Ue,PageHeaderExpandable:je,Popover:qe,Range:Ye,Select:nt,SiteHeader:ht,Tabs:dt,Table:ct,Timeline:ut,Tooltip:pt};"undefined"!=typeof globalThis?globalThis.ECL=vt:"undefined"!=typeof window&&(window.ECL=vt);export{vt as ECL};ECL.version="5.0.0-RC1";
|
|
26
|
+
*/class Ke{static getParser(e,t,i){if(void 0===t&&(t=!1),void 0===i&&(i=null),"string"!=typeof e)throw new Error("UserAgent should be a string");return new He(e,t,i)}static parse(e,t){return void 0===t&&(t=null),new He(e,t).getResult()}static get BROWSER_MAP(){return Oe}static get ENGINE_MAP(){return Pe}static get OS_MAP(){return Me}static get PLATFORMS_MAP(){return Te}}class Ge{static autoInit(e,t){var i=(void 0===t?{}:t).MENU,s=new Ge(e,void 0===i?{}:i);return s.init(),e.ECLMenu=s,s}constructor(e,t){var i=void 0===t?{}:t,s=i.openSelector,n=void 0===s?"[data-ecl-menu-open]":s,a=i.closeSelector,r=void 0===a?"[data-ecl-menu-close]":a,l=i.backSelector,o=void 0===l?"[data-ecl-menu-back]":l,h=i.innerSelector,c=void 0===h?"[data-ecl-menu-inner]":h,d=i.listSelector,m=void 0===d?"[data-ecl-menu-list]":d,p=i.itemSelector,v=void 0===p?"[data-ecl-menu-item]":p,g=i.linkSelector,b=void 0===g?"[data-ecl-menu-link]":g,f=i.buttonPreviousSelector,y=void 0===f?"[data-ecl-menu-items-previous]":f,L=i.buttonNextSelector,k=void 0===L?"[data-ecl-menu-items-next]":L,E=i.caretSelector,C=void 0===E?"[data-ecl-menu-caret]":E,w=i.megaSelector,S=void 0===w?"[data-ecl-menu-mega]":w,A=i.subItemSelector,_=void 0===A?"[data-ecl-menu-subitem]":A,x=i.maxLines,O=void 0===x?2:x,T=i.maxLinesAttribute,M=void 0===T?"data-ecl-menu-max-lines":T,P=i.labelOpenAttribute,I=void 0===P?"data-ecl-menu-label-open":P,B=i.labelCloseAttribute,N=void 0===B?"data-ecl-menu-label-close":B,D=i.attachClickListener,F=void 0===D||D,R=i.attachTouchListener,z=void 0===R||R,H=i.attachHoverListener,K=void 0===H||H,G=i.attachFocusListener,V=void 0===G||G,W=i.attachKeyListener,U=void 0===W||W,j=i.attachResizeListener,q=void 0===j||j,Y=i.onCloseCallback,X=void 0===Y?null:Y,Q=i.onOpenCallback,J=void 0===Q?null:Q;if(this.supportedEvents=["onOpen","onClose"],!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");this.element=e,this.eventManager=new u,this.openSelector=n,this.closeSelector=r,this.backSelector=o,this.innerSelector=c,this.listSelector=m,this.itemSelector=v,this.linkSelector=b,this.buttonPreviousSelector=y,this.buttonNextSelector=k,this.caretSelector=C,this.megaSelector=S,this.subItemSelector=_,this.maxLines=O,this.maxLinesAttribute=M,this.labelOpenAttribute=I,this.labelCloseAttribute=N,this.attachClickListener=F,this.attachTouchListener=z,this.attachHoverListener=K,this.attachFocusListener=V,this.attachKeyListener=U,this.attachResizeListener=q,this.onOpenCallback=J,this.onCloseCallback=X,this.direction="ltr",this.open=null,this.close=null,this.toggleLabel=null,this.back=null,this.backItem=null,this.inner=null,this.itemsList=null,this.items=null,this.links=null,this.btnPrevious=null,this.btnNext=null,this.isOpen=!1,this.resizeTimer=null,this.isKeyEvent=!1,this.isDesktop=!1,this.hasOverflow=!1,this.offsetLeft=0,this.lastVisibleItem=null,this.currentItem=null,this.totalItemsWidth=0,this.breakpointTablet=768,this.breakpointDesktop=1140,this.windowWidth=null,this.ignorehover=!1,this.handleClickOnOpen=this.handleClickOnOpen.bind(this),this.handleClickOnClose=this.handleClickOnClose.bind(this),this.handleClickOnToggle=this.handleClickOnToggle.bind(this),this.handleClickOnBack=this.handleClickOnBack.bind(this),this.handleClickOnNextItems=this.handleClickOnNextItems.bind(this),this.handleClickOnPreviousItems=this.handleClickOnPreviousItems.bind(this),this.handleClickOnCaret=this.handleClickOnCaret.bind(this),this.handleClickGlobal=this.handleClickGlobal.bind(this),this.openItem=this.openItem.bind(this),this.closeItem=this.closeItem.bind(this),this.handleTouchOnCaret=this.handleTouchOnCaret.bind(this),this.handleHoverOnItem=this.handleHoverOnItem.bind(this),this.handleHoverOffItem=this.handleHoverOffItem.bind(this),this.handleFocusIn=this.handleFocusIn.bind(this),this.handleKeyboard=this.handleKeyboard.bind(this),this.handleKeyboardGlobal=this.handleKeyboardGlobal.bind(this),this.handleResize=this.handleResize.bind(this),this.useDesktopDisplay=this.useDesktopDisplay.bind(this),this.checkMenuOverflow=this.checkMenuOverflow.bind(this),this.checkMenuItem=this.checkMenuItem.bind(this),this.checkMegaMenu=this.checkMegaMenu.bind(this),this.closeOpenDropdown=this.closeOpenDropdown.bind(this),this.positionMenuOverlay=this.positionMenuOverlay.bind(this),this.disableScroll=this.disableScroll.bind(this),this.enableScroll=this.enableScroll.bind(this)}init(){if(!ECL)throw new TypeError("Called init but ECL is not present");ECL.components=ECL.components||new Map,this.direction=getComputedStyle(this.element).direction,this.open=c(this.openSelector,this.element),this.close=c(this.closeSelector,this.element),this.toggleLabel=c(".ecl-button__label",this.open),this.back=c(this.backSelector,this.element),this.inner=c(this.innerSelector,this.element),this.itemsList=c(this.listSelector,this.element),this.btnPrevious=c(this.buttonPreviousSelector,this.element),this.btnNext=c(this.buttonNextSelector,this.element),this.items=h(this.itemSelector,this.element),this.subItems=h(this.subItemSelector,this.element),this.links=h(this.linkSelector,this.element),this.carets=h(this.caretSelector,this.element);var e=this.element.getAttribute(this.maxLinesAttribute);e&&(this.maxLines=e),this.isDesktop=this.useDesktopDisplay(),this.attachClickListener&&(this.open&&this.open.addEventListener("click",this.handleClickOnToggle),this.close&&this.close.addEventListener("click",this.handleClickOnClose),this.back&&this.back.addEventListener("click",this.handleClickOnBack),this.btnPrevious&&this.btnPrevious.addEventListener("click",this.handleClickOnPreviousItems),this.btnNext&&this.btnNext.addEventListener("click",this.handleClickOnNextItems),this.attachClickListener&&document.addEventListener("click",this.handleClickGlobal)),this.links&&this.links.forEach(e=>{this.attachFocusListener&&(e.addEventListener("focusin",this.closeOpenDropdown),e.addEventListener("focusin",this.handleFocusIn)),this.attachKeyListener&&e.addEventListener("keyup",this.handleKeyboard)}),this.carets&&this.carets.forEach(e=>{this.attachFocusListener&&e.addEventListener("focusin",this.handleFocusIn),this.attachKeyListener&&e.addEventListener("keyup",this.handleKeyboard),this.attachClickListener&&e.addEventListener("click",this.handleClickOnCaret),e.parentElement.hasAttribute("data-ecl-has-children")&&this.attachTouchListener&&e.addEventListener("touchstart",this.handleTouchOnCaret)}),this.subItems&&this.subItems.forEach(e=>{var t=c(".ecl-menu__sublink",e);this.attachKeyListener&&t&&t.addEventListener("keyup",this.handleKeyboard)}),this.attachKeyListener&&document.addEventListener("keyup",this.handleKeyboardGlobal),this.attachResizeListener&&(this.windowWidth=window.innerWidth,window.addEventListener("resize",this.handleResize)),this.items&&this.items.forEach(e=>{this.checkMenuItem(e),this.totalItemsWidth+=e.offsetWidth,e.hasAttribute("data-ecl-has-children")&&this.attachHoverListener&&(e.addEventListener("mouseover",this.handleHoverOnItem),e.addEventListener("mouseout",this.handleHoverOffItem))}),this.positionMenuOverlay(),this.checkMenuOverflow(),this.currentItem&&("false"===this.currentItem.getAttribute("data-ecl-menu-item-visible")?this.btnNext.classList.add("ecl-menu__item--current"):this.btnPrevious.classList.add("ecl-menu__item--current")),this.focusTrap=ce(this.element,{clickOutsideDeactivates:!0,onActivate:()=>this.element.classList.add("trap-is-active"),onDeactivate:()=>this.element.classList.remove("trap-is-active")}),"rtl"===this.direction&&this.element.classList.add("ecl-menu--rtl"),setTimeout(()=>{this.element.classList.add("ecl-menu--transition")},500),this.element.setAttribute("data-ecl-auto-initialized","true"),ECL.components.set(this.element,this)}on(e,t){this.eventManager.on(e,t)}trigger(e,t){this.eventManager.trigger(e,t)}destroy(){this.attachClickListener&&(this.open&&this.open.removeEventListener("click",this.handleClickOnToggle),this.close&&this.close.removeEventListener("click",this.handleClickOnClose),this.back&&this.back.removeEventListener("click",this.handleClickOnBack),this.btnPrevious&&this.btnPrevious.removeEventListener("click",this.handleClickOnPreviousItems),this.btnNext&&this.btnNext.removeEventListener("click",this.handleClickOnNextItems),this.attachClickListener&&document.removeEventListener("click",this.handleClickGlobal)),this.attachKeyListener&&this.carets&&this.carets.forEach(e=>{e.removeEventListener("keyup",this.handleKeyboard)}),this.items&&this.isDesktop&&this.items.forEach(e=>{e.hasAttribute("data-ecl-has-children")&&this.attachHoverListener&&(e.removeEventListener("mouseover",this.handleHoverOnItem),e.removeEventListener("mouseout",this.handleHoverOffItem))}),this.links&&this.links.forEach(e=>{this.attachFocusListener&&(e.removeEventListener("focusin",this.closeOpenDropdown),e.removeEventListener("focusin",this.handleFocusIn)),this.attachKeyListener&&e.removeEventListener("keyup",this.handleKeyboard)}),this.carets&&this.carets.forEach(e=>{this.attachFocusListener&&e.removeEventListener("focusin",this.handleFocusIn),this.attachKeyListener&&e.removeEventListener("keyup",this.handleKeyboard),this.attachClickListener&&e.removeEventListener("click",this.handleClickOnCaret)}),this.subItems&&this.subItems.forEach(e=>{var t=c(".ecl-menu__sublink",e);this.attachKeyListener&&t&&t.removeEventListener("keyup",this.handleKeyboard)}),this.attachKeyListener&&document.removeEventListener("keyup",this.handleKeyboardGlobal),this.attachResizeListener&&window.removeEventListener("resize",this.handleResize),this.element&&(this.element.removeAttribute("data-ecl-auto-initialized"),ECL.components.delete(this.element))}disableScroll(){document.body.classList.add("no-scroll")}enableScroll(){document.body.classList.remove("no-scroll")}useDesktopDisplay(){var e=Ke.getParser(window.navigator.userAgent),t="mobile"===e.getPlatformType(),i="tablet"===e.getPlatformType();return!(t&&window.innerWidth<this.breakpointTablet)&&(i?(this.element.classList.add("ecl-menu--forced-mobile"),!1):!(window.innerWidth<this.breakpointDesktop)&&(this.element.classList.remove("ecl-menu--forced-mobile"),!0))}handleResize(){window.innerWidth!==this.windowWidth&&(document.documentElement.scrollTop=0,document.body.scrollTop=0,this.element.classList.remove("ecl-menu--transition"),"rtl"===this.direction?this.element.classList.add("ecl-menu--rtl"):this.element.classList.remove("ecl-menu--rtl"),clearTimeout(this.resizeTimer),this.resizeTimer=setTimeout(()=>{this.element.classList.remove("ecl-menu--forced-mobile"),this.isDesktop=this.useDesktopDisplay(),this.isDesktop&&this.focusTrap.deactivate(),this.totalItemsWidth=0,this.items&&this.items.forEach(e=>{this.checkMenuItem(e),this.totalItemsWidth+=e.offsetWidth}),this.checkMenuOverflow(),this.positionMenuOverlay(),this.element.classList.add("ecl-menu--transition"),this.windowWidth=window.innerWidth},200))}positionMenuOverlay(){var e=c(".ecl-menu__overlay",this.element);this.isDesktop?(this.enableScroll(),this.inner&&(this.inner.style.top=""),e&&(e.style.top="")):(this.isOpen&&this.disableScroll(),setTimeout(()=>{var t=c(".ecl-site-header__header",document);if(t){var i=t.getBoundingClientRect(),s=Math.round(i.bottom);e&&(e.style.top=s+"px"),this.inner&&(this.inner.style.top=s+"px")}},500))}checkMenuOverflow(){if(this.itemsList||(this.itemsList=c(".ecl-menu__list",this.element)),this.itemsList&&this.inner&&this.btnNext&&this.btnPrevious&&this.items){if(this.hasOverflow=this.totalItemsWidth>this.inner.offsetWidth+16,!this.hasOverflow||!this.isDesktop)return this.btnPrevious&&(this.btnPrevious.style.display="none"),this.btnNext&&(this.btnNext.style.display="none"),this.itemsList&&(this.itemsList.style.left="0"),this.inner&&this.inner.classList.remove("ecl-menu__inner--has-overflow"),this.offsetLeft=0,this.totalItemsWidth=0,void(this.lastVisibleItem=null);this.inner&&this.inner.classList.add("ecl-menu__inner--has-overflow"),this.items&&this.items.forEach(e=>{e.removeAttribute("data-ecl-menu-item-visible")}),0===this.offsetLeft?(this.btnNext.style.display="flex","rtl"===this.direction?this.items.every(e=>e.getBoundingClientRect().left<this.itemsList.getBoundingClientRect().left?(this.lastVisibleItem=e,!1):(e.setAttribute("data-ecl-menu-item-visible",!0),!0)):this.items.every(e=>e.getBoundingClientRect().right>this.itemsList.getBoundingClientRect().right?(this.lastVisibleItem=e,!1):(e.setAttribute("data-ecl-menu-item-visible",!0),!0))):"rtl"===this.direction?this.items.forEach(e=>{e.getBoundingClientRect().right<=this.inner.getBoundingClientRect().right&&e.setAttribute("data-ecl-menu-item-visible",!0)}):this.items.forEach(e=>{e.getBoundingClientRect().left>=this.inner.getBoundingClientRect().left&&e.setAttribute("data-ecl-menu-item-visible",!0)})}}checkMenuItem(e){var t=c(this.linkSelector,e);if(e.classList.contains("ecl-menu__item--current")&&(this.currentItem=e),this.isDesktop){if(!(this.maxLines<1)){e.style.alignItems="flex-start";for(var i=t.offsetWidth,s=window.getComputedStyle(t),n=parseInt(s.lineHeight,10)*this.maxLines+parseInt(s.paddingTop,10)+parseInt(s.paddingBottom,10);t.offsetHeight>n&&(t.style.width=(i+=1)+"px",!(i>1e3)););e.style.alignItems="unset"}}else t.style.width="auto"}checkMegaMenu(e){var t=c(this.megaSelector,e);if(t&&this.inner){var i=h(this.subItemSelector,t);if(i.length<5)e.classList.add("ecl-menu__item--col1");else if(i.length<9)e.classList.add("ecl-menu__item--col2");else{if(!(i.length<13))return e.classList.add("ecl-menu__item--full"),void("rtl"===this.direction?t.style.right=this.offsetLeft+"px":t.style.left=this.offsetLeft+"px");e.classList.add("ecl-menu__item--col3")}var s=t.getBoundingClientRect(),n=this.inner.getBoundingClientRect(),a=e.getBoundingClientRect(),r=s.width,l=n.width;a.left-n.left+r>l?t.classList.add("ecl-menu__mega--rtl"):t.classList.remove("ecl-menu__mega--rtl")}}handleKeyboard(e){var t=e.target,i=t.classList,s=this.element.getAttribute("data-expanded"),n=t.closest(this.itemSelector);if("Escape"!==e.key&&"Esc"!==e.key){if(i.contains("ecl-menu__button-caret")&&"false"===s&&"ArrowDown"===e.key){e.preventDefault();var a=c(".ecl-menu__sublink:first-of-type",n);if(a)return this.handleHoverOnItem(e),void a.focus()}if(i.contains("ecl-menu__link")||i.contains("ecl-menu__button-caret")){if("ArrowLeft"===e.key||"ArrowUp"===e.key){e.preventDefault();var r=t.previousSibling;if(r&&r.classList.contains("ecl-menu__link"))return void r.focus();if(r=t.parentElement.previousSibling){var l=r.classList.contains("ecl-menu__item--has-children")?".ecl-menu__button-caret":".ecl-menu__link",o=c(l,r);if(o)return void o.focus()}}if("ArrowRight"===e.key||"ArrowDown"===e.key){e.preventDefault();var h=t.nextSibling;if(h&&h.classList.contains("ecl-menu__button-caret"))return void h.focus();if(h=t.parentElement.nextSibling){var d=c(".ecl-menu__link",h);d&&d.focus()}}}if(i.contains("ecl-menu__sublink")){if("ArrowDown"===e.key){var u=t.parentElement.nextSibling;if(u){var m=c(".ecl-menu__sublink",u);if(m)return void m.focus()}}if("ArrowUp"===e.key){var p=t.parentElement.previousSibling;if(p){var v=c(".ecl-menu__sublink",p);v&&v.focus()}else{var g=c(this.itemSelector+'[aria-expanded="true"] '+this.caretSelector,this.element);g&&g.focus()}}}}else if(document.activeElement===t&&t.blur(),!s){var b=c(".ecl-menu__button-caret",n);b&&b.focus(),this.closeOpenDropdown()}}handleKeyboardGlobal(e){var t=this.element.getAttribute("data-expanded");"Escape"!==e.key&&"Esc"!==e.key||(t&&this.handleClickOnClose(),this.items.forEach(e=>{e.setAttribute("aria-expanded","false")}),this.carets.forEach(e=>{e.setAttribute("aria-expanded","false")}))}handleClickOnOpen(e){e.preventDefault(),this.element.setAttribute("data-expanded",!0),this.inner.setAttribute("aria-hidden","false"),this.disableScroll(),this.open.setAttribute("aria-expanded","true"),this.isOpen=!0,this.focusTrap.activate();var t=this.element.getAttribute(this.labelCloseAttribute);return this.toggleLabel&&t&&(this.toggleLabel.innerHTML=t),this.links.length>0&&this.links[0].focus(),this.trigger("onOpen",e),this}handleClickOnClose(e){this.element.removeAttribute("data-expanded"),this.inner.classList.remove("ecl-menu__inner--expanded"),this.inner.setAttribute("aria-hidden","true"),this.open.setAttribute("aria-expanded","false"),this.items.forEach(e=>{e.classList.remove("ecl-menu__item--expanded"),e.setAttribute("aria-expanded","false")});var t=this.element.getAttribute(this.labelOpenAttribute);return this.toggleLabel&&t&&(this.toggleLabel.innerHTML=t),this.enableScroll(),this.focusTrap.deactivate(),this.isOpen=!1,this.trigger("onClose",e),this}handleClickOnToggle(e){e.preventDefault(),this.isOpen?this.handleClickOnClose(e):this.handleClickOnOpen(e)}handleClickOnBack(){if(this.inner.classList.remove("ecl-menu__inner--expanded"),this.items.forEach(e=>{e.classList.remove("ecl-menu__item--expanded"),e.setAttribute("aria-expanded","false")}),this.backItem){var e=c(this.caretSelector,this.backItem);e&&e.focus()}return this}handleClickOnPreviousItems(){this.itemsList&&this.btnNext&&(this.offsetLeft=0,"rtl"===this.direction?(this.itemsList.style.right="0",this.itemsList.style.left="auto"):(this.itemsList.style.left="0",this.itemsList.style.right="auto"),this.btnPrevious.style.display="none",this.btnNext.style.display="flex",this.items&&this.items.forEach(e=>{this.checkMenuItem(e),e.toggleAttribute("data-ecl-menu-item-visible")}))}handleClickOnNextItems(){this.itemsList&&this.items&&this.btnPrevious&&this.lastVisibleItem&&(this.btnPrevious.style.display="flex",this.btnNext.style.display="none","rtl"===this.direction?(this.offsetLeft=this.itemsList.getBoundingClientRect().right-this.lastVisibleItem.getBoundingClientRect().right-this.btnPrevious.offsetWidth,this.itemsList.style.right="-"+this.offsetLeft+"px",this.itemsList.style.left="auto"):(this.offsetLeft=this.lastVisibleItem.getBoundingClientRect().left-this.itemsList.getBoundingClientRect().left-this.btnPrevious.offsetWidth,this.itemsList.style.left="-"+this.offsetLeft+"px",this.itemsList.style.right="auto"),this.items&&this.items.forEach(e=>{this.checkMenuItem(e),e.toggleAttribute("data-ecl-menu-item-visible")}))}handleClickOnCaret(e){var t=this.element.getAttribute("data-expanded"),i=e.target.closest(this.itemSelector);if(t){this.inner.classList.add("ecl-menu__inner--expanded"),this.items.forEach(e=>{e===i?(e.classList.add("ecl-menu__item--expanded"),e.setAttribute("aria-expanded","true"),this.backItem=e):(e.classList.remove("ecl-menu__item--expanded"),e.setAttribute("aria-expanded","false"))}),this.checkMegaMenu(i);var s=c(".ecl-menu__subitem:first-of-type .ecl-menu__sublink",i);s&&s.focus(),this.ignorehover=!1}else"true"===i.getAttribute("aria-expanded")?this.closeItem(e):this.openItem(e)}openItem(e){var t=e.target.closest(this.itemSelector);this.hasOverflow&&!t.hasAttribute("data-ecl-menu-item-visible")||(this.items.forEach(e=>{var i=c(this.caretSelector,e);e===t?(e.setAttribute("aria-expanded","true"),i&&i.setAttribute("aria-expanded","true")):(e.setAttribute("aria-expanded","false"),i&&(i.setAttribute("aria-expanded","false"),i.blur()))}),this.checkMegaMenu(t))}closeItem(e){var t=e.target.closest(this.itemSelector);t.setAttribute("aria-expanded","false");var i=c(this.caretSelector,t);return i&&i.setAttribute("aria-expanded","false"),this}handleTouchOnCaret(){this.ignorehover=!0}handleHoverOnItem(e){this.ignorehover||this.openItem(e)}handleHoverOffItem(e){this.ignorehover||this.closeItem(e)}closeOpenDropdown(){var e=c(this.itemSelector+"[aria-expanded='true']",this.element);if(e){e.setAttribute("aria-expanded","false");var t=c(this.caretSelector,e);t&&t.setAttribute("aria-expanded","false")}}handleFocusIn(e){var t=e.target;this.isDesktop&&this.hasOverflow&&(t.closest("[data-ecl-menu-item]").hasAttribute("data-ecl-menu-item-visible")||(0===this.offsetLeft?this.handleClickOnNextItems():this.handleClickOnPreviousItems()))}handleClickGlobal(e){this.isOpen&&(this.inner.contains(e.target)||this.open.contains(e.target)||this.handleClickOnClose(e))}}class Ve{static autoInit(e,t){var i=(void 0===t?{}:t).MODAL,s=new Ve(e,void 0===i?{}:i);return s.init(),e.ECLModal=s,s}constructor(e,t){var i=void 0===t?{}:t,s=i.toggleSelector,n=void 0===s?"":s,a=i.closeSelector,r=void 0===a?"[data-ecl-modal-close]":a,l=i.scrollSelector,o=void 0===l?"[data-ecl-modal-scroll]":l,h=i.attachClickListener,c=void 0===h||h,d=i.attachKeyListener,u=void 0===d||d;if(!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");this.element=e,this.toggleSelector=n,this.closeSelector=r,this.scrollSelector=o,this.attachClickListener=c,this.attachKeyListener=u,this.toggle=null,this.close=null,this.scroll=null,this.focusTrap=null,this.previousOverflow=null,this.openModal=this.openModal.bind(this),this.closeModal=this.closeModal.bind(this),this.handleClickOnToggle=this.handleClickOnToggle.bind(this),this.handleKeyboardGlobal=this.handleKeyboardGlobal.bind(this)}init(){if(!ECL)throw new TypeError("Called init but ECL is not present");ECL.components=ECL.components||new Map,this.attachKeyListener&&document.addEventListener("keyup",this.handleKeyboardGlobal),""===this.toggleSelector&&(this.toggleSelector="#"+this.element.getAttribute("data-ecl-modal-toggle")),this.toggle=document.querySelector(this.toggleSelector),this.toggle&&(this.toggle.setAttribute("aria-controls",this.element.id),this.toggle.getAttribute("aria-haspopup")||this.toggle.setAttribute("aria-haspopup","dialog")),this.close=h(this.closeSelector,this.element),this.scroll=c(this.scrollSelector,this.element),this.focusTrap=ce(this.element),this.isDialogSupported=!0,window.HTMLDialogElement||(this.isDialogSupported=!1),this.toggle&&this.attachClickListener&&this.toggle.addEventListener("click",this.handleClickOnToggle),this.close&&this.attachClickListener&&this.close.forEach(e=>{e.addEventListener("click",this.closeModal)}),this.element.setAttribute("data-ecl-auto-initialized","true"),ECL.components.set(this.element,this)}destroy(){this.toggle&&this.attachClickListener&&this.toggle.removeEventListener("click",this.handleClickOnToggle),this.attachKeyListener&&document.removeEventListener("keyup",this.handleKeyboardGlobal),this.close&&this.attachClickListener&&this.close.forEach(e=>{e.removeEventListener("click",this.closeModal)}),this.element.removeAttribute("data-ecl-auto-initialized"),ECL.components.delete(this.element)}checkScroll(){this.scroll&&(this.scroll.parentNode.classList.remove("ecl-modal__body--has-scroll"),this.scroll.scrollHeight>this.scroll.clientHeight&&this.scroll.parentNode.classList.add("ecl-modal__body--has-scroll"))}handleClickOnToggle(e){e.preventDefault(),"true"===this.toggle.getAttribute("aria-expanded")?this.closeModal():this.openModal()}openModal(){this.isDialogSupported?this.element.showModal():this.element.setAttribute("open",""),this.previousOverflow=document.body.style.overflow,document.body.style.overflow="hidden",this.checkScroll(),this.focusTrap.activate()}closeModal(){this.isDialogSupported?this.element.close():this.element.removeAttribute("open"),document.body.style.overflow=this.previousOverflow,this.focusTrap.active&&this.focusTrap.deactivate()}handleKeyboardGlobal(e){"Escape"!==e.key&&"Esc"!==e.key||this.closeModal()}}class We{static autoInit(e,t){var i=(void 0===t?{}:t).NEWS_TICKER,s=new We(e,void 0===i?{}:i);return s.init(),e.ECLNewsTicker=s,s}constructor(e,t){var i=void 0===t?{}:t,s=i.playSelector,n=void 0===s?"[data-ecl-news-ticker-play]":s,a=i.pauseSelector,r=void 0===a?"[data-ecl-news-ticker-pause]":a,l=i.prevSelector,o=void 0===l?"[data-ecl-news-ticker-prev]":l,h=i.nextSelector,c=void 0===h?"[data-ecl-news-ticker-next]":h,d=i.containerClass,u=void 0===d?".ecl-news-ticker__container":d,m=i.contentClass,p=void 0===m?".ecl-news-ticker__content":m,v=i.slidesClass,g=void 0===v?".ecl-news-ticker__slides":v,b=i.slideClass,f=void 0===b?".ecl-news-ticker__slide":b,y=i.currentSlideClass,L=void 0===y?".ecl-news-ticker__counter--current":y,k=i.controlsClass,E=void 0===k?".ecl-news-ticker__controls":k,C=i.attachClickListener,w=void 0===C||C,S=i.attachResizeListener,A=void 0===S||S;if(!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");this.element=e,this.playSelector=n,this.pauseSelector=r,this.prevSelector=o,this.nextSelector=c,this.containerClass=u,this.contentClass=p,this.slidesClass=g,this.slideClass=f,this.currentSlideClass=L,this.controlsClass=E,this.attachClickListener=w,this.attachResizeListener=A,this.container=null,this.content=null,this.slides=null,this.btnPlay=null,this.btnPause=null,this.btnPrev=null,this.btnNext=null,this.index=1,this.total=0,this.allowShift=!0,this.autoPlay=null,this.autoPlayInterval=null,this.hoverAutoPlay=null,this.resizeTimer=null,this.cloneFirstSLide=null,this.cloneLastSLide=null,this.resizeTimer=null,this.handleAutoPlay=this.handleAutoPlay.bind(this),this.handleMouseOver=this.handleMouseOver.bind(this),this.handleMouseOut=this.handleMouseOut.bind(this),this.shiftSlide=this.shiftSlide.bind(this),this.checkIndex=this.checkIndex.bind(this),this.moveSlides=this.moveSlides.bind(this),this.handleResize=this.handleResize.bind(this),this.handleFocus=this.handleFocus.bind(this)}init(){if(!ECL)throw new TypeError("Called init but ECL is not present");if(ECL.components=ECL.components||new Map,this.btnPlay=c(this.playSelector,this.element),this.btnPause=c(this.pauseSelector,this.element),this.btnPrev=c(this.prevSelector,this.element),this.btnNext=c(this.nextSelector,this.element),this.slidesContainer=c(this.slidesClass,this.element),this.container=c(this.containerClass,this.element),this.content=c(this.contentClass,this.element),this.controls=c(this.controlsClass,this.element),this.slides=h(this.slideClass,this.element),this.total=this.slides.length,this.total<=1&&this.controls)return this.content.style.height="auto",this.controls.style.display="none",!1;var e=this.slides[0],t=this.slides[this.slides.length-1];return this.cloneFirstSLide=e.cloneNode(!0),this.cloneLastSLide=t.cloneNode(!0),this.slidesContainer.appendChild(this.cloneFirstSLide),this.slidesContainer.insertBefore(this.cloneLastSLide,e),this.slides=h(this.slideClass,this.element),this.handleResize(),this.handleAutoPlay(),this.attachClickListener&&this.btnPlay&&this.btnPause&&(this.btnPlay.addEventListener("click",this.handleAutoPlay),this.btnPause.addEventListener("click",this.handleAutoPlay)),this.attachClickListener&&this.btnNext&&this.btnNext.addEventListener("click",this.shiftSlide.bind(this,1,!0)),this.attachClickListener&&this.btnPrev&&this.btnPrev.addEventListener("click",this.shiftSlide.bind(this,-1,!0)),this.slidesContainer&&(this.slidesContainer.addEventListener("transitionend",this.checkIndex),this.slidesContainer.addEventListener("mouseover",this.handleMouseOver),this.slidesContainer.addEventListener("mouseout",this.handleMouseOut)),this.container&&this.container.addEventListener("focus",this.handleFocus,!0),this.attachResizeListener&&window.addEventListener("resize",this.handleResize),this.element.setAttribute("data-ecl-auto-initialized","true"),ECL.components.set(this.element,this),this}destroy(){this.cloneFirstSLide&&this.cloneLastSLide&&(this.cloneFirstSLide.remove(),this.cloneLastSLide.remove()),this.btnPlay&&this.btnPlay.replaceWith(this.btnPlay.cloneNode(!0)),this.btnPause&&this.btnPause.replaceWith(this.btnPause.cloneNode(!0)),this.btnNext&&this.btnNext.replaceWith(this.btnNext.cloneNode(!0)),this.btnPrev&&this.btnPrev.replaceWith(this.btnPrev.cloneNode(!0)),this.slidesContainer&&(this.slidesContainer.removeEventListener("transitionend",this.checkIndex),this.slidesContainer.removeEventListener("mouseover",this.handleMouseOver),this.slidesContainer.removeEventListener("mouseout",this.handleMouseOut)),this.container&&this.container.removeEventListener("focus",this.handleFocus,!0),this.attachResizeListener&&window.removeEventListener("resize",this.handleResize),this.autoPlayInterval&&(clearInterval(this.autoPlayInterval),this.autoPlay=null),this.element&&(this.element.removeAttribute("data-ecl-auto-initialized"),ECL.components.delete(this.element))}shiftSlide(e,t){this.allowShift&&(this.index=1===e?this.index+1:this.index-1,this.moveSlides(!0)),t&&this.autoPlay&&this.handleAutoPlay(),this.allowShift=!1}moveSlides(e){var t=this.slides[this.index].offsetTop,i=Math.floor(this.slides[this.index].getBoundingClientRect().height);this.content.style.height=i+"px",this.slidesContainer.style.transitionDuration=e?"0.4s":"1ms",this.slidesContainer.style.transform="translate3d(0px, -"+t+"px, 0px)"}checkIndex(){0===this.index&&(this.index=this.total,this.moveSlides(!1)),this.index===this.total+1&&(this.index=1,this.moveSlides(!1)),c(this.currentSlideClass,this.element).textContent=this.index,this.slides&&this.slides.forEach((e,t)=>{var i=c(".ecl-link",e);this.index===t?(e.removeAttribute("inert","true"),i&&i.removeAttribute("tabindex",-1)):(e.setAttribute("inert","true"),i&&i.setAttribute("tabindex",-1))}),this.allowShift=!0}handleAutoPlay(){if(this.autoPlay){clearInterval(this.autoPlayInterval),this.autoPlay=!1;var e=document.activeElement===this.btnPause;this.btnPlay.style.display="flex",this.btnPause.style.display="none",e&&this.btnPlay.focus()}else{this.autoPlayInterval=setInterval(()=>{this.shiftSlide(1)},5e3),this.autoPlay=!0;var t=document.activeElement===this.btnPlay;this.btnPlay.style.display="none",this.btnPause.style.display="flex",t&&this.btnPause.focus()}}handleMouseOver(){return this.hoverAutoPlay=this.autoPlay,this.hoverAutoPlay&&this.handleAutoPlay(),this}handleMouseOut(){return this.hoverAutoPlay&&this.handleAutoPlay(),this}handleResize(){clearTimeout(this.resizeTimer),this.resizeTimer=setTimeout(()=>{this.moveSlides(!1)},100)}handleFocus(e){var t=e.target;return t&&t.contains(document.activeElement)&&this.autoPlay&&this.handleAutoPlay(),this}}class Ue{static autoInit(e,t){var i=(void 0===t?{}:t).NOTIFICATION,s=new Ue(e,void 0===i?{}:i);return s.init(),e.ECLNotification=s,s}constructor(e,t){var i=void 0===t?{}:t,s=i.closeSelector,n=void 0===s?"[data-ecl-notification-close]":s,a=i.attachClickListener,r=void 0===a||a;if(this.supportedEvents=["onClose"],!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");this.element=e,this.eventManager=new u,this.closeSelector=n,this.attachClickListener=r,this.close=null,this.handleClickOnClose=this.handleClickOnClose.bind(this)}init(){if(!ECL)throw new TypeError("Called init but ECL is not present");ECL.components=ECL.components||new Map,this.close=c(this.closeSelector,this.element),this.attachClickListener&&this.close&&this.close.addEventListener("click",this.handleClickOnClose),this.element.setAttribute("data-ecl-auto-initialized","true"),ECL.components.set(this.element,this)}on(e,t){this.eventManager.on(e,t)}trigger(e,t){this.eventManager.trigger(e,t)}destroy(){this.attachClickListener&&this.close&&this.close.removeEventListener("click",this.handleClickOnClose),this.element&&(this.element.removeAttribute("data-ecl-auto-initialized"),ECL.components.delete(this.element))}handleClickOnClose(e){return this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.trigger("onClose",e),this}}class je{static autoInit(e,t){var i=(void 0===t?{}:t).PAGEHEADEREXPANDABLE,s=new je(e,void 0===i?{}:i);return s.init(),e.ECLPageHeaderExpandable=s,s}constructor(e,t){var i=void 0===t?{}:t,s=i.headerSelector,n=void 0===s?"[data-ecl-page-header-expandable-header]":s,a=i.toggleSelector,r=void 0===a?"[data-ecl-page-header-expandable-toggle]":a,l=i.attachClickListener,o=void 0===l||l;if(this.supportedEvents=["onToggle"],!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");this.element=e,this.eventManager=new u,this.toggleSelector=r,this.headerSelector=n,this.attachClickListener=o,this.toggle=null,this.target=null,this.header=null,this.handleClickOnHeader=this.handleClickOnHeader.bind(this),this.handleClickOnToggle=this.handleClickOnToggle.bind(this)}init(){if(!ECL)throw new TypeError("Called init but ECL is not present");if(ECL.components=ECL.components||new Map,this.toggle=c(this.toggleSelector,this.element),this.header=c(this.headerSelector,this.element),this.target=document.querySelector("#"+this.toggle.getAttribute("aria-controls")),!this.target)throw new TypeError("Target has to be provided. (aria-controls)");this.attachClickListener&&this.toggle&&this.toggle.addEventListener("click",this.handleClickOnToggle),this.attachClickListener&&this.header&&this.header.addEventListener("click",this.handleClickOnHeader),this.element.setAttribute("data-ecl-auto-initialized","true"),ECL.components.set(this.element,this)}on(e,t){this.eventManager.on(e,t)}trigger(e,t){this.eventManager.trigger(e,t)}destroy(){this.attachClickListener&&this.toggle&&this.toggle.removeEventListener("click",this.handleClickOnToggle),this.attachClickListener&&this.header&&this.header.removeEventListener("click",this.handleClickOnHeader),this.element&&(this.element.removeAttribute("data-ecl-auto-initialized"),ECL.components.delete(this.element))}handleClickOnHeader(e){e.target.closest(this.toggleSelector+", .ecl-page-header-expandable__header a")||this.handleClickOnToggle(e)}handleClickOnToggle(e){var t="true"===this.toggle.getAttribute("aria-expanded");this.toggle.setAttribute("aria-expanded",t?"false":"true"),this.target.hidden=!!t;var i={expanded:!t,e:e};this.trigger("onToggle",i)}}class qe{static autoInit(e,t){var i=(void 0===t?{}:t).POPOVER,s=new qe(e,void 0===i?{}:i);return s.init(),e.ECLPopover=s,s}constructor(e,t){var i=void 0===t?{}:t,s=i.toggleSelector,n=void 0===s?"[data-ecl-popover-toggle]":s,a=i.closeSelector,r=void 0===a?"[data-ecl-popover-close]":a,l=i.attachClickListener,o=void 0===l||l,h=i.attachKeyListener,c=void 0===h||h;if(this.supportedEvents=["onOpen","onClose"],!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");this.element=e,this.eventManager=new u,this.toggleSelector=n,this.closeSelector=r,this.attachClickListener=o,this.attachKeyListener=c,this.toggle=null,this.close=null,this.target=null,this.container=null,this.resizeTimer=null,this.scrollableParent=null,this.toggleRect=null,this.scrollable=null,this.openPopover=this.openPopover.bind(this),this.closePopover=this.closePopover.bind(this),this.positionPopover=this.positionPopover.bind(this),this.handleClickOnToggle=this.handleClickOnToggle.bind(this),this.handleKeyboardGlobal=this.handleKeyboardGlobal.bind(this),this.handleClickGlobal=this.handleClickGlobal.bind(this),this.checkPosition=this.checkPosition.bind(this),this.resetStyles=this.resetStyles.bind(this),this.getClosestScrollableParent=this.getClosestScrollableParent.bind(this),this.calculateAvailableSpace=this.calculateAvailableSpace.bind(this),this.POPOVER_CLASSES={TOP:"ecl-popover--top",BOTTOM:"ecl-popover--bottom",LEFT:"ecl-popover--left",RIGHT:"ecl-popover--right",PUSH_TOP:"ecl-popover--push-top",PUSH_BOTTOM:"ecl-popover--push-bottom",PUSH_LEFT:"ecl-popover--push-left",PUSH_RIGHT:"ecl-popover--push-right"}}init(){if(!ECL)throw new TypeError("Called init but ECL is not present");if(ECL.components=ECL.components||new Map,this.toggle=c(this.toggleSelector,this.element),this.close=c(this.closeSelector,this.element),this.container=c(".ecl-popover__container",this.element),this.scrollableParent=this.getClosestScrollableParent(this.toggle),this.attachKeyListener&&document.addEventListener("keyup",this.handleKeyboardGlobal),this.attachClickListener&&(document.addEventListener("click",this.handleClickGlobal),this.close&&this.close.addEventListener("click",this.handleClickOnToggle)),this.target=document.querySelector("#"+this.toggle.getAttribute("aria-controls")),!this.target)throw new TypeError("Target has to be provided for popover (aria-controls)");this.scrollable=this.target.firstElementChild,window.addEventListener("resize",this.checkPosition),document.addEventListener("scroll",this.checkPosition),this.attachClickListener&&this.toggle&&this.toggle.addEventListener("click",this.handleClickOnToggle),this.element.setAttribute("data-ecl-auto-initialized","true"),ECL.components.set(this.element,this)}on(e,t){this.eventManager.on(e,t)}trigger(e,t){this.eventManager.trigger(e,t)}destroy(){this.attachClickListener&&this.toggle&&this.toggle.removeEventListener("click",this.handleClickOnToggle),this.attachClickListener&&this.close&&this.close.removeEventListener("click",this.handleClickOnToggle),window.removeEventListener("resize",this.checkPosition),document.removeEventListener("scroll",this.checkPosition),this.attachKeyListener&&document.removeEventListener("keyup",this.handleKeyboardGlobal),this.attachClickListener&&document.removeEventListener("click",this.handleClickGlobal),"true"===this.toggle.getAttribute("aria-expanded")&&this.closePopover(),this.element&&(this.element.removeAttribute("data-ecl-auto-initialized"),ECL.components.delete(this.element))}handleClickOnToggle(e){e.preventDefault(),"true"===this.toggle.getAttribute("aria-expanded")?this.closePopover(e):(this.openPopover(e),this.positionPopover())}openPopover(e){this.toggle.setAttribute("aria-expanded","true"),this.target.hidden=!1,this.trigger("onOpen",{event:e,target:this.target}),this.close&&this.close.focus()}closePopover(e){this.toggle.setAttribute("aria-expanded","false"),this.toggle.focus(),this.resetStyles(),this.target.hidden=!0,this.trigger("onClose",{event:e,target:this.target})}getClosestScrollableParent(e){for(var t=e.parentElement;t;){var i=getComputedStyle(t),s=i.overflowY,n=i.overflowX,a=("auto"===s||"scroll"===s)&&t.scrollHeight>t.clientHeight,r=("auto"===n||"scroll"===n)&&t.scrollWidth>t.clientWidth;if(a||r)return t;t=t.parentElement}return document.body}calculateAvailableSpace(e,t){void 0===t&&(t=null),this.toggleRect=e.getBoundingClientRect();var i=t?t.getBoundingClientRect():{top:0,left:0,right:window.innerWidth,bottom:window.innerHeight},s=i.right-i.left,n=i.bottom-i.top,a=Math.max(0,window.innerHeight-i.bottom),r=Math.max(0,window.innerHeight-this.toggleRect.bottom),l=Math.max(0,r-a),o=Math.max(0,i.top),h=Math.max(0,this.toggleRect.top),c=Math.max(0,h-o),d=Math.max(0,window.innerWidth-i.right),u=Math.max(0,window.innerWidth-this.toggleRect.right),m=Math.max(0,u-d),p=Math.max(0,i.left),v=Math.max(0,this.toggleRect.left);return{containerWidth:s,containerHeight:n,spaceTop:c,spaceBottom:l,spaceLeft:Math.max(0,v-p),spaceRight:m}}resetStyles(){Object.keys(this.POPOVER_CLASSES).forEach(e=>{Object.prototype.hasOwnProperty.call(this.POPOVER_CLASSES,e)&&this.element.classList.remove(this.POPOVER_CLASSES[e])}),this.target.style.setProperty("--ecl-popover-position",""),this.container.style.left="",this.container.style.right="",this.container.style.top="",this.container.style.bottom="",this.container.style.transform="",this.scrollable.style.width=""}positionPopover(){this.resetStyles();var e=this.calculateAvailableSpace(this.toggle,this.scrollableParent),t=e.containerWidth,i=e.spaceTop,s=e.spaceBottom,n=e.spaceLeft,a=e.spaceRight,r="";r=i>s&&i>n&&i>a?"top":s>n&&s>a?"bottom":n>a?"left":"right",this.element.classList.add("ecl-popover--"+r);var l,o=window.getComputedStyle(this.scrollable),h=parseInt(o.getPropertyValue("max-width"),10),c=parseInt(o.getPropertyValue("min-width"),10),d=2*parseInt(o.getPropertyValue("padding-left"),10),u=.9*Math.max(n,a);l=h+d<u||"left"!==r&&"right"!==r&&t>h?h:u<c+d?c:"left"===r||"right"===r?u-d:2*(u-d),this.scrollable.style.width=l+"px",this.handlePushClass(r)}handlePushClass(e){requestAnimationFrame(()=>{var t=this.target.getBoundingClientRect(),i=this.scrollableParent.getBoundingClientRect(),s=i.bottom>window.innerHeight?0:window.innerHeight-i.bottom,n=i.top>window.innerHeight?0:i.top,a=i.left>t.left,r=i.right<t.right,l=t.top<n,o=s>window.innerHeight-t.bottom;"left"===e||"right"===e?(l&&(this.element.classList.add(this.POPOVER_CLASSES.PUSH_TOP),this.container.style.top="-"+Math.round(this.toggleRect.top)+"px",this.container.style.bottom="",this.container.style.transform=""),o&&(this.element.classList.add(this.POPOVER_CLASSES.PUSH_BOTTOM),this.container.style.bottom="-"+(window.innerHeight-this.toggleRect.bottom-s)+"px",this.container.style.top="",this.container.style.transform="")):(a&&(this.element.classList.add(this.POPOVER_CLASSES.PUSH_LEFT),this.container.style.left="-"+(this.toggleRect.left-i.left-8)+"px",this.container.style.right="auto"),r&&(this.element.classList.add(this.POPOVER_CLASSES.PUSH_RIGHT),this.container.style.right="-"+(i.right-this.toggleRect.right-8)+"px",this.container.style.left="auto")),this.handleArrowPosition(e)})}handleArrowPosition(e){var t=this.target.getBoundingClientRect();"left"===e||"right"===e?this.element.classList.contains(this.POPOVER_CLASSES.PUSH_BOTTOM)?this.target.style.setProperty("--ecl-popover-position",Math.round(this.toggleRect.top-t.top+this.toggleRect.height/2)+"px"):this.element.classList.contains(this.POPOVER_CLASSES.PUSH_TOP)&&this.target.style.setProperty("--ecl-popover-position",Math.round(t.top+this.toggleRect.top+this.toggleRect.height/2)+"px"):this.element.classList.contains(this.POPOVER_CLASSES.PUSH_RIGHT)?this.target.style.setProperty("--ecl-popover-position",Math.round(t.right-(this.toggleRect.right-this.toggleRect.width/2))+"px"):this.element.classList.contains(this.POPOVER_CLASSES.PUSH_LEFT)&&this.target.style.setProperty("--ecl-popover-position",Math.round(this.toggleRect.left-t.left+this.toggleRect.width/2)+"px")}checkPosition(){clearTimeout(this.resizeTimer),this.resizeTimer=setTimeout(()=>{"true"===this.toggle.getAttribute("aria-expanded")&&this.positionPopover()},200)}handleKeyboardGlobal(e){this.target&&("Escape"!==e.key&&"Esc"!==e.key||"true"===this.toggle.getAttribute("aria-expanded")&&this.closePopover(e))}handleClickGlobal(e){this.target&&"true"===this.toggle.getAttribute("aria-expanded")&&(this.target.contains(e.target)||this.toggle.contains(e.target)||this.closePopover(e))}}class Ye{static autoInit(e,t){var i=(void 0===t?{}:t).RANGE,s=new Ye(e,void 0===i?{}:i);return s.init(),e.ECLRange=s,s}constructor(e,t){var i=void 0===t?{}:t,s=i.rangeInputSelector,n=void 0===s?"[data-ecl-range-input]":s,a=i.currentValueSelector,r=void 0===a?"[data-ecl-range-value-current]":a,l=i.bubbleSelector,o=void 0===l?"[data-ecl-range-bubble]":l,h=i.containerSelector,c=void 0===h?"[data-ecl-range-container]":h,d=i.attachChangeListener,u=void 0===d||d,m=i.attachHoverListener,p=void 0===m||m;if(!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");this.element=e,this.rangeInputSelector=n,this.currentValueSelector=r,this.bubbleSelector=o,this.containerSelector=c,this.attachChangeListener=u,this.attachHoverListener=p,this.rangeInput=null,this.currentValue=null,this.bubble=null,this.direction="ltr",this.placeBubble=this.placeBubble.bind(this),this.handleChange=this.handleChange.bind(this),this.handleHoverOn=this.handleHoverOn.bind(this),this.handleHoverOff=this.handleHoverOff.bind(this)}init(){if(!ECL)throw new TypeError("Called init but ECL is not present");ECL.components=ECL.components||new Map,this.rangeInput=c(this.rangeInputSelector,this.element),this.currentValue=h(this.currentValueSelector,this.element),this.bubble=c(this.bubbleSelector,this.element),this.rangeInput&&this.currentValue&&(this.currentValue.forEach(e=>{e.innerHTML=this.rangeInput.value}),this.attachChangeListener&&this.rangeInput.addEventListener("input",this.handleChange),this.attachHoverListener&&(this.rangeInput.addEventListener("mouseover",this.handleHoverOn),this.rangeInput.addEventListener("mouseout",this.handleHoverOff))),this.direction=getComputedStyle(this.element).direction,this.element.setAttribute("data-ecl-auto-initialized","true"),ECL.components.set(this.element,this)}destroy(){this.rangeInput&&this.currentValue&&(this.attachChangeListener&&this.rangeInput.removeEventListener("input",this.handleChange),this.attachHoverListener&&(this.rangeInput.removeEventListener("mouseover",this.handleHoverOn),this.rangeInput.removeEventListener("mouseout",this.handleHoverOff))),this.element&&(this.element.removeAttribute("data-ecl-auto-initialized"),ECL.components.delete(this.element))}placeBubble(){var e=0,t=this.bubble.offsetWidth/2,i=this.rangeInput.getBoundingClientRect(),s=this.rangeInput.closest(this.containerSelector);s&&(e=s.getBoundingClientRect().left);var n=i.width/2,a=(this.rangeInput.value-this.rangeInput.min)/(this.rangeInput.max-this.rangeInput.min)*i.width,r=8*((a-n)/n),l=i.left-e,o=0;o="rtl"===this.direction?l+(i.width-a)-t+r:l+a-t-r,this.bubble.style.left=o+"px"}handleHoverOn(){this.bubble.classList.add("ecl-range__bubble--visible"),this.placeBubble()}handleHoverOff(){this.bubble.classList.remove("ecl-range__bubble--visible")}handleChange(){this.currentValue.forEach(e=>{e.innerHTML=this.rangeInput.value}),this.placeBubble()}}var Xe=n("createSvgIcon"),Qe=n("createCheckbox"),Je=n("createSelectIcon"),Ze=n("checkCheckbox"),$e=n("generateRandomId"),et=n("updateSelectionsCount"),tt=n("handleOptgroup"),it=n("updateCurrentValue"),st=n("moveFocus");class nt{static autoInit(e,t){void 0===t&&(t={});var i=new nt(e,t);return i.init(),e.ECLSelect=i,i}constructor(e,t){var i=void 0===t?{}:t,s=i.defaultText,n=void 0===s?"":s,a=i.searchText,r=void 0===a?"":a,l=i.selectAllText,o=void 0===l?"":l,h=i.noResultsText,d=void 0===h?"":h,m=i.selectMultipleSelector,p=void 0===m?"[data-ecl-select-multiple]":m,v=i.defaultTextAttribute,g=void 0===v?"data-ecl-select-default":v,b=i.searchTextAttribute,f=void 0===b?"data-ecl-select-search":b,y=i.selectAllTextAttribute,L=void 0===y?"data-ecl-select-all":y,k=i.noResultsTextAttribute,E=void 0===k?"data-ecl-select-no-results":k,C=i.closeLabelAttribute,w=void 0===C?"data-ecl-select-close":C,S=i.clearAllLabelAttribute,A=void 0===S?"data-ecl-select-clear-all":S,_=i.selectMultiplesSelectionCountSelector,x=void 0===_?"ecl-select-multiple-selections-counter":_,O=i.closeButtonLabel,T=void 0===O?"":O,M=i.clearAllButtonLabel,P=void 0===M?"":M;if(Object.defineProperty(this,st,{value:ot}),Object.defineProperty(this,it,{value:lt}),Object.defineProperty(this,tt,{value:rt}),Object.defineProperty(this,et,{value:at}),this.supportedEvents=["onToggle","onSelection","onSelectAll","onReset","onSearch"],!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");this.element=e,this.eventManager=new u,this.selectMultipleSelector=p,this.selectMultiplesSelectionCountSelector=x,this.defaultTextAttribute=g,this.searchTextAttribute=f,this.selectAllTextAttribute=L,this.noResultsTextAttribute=E,this.defaultText=n,this.searchText=r,this.selectAllText=o,this.noResultsText=d,this.clearAllButtonLabel=P,this.closeButtonLabel=T,this.closeLabelAttribute=w,this.clearAllLabelAttribute=A,this.input=null,this.search=null,this.checkboxes=null,this.select=null,this.selectAll=null,this.selectIcon=null,this.textDefault=null,this.textSearch=null,this.textSelectAll=null,this.textNoResults=null,this.selectMultiple=null,this.inputContainer=null,this.optionsContainer=null,this.visibleOptions=null,this.searchContainer=null,this.countSelections=null,this.form=null,this.formGroup=null,this.label=null,this.helper=null,this.invalid=null,this.selectMultipleId=null,this.multiple=c(this.selectMultipleSelector,this.element.parentNode)||!1,this.isOpen=!1,this.handleToggle=this.handleToggle.bind(this),this.handleClickOption=this.handleClickOption.bind(this),this.handleClickSelectAll=this.handleClickSelectAll.bind(this),this.handleEsc=this.handleEsc.bind(this),this.handleFocusout=this.handleFocusout.bind(this),this.handleSearch=this.handleSearch.bind(this),this.handleClickOutside=this.handleClickOutside.bind(this),this.resetForm=this.resetForm.bind(this),this.handleClickOnClearAll=this.handleClickOnClearAll.bind(this),this.handleKeyboardOnSelect=this.handleKeyboardOnSelect.bind(this),this.handleKeyboardOnSelectAll=this.handleKeyboardOnSelectAll.bind(this),this.handleKeyboardOnSearch=this.handleKeyboardOnSearch.bind(this),this.handleKeyboardOnOptions=this.handleKeyboardOnOptions.bind(this),this.handleKeyboardOnOption=this.handleKeyboardOnOption.bind(this),this.handleKeyboardOnClearAll=this.handleKeyboardOnClearAll.bind(this),this.handleKeyboardOnClose=this.handleKeyboardOnClose.bind(this),this.setCurrentValue=this.setCurrentValue.bind(this),this.update=this.update.bind(this)}init(){if(!ECL)throw new TypeError("Called init but ECL is not present");if(ECL.components=ECL.components||new Map,this.select=this.element,this.multiple){var e=Array.from(this.select.parentElement.classList);this.textDefault=this.defaultText||this.element.getAttribute(this.defaultTextAttribute),this.textSearch=this.searchText||this.element.getAttribute(this.searchTextAttribute),this.textSelectAll=this.selectAllText||this.element.getAttribute(this.selectAllTextAttribute),this.textNoResults=this.noResultsText||this.element.getAttribute(this.noResultsTextAttribute),this.closeButtonLabel=this.closeButtonLabel||this.element.getAttribute(this.closeLabelAttribute),this.clearAllButtonLabel=this.clearAllButtonLabel||this.element.getAttribute(this.clearAllLabelAttribute),this.selectMultipleId=this.element.id||"select-multiple-"+i(nt,$e)[$e](4),this.element.id=this.selectMultipleId,this.formGroup=this.element.closest(".ecl-form-group"),this.formGroup&&(this.label=c(".ecl-form-label",this.formGroup),this.helper=c(".ecl-help-block",this.formGroup),this.invalid=c(".ecl-feedback-message",this.formGroup)),this.select.setAttribute("tabindex","-1"),this.selectMultiple=document.createElement("div"),this.selectMultiple.classList.add("ecl-select__multiple"),this.selectMultiple.addEventListener("focusout",this.handleFocusout),this.inputContainer=document.createElement("div"),this.inputContainer.classList.add(...e),this.selectMultiple.appendChild(this.inputContainer),this.input=document.createElement("button"),this.input.classList.add("ecl-select","ecl-select__multiple-toggle"),this.input.setAttribute("type","button"),this.input.setAttribute("aria-controls",this.selectMultipleId+"-dropdown"),this.input.setAttribute("id",this.selectMultipleId+"-toggle"),this.input.setAttribute("aria-expanded",!1),e.find(e=>e.includes("disabled"))&&this.input.setAttribute("disabled",!0),this.label&&this.input.setAttribute("aria-labelledby",this.label.id+" "+this.input.id);var t="";if(this.helper&&(t=this.helper.id),this.invalid&&(t=t?t+" "+this.invalid.id:this.invalid.id),t&&this.input.setAttribute("aria-describedby",t),this.input.addEventListener("keydown",this.handleKeyboardOnSelect),this.input.addEventListener("click",this.handleToggle),this.selectionCount=document.createElement("div"),this.selectionCount.classList.add(this.selectMultiplesSelectionCountSelector),this.selectionCountText=document.createElement("span"),this.selectionCount.appendChild(this.selectionCountText),this.inputContainer.appendChild(this.selectionCount),this.inputContainer.appendChild(this.input),this.inputContainer.appendChild(i(nt,Je)[Je]()),this.searchContainer=document.createElement("div"),this.searchContainer.style.display="none",this.searchContainer.classList.add("ecl-select__multiple-dropdown",...e),this.searchContainer.setAttribute("id",this.selectMultipleId+"-dropdown"),this.selectMultiple.appendChild(this.searchContainer),this.textSearch&&(this.search=document.createElement("input"),this.search.classList.add("ecl-text-input"),this.search.setAttribute("type","search"),this.search.setAttribute("placeholder",this.textSearch||""),this.search.addEventListener("keyup",this.handleSearch),this.search.addEventListener("search",this.handleSearch),this.search.addEventListener("keydown",this.handleKeyboardOnSearch),this.searchContainer.appendChild(this.search)),this.textSelectAll){var s=Array.from(this.select.options).filter(e=>!e.disabled).length;this.selectAll=i(nt,Qe)[Qe]({id:"all-"+i(nt,$e)[$e](4),text:this.textSelectAll+" ("+s+")",extraClass:"ecl-select__multiple-all"},this.selectMultipleId),this.selectAll.addEventListener("click",this.handleClickSelectAll),this.selectAll.addEventListener("keypress",this.handleClickSelectAll),this.selectAll.addEventListener("change",this.handleClickSelectAll),this.searchContainer.appendChild(this.selectAll)}this.optionsContainer=document.createElement("div"),this.optionsContainer.classList.add("ecl-select__multiple-options"),this.optionsContainer.setAttribute("aria-live","polite"),this.searchContainer.appendChild(this.optionsContainer),(this.clearAllButtonLabel||this.closeButtonLabel)&&(this.dropDownToolbar=document.createElement("div"),this.dropDownToolbar.classList.add("ecl-select-multiple-toolbar"),this.closeButtonLabel&&(this.closeButton=document.createElement("button"),this.closeButton.textContent=this.closeButtonLabel,this.closeButton.classList.add("ecl-button","ecl-button--primary"),this.closeButton.addEventListener("click",this.handleEsc),this.closeButton.addEventListener("keydown",this.handleKeyboardOnClose),this.dropDownToolbar&&(this.dropDownToolbar.appendChild(this.closeButton),this.searchContainer.appendChild(this.dropDownToolbar),this.dropDownToolbar.style.display="none")),this.clearAllButtonLabel&&(this.clearAllButton=document.createElement("button"),this.clearAllButton.textContent=this.clearAllButtonLabel,this.clearAllButton.classList.add("ecl-button","ecl-button--secondary"),this.clearAllButton.addEventListener("click",this.handleClickOnClearAll),this.clearAllButton.addEventListener("keydown",this.handleKeyboardOnClearAll),this.dropDownToolbar.appendChild(this.clearAllButton))),this.selectAll&&this.selectAll.addEventListener("keydown",this.handleKeyboardOnSelectAll),this.optionsContainer.addEventListener("keydown",this.handleKeyboardOnOptions),this.select.options&&this.select.options.length>0?this.checkboxes=Array.from(this.select.options).map(e=>{var t="",s="";if("OPTGROUP"===e.parentNode.tagName)if(c('fieldset[data-ecl-multiple-group="'+e.parentNode.getAttribute("label")+'"]',this.optionsContainer))t=c('fieldset[data-ecl-multiple-group="'+e.parentNode.getAttribute("label")+'"]',this.optionsContainer);else{t=document.createElement("fieldset");var n=document.createElement("legend");n.classList.add("ecl-select__multiple-group__title"),n.innerHTML=e.parentNode.getAttribute("label"),t.appendChild(n),t.setAttribute("data-ecl-multiple-group",e.parentNode.getAttribute("label")),t.classList.add("ecl-select__multiple-group"),this.optionsContainer.appendChild(t)}return e.selected&&(i(this,et)[et](),this.dropDownToolbar&&(this.dropDownToolbar.style.display="flex")),(s=i(nt,Qe)[Qe]({id:e.value,text:e.text,disabled:e.disabled,selected:e.selected},this.selectMultipleId)).setAttribute("data-visible",!0),s.classList.contains("ecl-checkbox--disabled")||(s.addEventListener("click",this.handleClickOption),s.addEventListener("keydown",this.handleKeyboardOnOption)),t?t.appendChild(s):this.optionsContainer.appendChild(s),s}):this.checkboxes=[],this.visibleOptions=this.checkboxes,this.select.parentNode.parentNode.insertBefore(this.selectMultiple,this.select.parentNode.nextSibling),this.select.parentNode.classList.add("ecl-select__container--hidden"),i(this,it)[it](),this.form=this.element.closest("form"),this.form&&this.form.addEventListener("reset",this.resetForm),document.addEventListener("click",this.handleClickOutside)}else i(this,tt)[tt](),this.select.addEventListener("keydown",this.handleKeyboardOnSelect);this.element.setAttribute("data-ecl-auto-initialized","true"),ECL.components.set(this.element,this)}update(){i(this,it)[it](),i(this,et)[et]()}setCurrentValue(e,t){if(void 0===t&&(t="replace"),"replace"!==t&&"add"!==t)throw new Error('Invalid operation mode. Use "replace" or "add".');var i="string"==typeof e?[e]:e;Array.from(this.select.options).forEach(e=>{"replace"===t&&(e.selected=!1),(i.includes(e.value)||i.includes(e.label))&&(e.selected=!0)}),this.update()}handleToggle(e){if(e&&e.preventDefault(),this.input.classList.toggle("ecl-select--active"),"none"===this.searchContainer.style.display?(this.searchContainer.style.display="block",this.input.setAttribute("aria-expanded",!0),this.isOpen=!0):(this.searchContainer.style.display="none",this.input.setAttribute("aria-expanded",!1),this.isOpen=!1),e){var t={opened:this.isOpen,e:e};this.trigger("onToggle",t)}}on(e,t){this.eventManager.on(e,t)}trigger(e,t){this.eventManager.trigger(e,t)}destroy(){this.input.removeEventListener("keydown",this.handleKeyboardOnSelect),this.multiple&&(document.removeEventListener("click",this.handleClickOutside),this.selectMultiple.removeEventListener("focusout",this.handleFocusout),this.input.removeEventListener("click",this.handleToggle),this.search&&(this.search.removeEventListener("keyup",this.handleSearch),this.search.removeEventListener("keydown",this.handleKeyboardOnSearch)),this.selectAll&&(this.selectAll.removeEventListener("click",this.handleClickSelectAll),this.selectAll.removeEventListener("keypress",this.handleClickSelectAll),this.selectAll.removeEventListener("keydown",this.handleKeyboardOnSelectAll)),this.optionsContainer.removeEventListener("keydown",this.handleKeyboardOnOptions),this.checkboxes.forEach(e=>{e.removeEventListener("click",this.handleClickSelectAll),e.removeEventListener("click",this.handleClickOption),e.removeEventListener("keydown",this.handleKeyboardOnOption)}),this.closeButton&&(this.closeButton.removeEventListener("click",this.handleEsc),this.closeButton.removeEventListener("keydown",this.handleKeyboardOnClose)),this.clearAllButton&&(this.clearAllButton.removeEventListener("click",this.handleClickOnClearAll),this.clearAllButton.removeEventListener("keydown",this.handleKeyboardOnClearAll)),this.selectMultiple&&this.selectMultiple.remove(),this.select.parentNode.classList.remove("ecl-select__container--hidden")),this.element&&(this.element.removeAttribute("data-ecl-auto-initialized"),ECL.components.delete(this.element))}handleClickOption(e){e.preventDefault(),i(nt,Ze)[Ze](e);var t=e.target.closest(".ecl-checkbox");Array.from(this.select.options).forEach(e=>{e.text===t.getAttribute("data-select-multiple-value")&&(e.selected?(e.selected=!1,e.removeAttribute("selected"),this.selectAll&&(this.selectAll.querySelector("input").checked=!1)):(e.selected=!0,e.setAttribute("selected","true")))}),this.update()}handleClickSelectAll(e){if(e.preventDefault(),this.selectAll&&!this.selectAll.querySelector("input").disabled){var t=i(nt,Ze)[Ze](e),s=Array.from(this.select.options).filter(e=>!e.disabled);Array.from(this.searchContainer.querySelectorAll('[data-visible="true"]')).filter(e=>!e.querySelector("input").disabled).forEach(e=>{e.querySelector("input").checked=t;var i=s.find(t=>t.text===e.getAttribute("data-select-multiple-value"));i&&(i.selected=!!t)}),this.update(),this.trigger("onSelectAll",{selected:s})}}handleFocusout(e){e.relatedTarget&&this.selectMultiple&&!this.selectMultiple.contains(e.relatedTarget)&&"block"===this.searchContainer.style.display?(this.searchContainer.style.display="none",this.input.classList.remove("ecl-select--active"),this.input.setAttribute("aria-expanded",!1)):!e.relatedTarget||this.selectMultiple||this.select.parentNode.contains(e.relatedTarget)||this.select.blur()}handleSearch(e){var t=this.optionsContainer.offsetHeight;this.visibleOptions=[];var i=e.target.value.toLowerCase(),s={};t>0&&(this.optionsContainer.style.height=t+"px"),this.checkboxes.forEach(e=>{if(e.getAttribute("data-select-multiple-value").toLocaleLowerCase().includes(i)){e.setAttribute("data-visible",!0),e.style.display="flex";var t=e.querySelector(".ecl-checkbox__label-text");t.textContent=t.textContent.replace(".cls-1{fill:none}",""),i&&(t.innerHTML=t.textContent.replace(new RegExp(i+"(?!([^<]+)?<)","gi"),"<b>$&</b>")),this.visibleOptions.push(e)}else e.removeAttribute("data-visible"),e.style.display="none"});var n=this.visibleOptions.filter(e=>e.querySelector("input").checked);!this.selectAll||0!==this.visibleOptions.length&&this.visibleOptions.length===n.length?this.selectAll&&(this.selectAll.querySelector("input").checked=!0):this.selectAll.querySelector("input").checked=!1;for(var r,l=this.searchContainer.querySelector(".ecl-select__multiple-no-results"),o=a(this.optionsContainer.getElementsByClassName("ecl-select__multiple-group"));!(r=o()).done;){var h=r.value;h.style.display="none",[...h.children].filter(e=>e.classList.contains("ecl-checkbox")).forEach(e=>{e.hasAttribute("data-visible")&&(e.closest(".ecl-select__multiple-group").style.display="block")})}if(0!==this.visibleOptions.length||l)this.visibleOptions.length>0&&null!==l&&l.parentNode.removeChild(l);else{var d=document.createElement("div"),u=document.createElement("span");d.classList.add("ecl-select__multiple-no-results"),u.innerHTML=this.textNoResults,d.appendChild(u),this.optionsContainer.appendChild(d)}(0===i.length?(this.checkboxes.forEach(e=>{e.setAttribute("data-visible",!0),e.style.display="flex"}),this.selectAll&&(this.selectAll.classList.remove("ecl-checkbox--disabled"),this.selectAll.querySelector("input").disabled=!1)):0!==i.length&&this.selectAll&&(this.selectAll.classList.add("ecl-checkbox--disabled"),this.selectAll.querySelector("input").disabled=!0),this.visibleOptions.length>0)?s={results:this.visibleOptions.map(e=>{var t=null,i=c(".ecl-checkbox__label-text",e);return i&&(t=i.innerHTML.replace(/<\/?b>/g,"")),t||""}),text:e.target.value.toLowerCase()}:s={results:"none",text:e.target.value.toLowerCase()};this.trigger("onSearch",s)}handleClickOutside(e){e.target&&this.selectMultiple&&!this.selectMultiple.contains(e.target)&&"block"===this.searchContainer.style.display&&(this.searchContainer.style.display="none",this.input.classList.remove("ecl-select--active"),this.input.setAttribute("aria-expanded",!1))}handleKeyboardOnSelect(e){switch(e.key){case"Escape":e.preventDefault(),this.handleEsc(e);break;case" ":case"Enter":this.multiple&&(e.preventDefault(),this.handleToggle(e),this.search?this.search.focus():this.selectAll?this.selectAll.firstChild.focus():this.checkboxes[0].firstChild.focus());break;case"ArrowDown":this.multiple&&(e.preventDefault(),this.isOpen||this.handleToggle(e),this.search?this.search.focus():this.selectAll?this.selectAll.firstChild.focus():this.checkboxes[0].firstChild.focus())}}handleKeyboardOnSelectAll(e){switch(e.key){case"Escape":e.preventDefault(),this.handleEsc(e);break;case"ArrowDown":e.preventDefault(),this.visibleOptions.length>0?this.visibleOptions[0].querySelector("input").focus():this.input.focus();break;case"ArrowUp":e.preventDefault(),this.search?this.search.focus():(this.input.focus(),this.handleToggle(e));break;case"Tab":e.preventDefault(),e.shiftKey?this.search&&this.search.focus():this.visibleOptions.length>0?this.visibleOptions[0].querySelector("input").focus():this.input.focus()}}handleKeyboardOnOptions(e){switch(e.key){case"Escape":e.preventDefault(),this.handleEsc(e);break;case"ArrowDown":e.preventDefault(),i(this,st)[st]("down");break;case"ArrowUp":e.preventDefault(),i(this,st)[st]("up");break;case"Tab":e.preventDefault(),e.shiftKey?i(this,st)[st]("up"):i(this,st)[st]("down")}}handleKeyboardOnSearch(e){switch(e.key){case"Escape":e.preventDefault(),this.handleEsc(e);break;case"ArrowDown":e.preventDefault(),!this.selectAll||this.selectAll.querySelector("input").disabled?this.visibleOptions.length>0?this.visibleOptions[0].querySelector("input").focus():this.input.focus():this.selectAll.querySelector("input").focus();break;case"ArrowUp":e.preventDefault(),this.input.focus(),this.handleToggle(e)}}handleKeyboardOnOption(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),this.handleClickOption(e))}handleKeyboardOnClearAll(e){switch(e.preventDefault(),e.key){case"Enter":case" ":this.handleClickOnClearAll(e),this.trigger("onReset",e),this.input.focus();break;case"ArrowDown":this.input.focus();break;case"ArrowUp":this.closeButton?this.closeButton.focus():this.visibleOptions.length>0?this.visibleOptions[this.visibleOptions.length-1].querySelector("input").focus():this.search?this.search.focus():(this.input.focus(),this.handleToggle(e));break;case"Tab":e.shiftKey?this.closeButton?this.closeButton.focus():this.visibleOptions.length>0?this.visibleOptions[this.visibleOptions.length-1].querySelector("input").focus():this.search?this.search.focus():(this.input.focus(),this.handleToggle(e)):(this.input.focus(),this.handleToggle(e))}}handleKeyboardOnClose(e){switch(e.preventDefault(),e.key){case"Enter":case" ":this.handleEsc(e),this.input.focus();break;case"ArrowUp":this.visibleOptions.length>0?this.visibleOptions[this.visibleOptions.length-1].querySelector("input").focus():(this.input.focus(),this.handleToggle(e));break;case"ArrowDown":this.clearAllButton?this.clearAllButton.focus():(this.input.focus(),this.handleToggle(e));break;case"Tab":e.shiftKey?this.visibleOptions.length>0?this.visibleOptions[this.visibleOptions.length-1].querySelector("input").focus():(this.input.focus(),this.handleToggle(e)):this.clearAllButton?this.clearAllButton.focus():(this.input.focus(),this.handleToggle(e))}}handleEsc(e){this.multiple?(e.preventDefault(),this.searchContainer.style.display="none",this.input.setAttribute("aria-expanded",!1),this.input.blur(),this.input.classList.remove("ecl-select--active")):this.select.classList.remove("ecl-select--active")}handleClickOnClearAll(e){e.preventDefault(),Array.from(this.select.options).forEach(e=>{this.selectMultiple.querySelector('[data-select-multiple-value="'+e.text+'"]').querySelector(".ecl-checkbox__input").checked=!1,e.selected=!1}),this.selectAll&&(this.selectAll.querySelector(".ecl-checkbox__input").checked=!1),this.update(),this.trigger("onReset",e)}resetForm(){this.multiple&&setTimeout(()=>{Array.from(this.select.options).forEach(e=>{this.selectMultiple.querySelector('[data-select-multiple-value="'+e.text+'"]').querySelector(".ecl-checkbox__input").checked?e.selected=!0:e.selected=!1}),this.update(0)},10)}}function at(){var e=Array.from(this.select.options).filter(e=>e.selected).length;e>0?(this.selectionCount.querySelector("span").innerHTML=e,this.selectionCount.classList.add("ecl-select-multiple-selections-counter--visible"),this.dropDownToolbar&&(this.dropDownToolbar.style.display="flex")):(this.selectionCount.classList.remove("ecl-select-multiple-selections-counter--visible"),this.dropDownToolbar&&(this.dropDownToolbar.style.display="none")),e>=100&&this.selectionCount.classList.add("ecl-select-multiple-selections-counter--xxl")}function rt(){Array.from(this.select.options).forEach(e=>{if("OPTGROUP"===e.parentNode.tagName){var t=e.parentNode.getAttribute("label"),i=e.getAttribute("label")||e.textContent;t&&i&&e.setAttribute("aria-label",i+" - "+t)}})}function lt(){var e=Array.from(this.select.options).filter(e=>e.selected).map(e=>e.text).join("|");this.input.innerHTML=e||this.textDefault||"",""!==e&&this.label?this.label.setAttribute("aria-label",this.label.innerText+" "+e):""===e&&this.label&&this.label.removeAttribute("aria-label"),this.trigger("onSelection",{selected:e}),this.select.dispatchEvent(new window.Event("change",{bubbles:!0}))}function ot(e){var t=document.activeElement,i=t.parentElement.parentElement.classList.contains("ecl-select__multiple-group")?Array.from(t.parentElement.parentElement.parentElement.querySelectorAll(".ecl-checkbox__input")):Array.from(t.parentElement.parentElement.querySelectorAll(".ecl-checkbox__input")),s=i.indexOf(t);if("down"===e){var n=i.splice(s+1,i.length).filter(e=>!e.disabled&&"none"!==e.parentElement.style.display);n.length>0?n[0].focus():this.dropDownToolbar&&"flex"===this.dropDownToolbar.style.display&&this.dropDownToolbar.firstChild.focus()}else{var a=i.splice(0,s).filter(e=>!e.disabled&&"none"!==e.parentElement.style.display);a.length>0?a[a.length-1].focus():(this.optionsContainer.scrollTop=0,this.selectAll&&!this.selectAll.querySelector("input").disabled?this.selectAll.querySelector("input").focus():this.search?this.search.focus():(this.input.focus(),this.handleToggle()))}}Be=nt,Object.defineProperty(nt,$e,{value:function(e){return Math.random().toString(36).substr(2,e)}}),Object.defineProperty(nt,Ze,{value:function(e){var t=e.target.closest(".ecl-checkbox").querySelector("input");return t.checked=!t.checked,t.checked}}),Object.defineProperty(nt,Je,{value:function(){var e=document.createElement("div");e.classList.add("ecl-select__icon");var t=document.createElement("button");t.classList.add("ecl-button","ecl-button--tertiary","ecl-button--icon-only"),t.setAttribute("tabindex","-1");var s=document.createElement("span");s.classList.add("ecl-button__container");var n=document.createElement("span");n.classList.add("ecl-button__label"),n.textContent="Toggle dropdown",s.appendChild(n);var a=i(Be,Xe)[Xe]("corner-arrow","ecl-icon ecl-icon--s ecl-icon--rotate-180");return s.appendChild(a),t.appendChild(s),e.appendChild(t),e}}),Object.defineProperty(nt,Qe,{value:function(e,t){if(!e||!t)return"";var s=e.id,n=e.text,a=e.disabled,r=e.selected,l=e.extraClass;if(!s||!n)return"";var o=document.createElement("div"),h=document.createElement("input"),c=document.createElement("label"),d=document.createElement("span"),u=document.createElement("span");return l&&o.classList.add(l),r&&(h.checked=!0),a&&(o.classList.add("ecl-checkbox--disabled"),d.classList.add("ecl-checkbox__box--disabled"),h.setAttribute("disabled",a)),o.classList.add("ecl-checkbox"),o.setAttribute("data-select-multiple-value",n),h.classList.add("ecl-checkbox__input"),h.setAttribute("type","checkbox"),h.setAttribute("id",t+"-"+s),h.setAttribute("name",t+"-"+s),o.appendChild(h),c.classList.add("ecl-checkbox__label"),c.setAttribute("for",t+"-"+s),d.classList.add("ecl-checkbox__box"),d.setAttribute("aria-hidden",!0),d.appendChild(i(Be,Xe)[Xe]("check","ecl-icon ecl-icon--s ecl-checkbox__icon")),c.appendChild(d),u.classList.add("ecl-checkbox__label-text"),u.innerHTML=n,c.appendChild(u),o.appendChild(c),o}}),Object.defineProperty(nt,Xe,{value:function(e,t){var i=document.createElement("span");return i.setAttribute("class","wt-icon--"+e+" "+t),i}});class ht{static autoInit(e,t){var i=(void 0===t?{}:t).SITE_HEADER_CORE,s=new ht(e,void 0===i?{}:i);return s.init(),e.ECLSiteHeader=s,s}constructor(e,t){var i=void 0===t?{}:t,s=i.containerSelector,n=void 0===s?"[data-ecl-site-header-top]":s,a=i.languageLinkSelector,r=void 0===a?"[data-ecl-language-selector]":a,l=i.languageListOverlaySelector,o=void 0===l?"[data-ecl-language-list-overlay]":l,h=i.languageListEuSelector,c=void 0===h?"[data-ecl-language-list-eu]":h,d=i.languageListNonEuSelector,u=void 0===d?"[data-ecl-language-list-non-eu]":d,m=i.languageListContentSelector,p=void 0===m?"[data-ecl-language-list-content]":m,v=i.closeOverlaySelector,g=void 0===v?"[data-ecl-language-list-close]":v,b=i.searchToggleSelector,f=void 0===b?"[data-ecl-search-toggle]":b,y=i.searchFormSelector,L=void 0===y?"[data-ecl-search-form]":y,k=i.loginToggleSelector,E=void 0===k?"[data-ecl-login-toggle]":k,C=i.loginBoxSelector,w=void 0===C?"[data-ecl-login-box]":C,S=i.notificationSelector,A=void 0===S?"[data-ecl-site-header-notification]":S,_=i.attachClickListener,x=void 0===_||_,O=i.attachKeyListener,T=void 0===O||O,M=i.attachResizeListener,P=void 0===M||M,I=i.tabletBreakpoint,B=void 0===I?768:I,N=i.customActionToggleSelector,D=void 0===N?"[data-ecl-custom-action]":N,F=i.customActionOverlaySelector,R=void 0===F?"[data-ecl-custom-action-overlay]":F,z=i.customActionCloseSelector,H=void 0===z?"[data-ecl-custom-action-close]":z;if(!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");this.element=e,this.containerSelector=n,this.languageLinkSelector=r,this.languageListOverlaySelector=o,this.languageListEuSelector=c,this.languageListNonEuSelector=u,this.languageListContentSelector=p,this.closeOverlaySelector=g,this.searchToggleSelector=f,this.searchFormSelector=L,this.loginToggleSelector=E,this.notificationSelector=A,this.loginBoxSelector=w,this.attachClickListener=x,this.attachKeyListener=T,this.attachResizeListener=P,this.tabletBreakpoint=B,this.customActionToggleSelector=D,this.customActionOverlaySelector=R,this.customActionCloseSelector=H,this.languageMaxColumnItems=8,this.languageLink=null,this.languageListOverlay=null,this.languageListEu=null,this.languageListNonEu=null,this.languageListContent=null,this.close=null,this.focusTrap=null,this.searchToggle=null,this.searchForm=null,this.loginToggle=null,this.loginBox=null,this.resizeTimer=null,this.direction=null,this.notificationContainer=null,this.customActionToggle=null,this.customActionOverlay=null,this.customActionClose=null,this.customActionFocusTrap=null,this.openOverlay=this.openOverlay.bind(this),this.closeOverlay=this.closeOverlay.bind(this),this.toggleOverlay=this.toggleOverlay.bind(this),this.toggleSearch=this.toggleSearch.bind(this),this.toggleLogin=this.toggleLogin.bind(this),this.setLoginArrow=this.setLoginArrow.bind(this),this.setSearchArrow=this.setSearchArrow.bind(this),this.handleKeyboardLanguage=this.handleKeyboardLanguage.bind(this),this.handleKeyboardGlobal=this.handleKeyboardGlobal.bind(this),this.handleClickGlobal=this.handleClickGlobal.bind(this),this.handleResize=this.handleResize.bind(this),this.setLanguageListHeight=this.setLanguageListHeight.bind(this),this.handleNotificationClose=this.handleNotificationClose.bind(this),this.openCustomAction=this.openCustomAction.bind(this),this.closeCustomAction=this.closeCustomAction.bind(this),this.toggleCustomAction=this.toggleCustomAction.bind(this),this.handleKeyboardCustomAction=this.handleKeyboardCustomAction.bind(this)}init(){if(!ECL)throw new TypeError("Called init but ECL is not present");ECL.components=ECL.components||new Map,this.arrowSize="0.5rem",this.attachKeyListener&&document.addEventListener("keyup",this.handleKeyboardGlobal),this.attachClickListener&&document.addEventListener("click",this.handleClickGlobal),this.attachResizeListener&&window.addEventListener("resize",this.handleResize),this.container=c(this.containerSelector),this.languageLink=c(this.languageLinkSelector),this.languageListOverlay=c(this.languageListOverlaySelector),this.languageListEu=c(this.languageListEuSelector),this.languageListNonEu=c(this.languageListNonEuSelector),this.languageListContent=c(this.languageListContentSelector),this.close=c(this.closeOverlaySelector),this.notification=c(this.notificationSelector),this.direction=getComputedStyle(this.element).direction,"rtl"===this.direction&&this.element.classList.add("ecl-site-header--rtl"),this.languageListOverlay&&(this.focusTrap=ce(this.languageListOverlay,{onDeactivate:this.closeOverlay,allowOutsideClick:!0})),this.attachClickListener&&this.languageLink&&this.languageLink.addEventListener("click",this.toggleOverlay),this.attachClickListener&&this.close&&this.close.addEventListener("click",this.toggleOverlay),this.attachKeyListener&&this.languageLink&&this.languageLink.addEventListener("keydown",this.handleKeyboardLanguage),this.searchToggle=c(this.searchToggleSelector),this.searchForm=c(this.searchFormSelector),this.attachClickListener&&this.searchToggle&&this.searchToggle.addEventListener("click",this.toggleSearch),this.loginToggle=c(this.loginToggleSelector),this.loginBox=c(this.loginBoxSelector),this.attachClickListener&&this.loginToggle&&this.loginToggle.addEventListener("click",this.toggleLogin),this.customActionToggle=c(this.customActionToggleSelector),this.customActionOverlay=c(this.customActionOverlaySelector),this.customActionClose=c(this.customActionCloseSelector),this.customActionOverlay&&(this.customActionFocusTrap=ce(this.customActionOverlay,{onDeactivate:this.closeCustomAction,allowOutsideClick:!0})),this.attachClickListener&&this.customActionToggle&&this.customActionToggle.addEventListener("click",this.toggleCustomAction),this.attachClickListener&&this.customActionClose&&this.customActionClose.addEventListener("click",this.toggleCustomAction),this.attachKeyListener&&this.customActionToggle&&this.customActionToggle.addEventListener("keydown",this.handleKeyboardCustomAction),this.element.setAttribute("data-ecl-auto-initialized","true"),ECL.components.set(this.element,this),this.notification&&(this.notificationContainer=this.notification.closest(".ecl-site-header__notification"),setTimeout(()=>{var e=ECL.components.get(this.notification);e&&e.on("onClose",this.handleNotificationClose)},0))}destroy(){this.attachClickListener&&this.languageLink&&this.languageLink.removeEventListener("click",this.toggleOverlay),this.focusTrap&&this.focusTrap.deactivate(),this.attachKeyListener&&this.languageLink&&this.languageLink.removeEventListener("keydown",this.handleKeyboardLanguage),this.attachClickListener&&this.close&&this.close.removeEventListener("click",this.toggleOverlay),this.attachClickListener&&this.searchToggle&&this.searchToggle.removeEventListener("click",this.toggleSearch),this.attachClickListener&&this.loginToggle&&this.loginToggle.removeEventListener("click",this.toggleLogin),this.attachClickListener&&this.customActionToggle&&this.customActionToggle.removeEventListener("click",this.toggleCustomAction),this.customActionFocusTrap&&this.customActionFocusTrap.deactivate(),this.attachKeyListener&&this.customActionToggle&&this.customActionToggle.removeEventListener("keydown",this.handleKeyboardCustomAction),this.attachClickListener&&this.customActionClose&&this.customActionClose.removeEventListener("click",this.toggleCustomAction),this.attachKeyListener&&document.removeEventListener("keyup",this.handleKeyboardGlobal),this.attachClickListener&&document.removeEventListener("click",this.handleClickGlobal),this.attachResizeListener&&window.removeEventListener("resize",this.handleResize),this.element&&(this.element.removeAttribute("data-ecl-auto-initialized"),this.element.classList.remove("ecl-site-header--rtl"),ECL.components.delete(this.element))}updateOverlayPosition(e,t,i){if(void 0===i&&(i="--ecl-overlay-arrow-position"),e&&t&&this.container){if(e===this.languageListOverlay){if(this.languageListEu){var s=h(".ecl-site-header__language-item",this.languageListEu),n=Math.ceil(s.length/this.languageMaxColumnItems);n>1&&this.languageListEu.classList.add("ecl-site-header__language-category--"+n+"-col")}if(this.languageListNonEu){var a=h(".ecl-site-header__language-item",this.languageListNonEu),r=Math.ceil(a.length/this.languageMaxColumnItems);r>1&&this.languageListNonEu.classList.add("ecl-site-header__language-category--"+r+"-col")}this.languageListEu?this.languageListEu.parentNode.classList.remove("ecl-site-header__language-content--stack"):this.languageListNonEu&&this.languageListNonEu.parentNode.classList.remove("ecl-site-header__language-content--stack")}e.classList.remove("ecl-site-header__language-container--push-right","ecl-site-header__language-container--push-left","ecl-site-header__language-container--full"),e.style.removeProperty(i),e.style.removeProperty("right"),e.style.removeProperty("left");var l=e.getBoundingClientRect(),o=this.container.getBoundingClientRect(),c=window.innerWidth,d=t.getBoundingClientRect();if(e===this.languageListOverlay&&l.width>o.width&&(this.languageListEu?this.languageListEu.parentNode.classList.add("ecl-site-header__language-content--stack"):this.languageListNonEu&&this.languageListNonEu.parentNode.classList.add("ecl-site-header__language-content--stack")),window.innerWidth<this.tabletBreakpoint){e.classList.add("ecl-site-header__language-container--full");var u=(l=e.getBoundingClientRect()).right-d.right+d.width/2;e.style.setProperty(i,"calc("+u+"px - "+this.arrowSize+")")}else if("ltr"===this.direction&&l.right>c){e.classList.add("ecl-site-header__language-container--push-right"),e.style.setProperty("right","calc(-"+o.right+"px + "+d.right+"px)");var m=o.right-d.right+d.width/2;e.style.setProperty(i,"calc("+m+"px - "+this.arrowSize+")")}else if("rtl"===this.direction&&l.left<0){e.classList.add("ecl-site-header__language-container--push-left"),e.style.setProperty("left","calc(-"+d.left+"px + "+o.left+"px)");var p=d.right-o.left-d.width/2;e.style.setProperty(i,p+"px")}}}updateOverlay(){this.languageListOverlay&&this.languageLink&&this.updateOverlayPosition(this.languageListOverlay,this.languageLink)}handleNotificationClose(){this.notificationContainer&&this.notificationContainer.remove()}setLanguageListHeight(){var e=window.innerHeight;if(this.languageListContent){var t=e-this.languageListContent.getBoundingClientRect().top;t>0&&(this.languageListContent.style.maxHeight=t+"px")}}openOverlay(){this.languageListOverlay.hidden=!1,this.languageListOverlay.setAttribute("aria-modal","true"),this.languageLink.setAttribute("aria-expanded","true"),this.setLanguageListHeight()}closeOverlay(){this.languageListOverlay.hidden=!0,this.languageListOverlay.removeAttribute("aria-modal"),this.languageLink.setAttribute("aria-expanded","false")}toggleOverlay(e){this.languageListOverlay&&this.focusTrap&&(e.preventDefault(),this.languageListOverlay.hasAttribute("hidden")?(this.openOverlay(),this.updateOverlayPosition(this.languageListOverlay,this.languageLink),this.focusTrap.activate()):this.focusTrap.deactivate())}toggleSearch(e){if(this.searchForm){e.preventDefault();var t="true"===this.searchToggle.getAttribute("aria-expanded");this.loginToggle&&"true"===this.loginToggle.getAttribute("aria-expanded")&&this.toggleLogin(e),this.searchToggle.setAttribute("aria-expanded",t?"false":"true"),t?this.searchForm.classList.remove("ecl-site-header__search--active"):(this.searchForm.classList.add("ecl-site-header__search--active"),this.setSearchArrow())}}setLoginArrow(){if(0===this.loginBox.getBoundingClientRect().x){var e=this.loginToggle.getBoundingClientRect(),t=document.documentElement.clientWidth-e.right+e.width/2;this.loginBox.style.setProperty("--ecl-login-arrow-position","calc("+t+"px - "+this.arrowSize+")")}}setSearchArrow(){if(0===this.searchForm.getBoundingClientRect().x){var e=this.searchToggle.getBoundingClientRect(),t=document.documentElement.clientWidth-e.right+e.width/2;this.searchForm.style.setProperty("--ecl-search-arrow-position","calc("+t+"px - "+this.arrowSize+")")}}toggleLogin(e){if(this.loginBox){e.preventDefault();var t="true"===this.loginToggle.getAttribute("aria-expanded");this.searchToggle&&"true"===this.searchToggle.getAttribute("aria-expanded")&&this.toggleSearch(e),this.loginToggle.setAttribute("aria-expanded",t?"false":"true"),t?this.loginBox.classList.remove("ecl-site-header__login-box--active"):(this.loginBox.classList.add("ecl-site-header__login-box--active"),this.setLoginArrow())}}handleKeyboardLanguage(e){32!==e.keyCode&&"Enter"!==e.key||this.toggleOverlay(e)}handleKeyboardGlobal(e){if(this.languageLink){var t=this.languageLink.getAttribute("aria-expanded");"Escape"!==e.key&&"Esc"!==e.key||("true"===t&&this.toggleOverlay(e),this.customActionToggle&&"true"===this.customActionToggle.getAttribute("aria-expanded")&&this.toggleCustomAction(e))}}handleClickGlobal(e){if(this.languageLink||this.searchToggle||this.loginToggle){var t=this.languageLink&&this.languageLink.getAttribute("aria-expanded"),i=this.loginToggle&&"true"===this.loginToggle.getAttribute("aria-expanded"),s=this.searchToggle&&"true"===this.searchToggle.getAttribute("aria-expanded");"true"===t&&(this.languageListOverlay.contains(e.target)||this.languageLink.contains(e.target)||this.toggleOverlay(e)),i&&(this.loginBox.contains(e.target)||this.loginToggle.contains(e.target)||this.toggleLogin(e)),s&&(this.searchForm.contains(e.target)||this.searchToggle.contains(e.target)||this.toggleSearch(e)),this.customActionToggle&&"true"===this.customActionToggle.getAttribute("aria-expanded")&&(this.customActionOverlay.contains(e.target)||this.customActionToggle.contains(e.target)||this.toggleCustomAction(e))}}handleResize(){this.resizeTimer&&clearTimeout(this.resizeTimer),this.resizeTimer=setTimeout(()=>{this.languageListOverlay&&!this.languageListOverlay.hasAttribute("hidden")&&this.updateOverlayPosition(this.languageListOverlay,this.languageLink),this.customActionOverlay&&!this.customActionOverlay.hasAttribute("hidden")&&this.updateOverlayPosition(this.customActionOverlay,this.customActionToggle,"--ecl-overlay-arrow-position"),this.loginBox&&this.loginBox.classList.contains("ecl-site-header__login-box--active")&&this.setLoginArrow(),this.searchForm&&this.searchForm.classList.contains("ecl-site-header__search--active")&&this.setSearchArrow()},200)}openCustomAction(){this.customActionOverlay&&(this.customActionOverlay.hidden=!1,this.customActionOverlay.setAttribute("aria-modal","true"),this.customActionToggle.setAttribute("aria-expanded","true"))}closeCustomAction(){this.customActionOverlay&&(this.customActionOverlay.hidden=!0,this.customActionOverlay.removeAttribute("aria-modal"),this.customActionToggle.setAttribute("aria-expanded","false"))}toggleCustomAction(e){this.customActionOverlay&&this.customActionFocusTrap&&(e.preventDefault(),this.customActionOverlay.hasAttribute("hidden")?(this.openCustomAction(),this.updateOverlayPosition(this.customActionOverlay,this.customActionToggle,"--ecl-overlay-arrow-position"),this.customActionFocusTrap.activate()):this.customActionFocusTrap.deactivate())}handleKeyboardCustomAction(e){32!==e.keyCode&&"Enter"!==e.key||this.toggleCustomAction(e)}}class ct{static autoInit(e,t){var i=(void 0===t?{}:t).TABLE,s=new ct(e,void 0===i?{}:i);return s.init(),e.ECLTable=s,s}constructor(e,t){var i=void 0===t?{}:t,s=i.sortSelector,n=void 0===s?"[data-ecl-table-sort-toggle]":s,a=i.sortLabelSelectorAsc,r=void 0===a?"data-ecl-table-sort-label-asc":a,l=i.sortLabelSelectorDesc,o=void 0===l?"data-ecl-table-sort-label-desc":l,d=i.sortLabelSelectorDefault,u=void 0===d?"data-ecl-table-sort-label-default":d;if(this.handleClickOnSort=e=>t=>{t.preventDefault();for(var i=e.closest("table"),s=c("tbody",i),n=e.getAttribute("aria-sort"),a=0,r=e.previousElementSibling;r;)a+=r.getAttribute("colspan")?Number(r.getAttribute("colspan")):1,r=r.previousElementSibling;var l,o;"descending"===n?([...h("tr",s)].forEach((e,t)=>{var i=c("[data-ecl-table-order='"+t+"']",s);s.appendChild(i)}),n=null):([...h("tr",s)].sort((l=a,o="ascending"!==n,(e,t)=>{return i=(o?e:t).children[l].textContent,s=(o?t:e).children[l].textContent,""===i||""===s||Number.isNaN(+i)||Number.isNaN(+s)?i.toString().localeCompare(s):i-s;var i,s})).forEach(e=>s.appendChild(e)),n="ascending"===n?"descending":"ascending"),this.sortHeadings.forEach(t=>{n&&t===e?t.setAttribute("aria-sort",n):t.setAttribute("aria-sort","none")});var d="";this.sortButtons.forEach(e=>{switch(n){case"ascending":d=this.sortLabelDesc?this.sortLabelDesc:"";break;case"descending":d=this.sortLabelDefault?this.sortLabelDefault:"";break;default:d=this.sortLabelAsc?this.sortLabelAsc:""}d&&e.setAttribute("aria-label",d)})},!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");this.element=e,this.sortSelector=n,this.sortLabelSelectorAsc=r,this.sortLabelSelectorDesc=o,this.sortLabelSelectorDefault=u,this.sortLabelAsc="",this.sortLabelDesc="",this.sortHeadings=null,this.sortButtons=[],this.handleClickOnSort=this.handleClickOnSort.bind(this)}static createSortIcon(e){var t=document.createElement("span");return t.setAttribute("class","wt-icon--solid-arrow ecl-table__icon ecl-icon--m "+e),t}init(){if(!ECL)throw new TypeError("Called init but ECL is not present");ECL.components=ECL.components||new Map,this.sortHeadings=h(this.sortSelector,this.element),this.element.hasAttribute(this.sortLabelSelectorAsc)&&(this.sortLabelAsc=this.element.getAttribute(this.sortLabelSelectorAsc)),this.element.hasAttribute(this.sortLabelSelectorDesc)&&(this.sortLabelDesc=this.element.getAttribute(this.sortLabelSelectorDesc)),this.element.hasAttribute(this.sortLabelSelectorDefault)&&(this.sortLabelDefault=this.element.getAttribute(this.sortLabelSelectorDefault)),this.sortHeadings&&(this.sortHeadings.forEach(e=>{var t=document.createElement("button");t.classList.add("ecl-table__arrow"),this.sortLabelAsc&&t.setAttribute("aria-label",this.sortLabelAsc),t.appendChild(ct.createSortIcon("ecl-table__icon-up")),t.appendChild(ct.createSortIcon("ecl-table__icon-down")),e.appendChild(t),e.addEventListener("click",t=>this.handleClickOnSort(e)(t)),this.sortButtons.push(t)}),this.sortHeadings.forEach(e=>{e.setAttribute("aria-sort","none")}));var e=c("tbody",this.element);[...h("tr",e)].forEach((e,t)=>{e.setAttribute("data-ecl-table-order",t)}),this.element.setAttribute("data-ecl-auto-initialized","true"),ECL.components.set(this.element,this)}destroy(){this.sortHeadings&&this.sortHeadings.forEach(e=>{e.removeEventListener("click",t=>this.handleClickOnSort(e)(t))}),this.element&&(this.element.removeAttribute("data-ecl-auto-initialized"),ECL.components.delete(this.element))}}class dt{static autoInit(e,t){var i=(void 0===t?{}:t).TABS,s=new dt(e,void 0===i?{}:i);return s.init(),e.ECLTabs=s,s}constructor(e,t){var i=void 0===t?{}:t,s=i.containerSelector,n=void 0===s?".ecl-tabs__container":s,a=i.contentSelector,r=void 0===a?"data-ecl-tabs-with-content":a,l=i.listSelector,o=void 0===l?".ecl-tabs__list":l,h=i.listItemsSelector,c=void 0===h?".ecl-tabs__item:not(.ecl-tabs__item--more)":h,d=i.moreItemSelector,m=void 0===d?".ecl-tabs__item--more":d,p=i.moreButtonSelector,v=void 0===p?".ecl-tabs__toggle":p,g=i.moreLabelSelector,b=void 0===g?".ecl-tabs__toggle .ecl-button__label":g,f=i.prevSelector,y=void 0===f?".ecl-tabs__prev":f,L=i.nextSelector,k=void 0===L?".ecl-tabs__next":L,E=i.activeSelector,C=void 0===E?"ecl-tabs__link--active":E,w=i.attachClickListener,S=void 0===w||w,A=i.attachResizeListener,_=void 0===A||A;if(this.supportedEvents=["onToggle"],!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");this.element=e,this.eventManager=new u,this.containerSelector=n,this.contentSelector=r,this.listSelector=o,this.listItemsSelector=c,this.moreItemSelector=m,this.moreButtonSelector=v,this.moreLabelSelector=b,this.prevSelector=y,this.nextSelector=k,this.activeSelector=C,this.attachClickListener=S,this.attachResizeListener=_,this.container=null,this.list=null,this.listItems=null,this.moreItem=null,this.moreButton=null,this.moreButtonActive=!1,this.moreLabel=null,this.moreLabelValue=null,this.dropdown=null,this.dropdownList=null,this.dropdownItems=null,this.allowShift=!0,this.buttonNextSize=0,this.index=0,this.total=0,this.tabsKey=[],this.firstTab=null,this.lastTab=null,this.direction="ltr",this.isMobile=!1,this.resizeTimer=null,this.tabs=[],this.activeTab=null,this.handleClickOnToggle=this.handleClickOnToggle.bind(this),this.handleClickOnTabs=this.handleClickOnTabs.bind(this),this.handleResize=this.handleResize.bind(this),this.closeMoreDropdown=this.closeMoreDropdown.bind(this),this.handleClickOutside=this.handleClickOutside.bind(this),this.shiftTabs=this.shiftTabs.bind(this),this.handleKeyboardOnTabs=this.handleKeyboardOnTabs.bind(this),this.moveFocus=this.moveFocus.bind(this),this.arrowFocusToTab=this.arrowFocusToTab.bind(this),this.tabsKeyEvents=this.tabsKeyEvents.bind(this),this.handleFocusOnToggle=this.handleFocusOnToggle.bind(this),this.handleMouseDownOnToggle=this.handleMouseDownOnToggle.bind(this),this.handleFocusOnTab=this.handleFocusOnTab.bind(this)}init(){var e=this;if(!ECL)throw new TypeError("Called init but ECL is not present");if(ECL.components=ECL.components||new Map,this.container=c(this.containerSelector,this.element),this.hasContent=this.element.hasAttribute(this.contentSelector),this.list=c(this.listSelector,this.element),this.listItems=h(this.listItemsSelector,this.element),this.moreItem=c(this.moreItemSelector,this.element),this.moreButton=c(this.moreButtonSelector,this.element),this.moreLabel=c(this.moreLabelSelector,this.element),this.moreLabelValue=this.moreLabel.innerText,this.btnPrev=c(this.prevSelector,this.element),this.btnNext=c(this.nextSelector,this.element),this.total=this.listItems.length,this.moreButton&&(this.dropdown=document.createElement("div"),this.dropdown.classList.add("ecl-tabs__dropdown"),this.dropdownList=document.createElement("div"),this.dropdownList.classList.add("ecl-tabs__dropdown-list"),this.listItems.forEach(e=>{var t,i,s=c(".ecl-link",e);if(s){var n=document.createElement("div");n.className="ecl-tabs__item";var a=document.createElement("a");a.className=s.className,a.setAttribute("role","tab"),a.setAttribute("aria-selected","false"),a.setAttribute("tabindex","-1"),a.href=s.getAttribute("href"),a.textContent=null!=(t=null==(i=s.textContent)?void 0:i.trim())?t:"",s.id&&(a.dataset.id=s.id),n.appendChild(a),n.addEventListener("click",this.handleClickOnTabs),this.dropdownList.appendChild(n)}}),this.dropdown.appendChild(this.dropdownList),this.moreItem.appendChild(this.dropdown),this.dropdownItems=h(".ecl-tabs__dropdown .ecl-tabs__item",this.element)),this.btnNext&&(this.buttonNextSize=this.btnNext.getBoundingClientRect().width),this.attachClickListener&&this.moreButton&&(this.moreButton.addEventListener("mousedown",this.handleMouseDownOnToggle),this.moreButton.addEventListener("click",this.handleClickOnToggle),this.moreButton.addEventListener("focus",this.handleFocusOnToggle)),this.attachClickListener&&document&&this.moreButton&&document.addEventListener("click",this.handleClickOutside),this.hasContent){this.listItems.forEach(e=>{var t=c(".ecl-tabs__link",e),i=new URL(t.href);if(i.hash){var s=i.hash.slice(1),n=document.getElementById(s);n&&(n.setAttribute("role","tabpanel"),t.setAttribute("aria-controls",s),t.id&&n.setAttribute("aria-labelledby",t.id)),this.tabs.push({link:t,id:s,content:n}),e.addEventListener("click",this.handleClickOnTabs)}});var t=window.location.hash.slice(1);this.activeTab=null;var i=!!t;if(i&&(this.activeTab=this.tabs.find(e=>e.id===t)),this.activeTab||(this.activeTab=this.tabs.find(e=>e.link.classList.contains(this.activeSelector))),this.activeTab||(this.activeTab=this.tabs[0]),this.activeTab){var s=!1;this.tabs.forEach(e=>{var t=e===this.activeTab;t&&(s=!0),e.link.classList.toggle(this.activeSelector,t),e.link.setAttribute("aria-selected",t?"true":"false"),e.link.setAttribute("tabindex",t?"0":"-1"),e.content&&(e.content.style.display=t?"block":"none",e.content.hasAttribute("z-index")||e.content.setAttribute("z-index",-1))}),this.moreButton&&this.dropdownItems.forEach(e=>{var t,i=e.querySelector("a"),n=(null==(t=new URL(i.href).hash)?void 0:t.slice(1))===this.activeTab.id;i.classList.toggle(this.activeSelector,n),i.setAttribute("aria-selected",n?"true":"false"),n&&!s&&(this.moreButtonActive=!0,this.moreButton.classList.add("ecl-tabs__toggle--active"))}),i&&requestAnimationFrame(()=>{requestAnimationFrame(()=>{var e=this.activeTab.content;e&&null!==e.offsetParent&&e.scrollIntoView({behavior:"smooth",block:"start"})})})}}this.attachClickListener&&this.btnNext&&this.btnNext.addEventListener("click",this.shiftTabs.bind(this,"next",!0)),this.attachClickListener&&this.btnPrev&&this.btnPrev.addEventListener("click",this.shiftTabs.bind(this,"prev",!0)),this.attachResizeListener&&window.addEventListener("resize",this.handleResize);var n=function(t,i){void 0===i&&(i=10),e.list&&e.list.offsetWidth>0?t():i>0&&requestAnimationFrame(()=>n(t,i-1))};requestAnimationFrame(()=>n(()=>this.handleResize())),this.element.setAttribute("data-ecl-auto-initialized","true"),ECL.components.set(this.element,this)}on(e,t){this.eventManager.on(e,t)}trigger(e,t){this.eventManager.trigger(e,t)}destroy(){this.dropdown&&this.dropdown.remove(),this.moreButton&&(this.moreLabel.textContent=this.moreLabelValue,this.moreButton.replaceWith(this.moreButton.cloneNode(!0))),this.btnNext&&this.btnNext.replaceWith(this.btnNext.cloneNode(!0)),this.btnPrev&&this.btnPrev.replaceWith(this.btnPrev.cloneNode(!0)),this.attachClickListener&&document&&this.moreButton&&document.removeEventListener("click",this.handleClickOutside),this.attachResizeListener&&window.removeEventListener("resize",this.handleResize),this.tabsKey&&this.tabsKey.forEach(e=>{e.addEventListener("keydown",this.handleKeyboardOnTabs)}),this.hasContent&&this.tabs.forEach(e=>{e.removeEventListener("click",this.handleClickOnTabs)}),this.element&&(this.element.removeAttribute("data-ecl-auto-initialized"),ECL.components.delete(this.element))}shiftTabs(e){this.index="next"===e?this.index+1:this.index-1,this.index>=1?(this.btnPrev.style.display="flex",this.container.classList.add("ecl-tabs__container--left")):(this.btnPrev.style.display="none",this.container.classList.remove("ecl-tabs__container--left")),this.index>=this.total-1?(this.btnNext.style.display="none",this.container.classList.remove("ecl-tabs__container--right")):(this.btnNext.style.display="flex",this.container.classList.add("ecl-tabs__container--right"));var t=0;this.direction=getComputedStyle(this.element).direction,t="rtl"===this.direction?Math.ceil(this.list.offsetWidth-this.listItems[this.index].offsetLeft-this.listItems[this.index].offsetWidth):Math.ceil(this.listItems[this.index].offsetLeft);var i=this.element.getBoundingClientRect().width;this.container.classList.contains("ecl-tabs__container--right")&&(i-=this.buttonNextSize);var s=Math.ceil(this.list.getBoundingClientRect().width-i);t>s&&(this.btnNext.style.display="none",this.container.classList.remove("ecl-tabs__container--right"),t=s),this.list.style.transitionDuration="0.4s","rtl"===this.direction?this.list.style.transform="translate3d("+t+"px, 0px, 0px)":this.list.style.transform="translate3d(-"+t+"px, 0px, 0px)"}handleMouseDownOnToggle(){this.isMouseEvent=!0}handleClickOnToggle(e){this.isMouseEvent=!1,this.dropdown.classList.contains("ecl-tabs__dropdown--show")?this.closeMoreDropdown():this.openMoreDropdown(),this.trigger("onToggle",e)}handleFocusOnToggle(){if(!this.moreButtonActive||this.isMouseEvent||this.isTabEvent)this.isTabEvent=!1;else{this.openMoreDropdown();var e=this.dropdown.querySelector("."+this.activeSelector);e&&e.focus()}}handleFocusOnTab(e){if(this.isMobile){var t=e.currentTarget,i=this.tabsKey.indexOf(t);if(-1!==i)if(this.index=i,this.list.scrollLeft=0,this.container.scrollLeft=0,i>0?(this.btnPrev.style.display="flex",this.container.classList.add("ecl-tabs__container--left")):(this.btnPrev.style.display="none",this.container.classList.remove("ecl-tabs__container--left")),i>=this.total-1?(this.btnNext.style.display="none",this.container.classList.remove("ecl-tabs__container--right")):(this.btnNext.style.display="flex",this.container.classList.add("ecl-tabs__container--right")),i>0){var s=this.btnPrev.getBoundingClientRect().width,n=this.listItems[i].offsetLeft-s;this.list.style.transform="translate3d(-"+n+"px, 0px, 0px)"}else this.list.style.transform="translate3d(0px, 0px, 0px)"}}set onToggle(e){this.onToggleCallback=e}get onToggle(){return this.onToggleCallback}handleClickOnTabs(e){var t=!1,i=new URL(e.target.href),s=i.hash?i.hash.slice(1):null;s&&(e.preventDefault(),this.tabs.forEach(e=>{e.content&&(e.content.style.display=e.id!==s?"none":"block"),e.id!==s?(e.link.classList.remove(this.activeSelector),e.link.setAttribute("aria-selected","false"),e.link.setAttribute("tabindex","-1")):(this.activeTab=e,e.link.classList.add(this.activeSelector),e.link.setAttribute("aria-selected","true"),e.link.setAttribute("tabindex","0"),e.link.closest(".ecl-tabs__item").classList.contains("ecl-tabs__item--hidden")||(t=!0))}),this.moreButton&&(this.moreButtonActive=!1,this.moreButton.classList.remove("ecl-tabs__toggle--active"),this.dropdownItems.forEach(e=>{var i=e.getElementsByTagName("a")[0],n=new URL(i);(n.hash?n.hash.slice(1):null)!==s?(i.classList.remove(this.activeSelector),i.setAttribute("aria-selected","false")):(i.classList.add(this.activeSelector),i.setAttribute("aria-selected","true"),t||(this.moreButtonActive=!0,this.moreButton.classList.add("ecl-tabs__toggle--active")))}),this.moreButton.setAttribute("tabindex",this.moreButtonActive?"0":"-1")),history.replaceState(null,"","#"+s))}handleResize(){"none"===window.getComputedStyle(this.moreButton).display&&this.closeMoreDropdown(),clearTimeout(this.resizeTimer),this.resizeTimer=setTimeout(()=>{if(this.list.style.transform="translate3d(0px, 0px, 0px)",Math.max(document.documentElement.clientWidth||0,window.innerWidth||0)<=480){this.isMobile=!0,this.index=1,this.list.style.transitionDuration="0.4s",this.shiftTabs(this.index),this.moreItem&&this.moreItem.classList.add("ecl-tabs__item--hidden"),this.moreButton&&this.moreButton.classList.add("ecl-tabs__toggle--hidden");var e=0;return this.listItems.forEach(t=>{t.classList.remove("ecl-tabs__item--hidden"),e+=Math.ceil(t.getBoundingClientRect().width)}),this.list.style.width=e+"px",this.btnNext.style.display="flex",this.container.classList.add("ecl-tabs__container--right"),this.btnPrev.style.display="none",this.container.classList.remove("ecl-tabs__container--left"),void this.tabsKeyEvents()}this.isMobile=!1,this.btnNext.style.display="none",this.container.classList.remove("ecl-tabs__container--right"),this.btnPrev.style.display="none",this.container.classList.remove("ecl-tabs__container--left"),this.list.style.width="auto";var t=this.moreButton.getBoundingClientRect().width+25,i=[],s=this.list.getBoundingClientRect().width||this.list.offsetWidth;this.moreButtonActive=!1,this.listItems.forEach((e,n)=>{e.classList.remove("ecl-tabs__item--hidden"),s>=t+e.getBoundingClientRect().width&&!i.includes(n-1)?t+=e.getBoundingClientRect().width:(e.classList.add("ecl-tabs__item--hidden"),e.childNodes[0].classList.contains("ecl-tabs__link--active")&&(this.moreButtonActive=!0),i.push(n))}),this.moreButtonActive?(this.moreButton.classList.add("ecl-tabs__toggle--active"),this.moreButton.setAttribute("tabindex","0")):(this.moreButton.classList.remove("ecl-tabs__toggle--active"),this.moreButton.setAttribute("tabindex","-1")),i.length?(this.moreItem.classList.remove("ecl-tabs__item--hidden"),this.moreButton.classList.remove("ecl-tabs__toggle--hidden"),this.moreLabel.textContent=this.moreLabelValue.replace("%d",i.length),this.dropdownItems.forEach((e,t)=>{i.includes(t)?e.classList.remove("ecl-tabs__item--hidden"):e.classList.add("ecl-tabs__item--hidden")})):(this.moreItem.classList.add("ecl-tabs__item--hidden"),this.moreButton.classList.add("ecl-tabs__toggle--hidden")),this.tabsKeyEvents()},100)}tabsKeyEvents(){this.tabsKey=[],this.listItems.forEach((e,t,i)=>{var s=null;if(e.classList.contains("ecl-tabs__item--hidden")){var n=this.dropdownItems[t];s=c(".ecl-tabs__link",n)}else s=c(".ecl-tabs__link",e);s.addEventListener("keydown",this.handleKeyboardOnTabs),s.addEventListener("focus",this.handleFocusOnTab),this.tabsKey.push(s),0===t&&(this.firstTab=s),t===i.length-1&&(this.lastTab=s)})}closeMoreDropdown(){this.moreButton.setAttribute("aria-expanded",!1),this.dropdown.classList.remove("ecl-tabs__dropdown--show")}openMoreDropdown(){this.moreButton.setAttribute("aria-expanded",!0),this.dropdown.classList.add("ecl-tabs__dropdown--show")}handleClickOutside(e){for(var t=e.target;t;){if(t===this.moreButton)return;t=t.parentNode}this.closeMoreDropdown()}handleKeyboardOnTabs(e){var t=e.currentTarget;switch(e.key){case"ArrowLeft":this.arrowFocusToTab(t,"prev");break;case"ArrowRight":this.arrowFocusToTab(t,"next");break;case"Home":this.moveFocus(this.firstTab);break;case"End":this.moveFocus(this.lastTab);break;case" ":this.handleClickOnTabs(e);break;case"Escape":this.closeMoreDropdown();break;case"Tab":this.isTabEvent=!0,this.closeMoreDropdown(),this.moreButton.setAttribute("tabindex","-1"),setTimeout(()=>{this.isTabEvent=!1,this.moreButtonActive&&this.moreButton.setAttribute("tabindex","0")},0),!e.shiftKey&&this.hasContent&&this.activeTab.content&&this.activeTab.content.focus()}}moveFocus(e){e.closest(".ecl-tabs__dropdown")?this.openMoreDropdown():this.closeMoreDropdown(),e.focus()}arrowFocusToTab(e,t){var i=this.tabsKey.indexOf(e);i="next"===t?i+1:i-1;var s="next"===t?this.firstTab:this.lastTab,n="next"===t?this.lastTab:this.firstTab;this.isMobile?e!==n&&this.moveFocus(this.tabsKey[i]):e===n?this.moveFocus(s):this.moveFocus(this.tabsKey[i])}}class ut{static autoInit(e,t){var i=(void 0===t?{}:t).TIMELINE,s=new ut(e,void 0===i?{}:i);return s.init(),e.ECLTimeline=s,s}constructor(e,t){var i=void 0===t?{}:t,s=i.buttonSelector,n=void 0===s?"[data-ecl-timeline-button]":s,a=i.labelSelector,r=void 0===a?"[data-ecl-label]":a,l=i.labelExpanded,o=void 0===l?"data-ecl-label-expanded":l,h=i.labelCollapsed,c=void 0===h?"data-ecl-label-collapsed":h,d=i.attachClickListener,u=void 0===d||d,m=i.attachResizeListener,p=void 0===m||m;if(!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");this.element=e,this.buttonSelector=n,this.labelSelector=r,this.labelExpanded=o,this.labelCollapsed=c,this.attachClickListener=u,this.attachResizeListener=p,this.button=null,this.label=null,this.timelineItems=null,this.resizeTimer=null,this.handleClickOnButton=this.handleClickOnButton.bind(this),this.handleResize=this.handleResize.bind(this)}init(){if(!ECL)throw new TypeError("Called init but ECL is not present");ECL.components=ECL.components||new Map,this.button=c(this.buttonSelector,this.element),this.timelineItems=h(".ecl-timeline__item",this.element),this.label=c(this.labelSelector,this.element),this.attachClickListener&&this.button&&this.button.addEventListener("click",this.handleClickOnButton),this.attachResizeListener&&window.addEventListener("resize",this.handleResize),setTimeout(()=>{this.adjustLabelHeights()},100),this.element.setAttribute("data-ecl-auto-initialized","true"),ECL.components.set(this.element,this)}destroy(){this.attachClickListener&&this.button&&this.button.removeEventListener("click",this.handleClickOnButton),this.attachResizeListener&&window.removeEventListener("resize",this.handleResize),this.resizeTimer&&clearTimeout(this.resizeTimer),this.element&&(this.element.removeAttribute("data-ecl-auto-initialized"),ECL.components.delete(this.element))}handleClickOnButton(){var e="true"===this.button.getAttribute("aria-expanded");if(this.button.setAttribute("aria-expanded",e?"false":"true"),e)this.element.removeAttribute("data-ecl-timeline-expanded"),this.button.blur(),this.button.focus();else{this.element.setAttribute("data-ecl-timeline-expanded","true");var t=c(".ecl-timeline__item--collapsed",this.element);t&&(t.setAttribute("tabindex","-1"),t.focus())}return this.label&&!e&&this.button.hasAttribute(this.labelExpanded)?this.label.innerHTML=this.button.getAttribute(this.labelExpanded):this.label&&e&&this.button.hasAttribute(this.labelCollapsed)&&(this.label.innerHTML=this.button.getAttribute(this.labelCollapsed)),this.adjustLabelHeights(),this}handleResize(){clearTimeout(this.resizeTimer),this.resizeTimer=setTimeout(()=>{this.adjustLabelHeights()},250)}adjustLabelHeights(){this.timelineItems&&this.timelineItems.forEach(e=>{var t=c(".ecl-timeline__label",e);if(e.style.removeProperty("--ecl-timeline-label-height"),t){var i=t.getBoundingClientRect().height;e.style.setProperty("--ecl-timeline-label-height",i+"px")}})}}var mt=0;class pt{static autoInit(e,t){var i=(void 0===t?{}:t).TOOLTIP,s=new pt(e,void 0===i?{}:i);return s.init(),e.ECLTooltip=s,s}constructor(e,t){var i=void 0===t?{}:t,s=i.tooltipSelector,n=void 0===s?"[data-ecl-tooltip], [data-ecl-tooltip-inverted]":s,a=i.attachHoverListener,r=void 0===a||a,l=i.attachResizeListener,o=void 0===l||l,h=i.attachScrollListener,c=void 0===h||h,d=i.attachKeyListener,u=void 0===d||d,m=i.hideDelay,p=void 0===m?300:m;if(!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");this.element=e,this.tooltipSelector=n,this.attachHoverListener=r,this.attachResizeListener=o,this.attachScrollListener=c,this.attachKeyListener=u,this.hideDelay=p,this.popups=new Map,this.currentTrigger=null,this.currentPopup=null,this.usePopoverApi="popover"in HTMLElement.prototype,this.hideTimeoutId=null,this.handleMouseOver=this.handleMouseOver.bind(this),this.handleMouseOut=this.handleMouseOut.bind(this),this.handleFocusIn=this.handleFocusIn.bind(this),this.handleFocusOut=this.handleFocusOut.bind(this),this.handleKeyboardGlobal=this.handleKeyboardGlobal.bind(this),this.hideTooltip=this.hideTooltip.bind(this),this.positionTooltip=this.positionTooltip.bind(this)}init(){if(!ECL)throw new TypeError("Called init but ECL is not present");if(ECL.components=ECL.components||new Map,h(this.tooltipSelector,this.element).forEach(e=>{this.getOrCreatePopup(e)}),this.attachHoverListener&&(this.element.addEventListener("mouseover",this.handleMouseOver),this.element.addEventListener("mouseout",this.handleMouseOut),this.element.addEventListener("focusin",this.handleFocusIn),this.element.addEventListener("focusout",this.handleFocusOut)),this.attachKeyListener){document.addEventListener("keyup",this.handleKeyboardGlobal);try{window.parent!==window&&window.parent.document.addEventListener("keyup",this.handleKeyboardGlobal)}catch(e){}}this.attachResizeListener&&window.addEventListener("resize",this.hideTooltip),this.attachScrollListener&&window.addEventListener("scroll",this.hideTooltip,{capture:!0}),this.element.setAttribute("data-ecl-auto-initialized","true"),ECL.components.set(this.element,this)}destroy(){if(this.attachHoverListener&&(this.element.removeEventListener("mouseover",this.handleMouseOver),this.element.removeEventListener("mouseout",this.handleMouseOut),this.element.removeEventListener("focusin",this.handleFocusIn),this.element.removeEventListener("focusout",this.handleFocusOut)),this.attachKeyListener){document.removeEventListener("keyup",this.handleKeyboardGlobal);try{window.parent!==window&&window.parent.document.removeEventListener("keyup",this.handleKeyboardGlobal)}catch(e){}}this.attachResizeListener&&window.removeEventListener("resize",this.hideTooltip),this.attachScrollListener&&window.removeEventListener("scroll",this.hideTooltip,{capture:!0}),this.clearHideTimeout(),this.popups.forEach((e,t)=>{t.removeAttribute("aria-describedby"),e.parentNode&&e.parentNode.removeChild(e)}),this.popups.clear(),this.element&&(this.element.removeAttribute("data-ecl-auto-initialized"),ECL.components.delete(this.element))}getOrCreatePopup(e){if(this.popups.has(e))return this.popups.get(e);var t="ecl-tooltip-"+mt++,i=document.createElement("span");i.classList.add("ecl-tooltip"),i.setAttribute("id",t),i.setAttribute("role","tooltip"),i.setAttribute("aria-hidden","true"),this.usePopoverApi?i.setAttribute("popover","manual"):i.style.display="none",i.addEventListener("mouseover",()=>this.clearHideTimeout()),i.addEventListener("mouseout",t=>{var s=t.relatedTarget;s&&e.contains(s)||s&&i.contains(s)||this.scheduleHide()}),e.insertAdjacentElement("afterend",i),e.setAttribute("aria-describedby",t);var s=e.getAttribute("title");if(s){if(!e.getAttribute("data-ecl-tooltip")&&!e.getAttribute("data-ecl-tooltip-inverted")){var n=e.hasAttribute("data-ecl-tooltip-inverted")?"data-ecl-tooltip-inverted":"data-ecl-tooltip";e.setAttribute(n,s)}e.removeAttribute("title")}return i.textContent=e.getAttribute("data-ecl-tooltip")||e.getAttribute("data-ecl-tooltip-inverted")||"",this.popups.set(e,i),i}handleMouseOver(e){var t=e.target.closest(this.tooltipSelector);t&&(this.clearHideTimeout(),t!==this.currentTrigger&&this.displayTooltip(t))}handleMouseOut(e){if(this.currentTrigger){var t=e.relatedTarget;t&&this.currentTrigger.contains(t)||t&&this.currentPopup&&this.currentPopup.contains(t)||this.scheduleHide()}}handleFocusIn(e){var t=e.target.closest(this.tooltipSelector);t&&this.displayTooltip(t)}handleFocusOut(){this.currentTrigger&&this.hideTooltip()}scheduleHide(){this.clearHideTimeout(),this.hideTimeoutId=setTimeout(()=>this.hideTooltip(),this.hideDelay)}clearHideTimeout(){null!==this.hideTimeoutId&&(clearTimeout(this.hideTimeoutId),this.hideTimeoutId=null)}handleKeyboardGlobal(e){"Escape"!==e.key&&"Esc"!==e.key||this.hideTooltip()}positionTooltip(e,t){var i=e.getBoundingClientRect();t.style.position="fixed",t.style.left="-9999px",t.style.top="-9999px";var s=t.getBoundingClientRect(),n=i.left+i.width/2,a=n-s.width/2,r=i.top-s.height-8,l=!1;r<0&&(r=i.bottom+8,l=!0),a<0&&(a=0);var o=document.documentElement.clientWidth;a+s.width>o&&(a=o-s.width);var h=n-a;t.style.setProperty("--ecl-tooltip-arrow-left",h+"px"),t.classList.toggle("ecl-tooltip--bottom",l),t.style.top=r+"px",t.style.left=a+"px"}displayTooltip(e){var t=this.getOrCreatePopup(e),i=e.getAttribute("data-ecl-tooltip")||e.getAttribute("data-ecl-tooltip-inverted");i&&(this.currentPopup&&this.currentPopup!==t&&this.hideTooltip(),this.currentTrigger=e,this.currentPopup=t,t.textContent=i,t.classList.toggle("ecl-tooltip--inverted",e.hasAttribute("data-ecl-tooltip-inverted")),t.removeAttribute("aria-hidden"),this.usePopoverApi?t.showPopover():t.style.display="block",this.positionTooltip(e,t))}hideTooltip(){this.clearHideTimeout(),this.currentPopup&&(this.usePopoverApi?this.currentPopup.hidePopover():this.currentPopup.style.display="none",this.currentPopup.setAttribute("aria-hidden","true"),this.currentTrigger=null,this.currentPopup=null)}}var vt={autoInit:function(e){var t=void 0===e?{}:e,i=t.root,s=void 0===i?document:i,n=function(e,t){if(null==e)return{};var i={};for(var s in e)if({}.hasOwnProperty.call(e,s)){if(-1!==t.indexOf(s))continue;i[s]=e[s]}return i}(t,d);if(!ECL)throw new TypeError("Called autoInit but ECL is not present");var a=h("[data-ecl-auto-init]",s),r=()=>{a.filter(e=>"true"!==e.getAttribute("data-ecl-auto-initialized")).forEach(e=>{var t=e.getAttribute("data-ecl-auto-init");if(!t)throw new TypeError("(ecl-auto-init) "+t+" data-ecl-auto-init is empty");var i=ECL[t];if("function"!=typeof i)throw new TypeError("(ecl-auto-init) Could not find '"+t+"'");if("function"!=typeof i.autoInit)throw new TypeError("(ecl-auto-init) Could not find autoInit for '"+t+"'");i.autoInit(e,n)})};return r(),{update:()=>r(),destroy:()=>{ECL.components&&ECL.components.forEach((e,t)=>{e.destroy&&(e.destroy(),ECL.components.delete(t))})}}},Banner:m,Carousel:p,CategoryFilter:v,Datepicker:g,Breadcrumb:b,ContentBlock:f,DescriptionList:y,Expandable:L,FileDownload:k,FileUpload:E,Gallery:de,Indicator:ue,InpageNavigation:Se,MediaContainer:Ae,MegaMenu:_e,Menu:Ge,Modal:Ve,NewsTicker:We,Notification:Ue,PageHeaderExpandable:je,Popover:qe,Range:Ye,Select:nt,SiteHeader:ht,Tabs:dt,Table:ct,Timeline:ut,Tooltip:pt};"undefined"!=typeof globalThis?globalThis.ECL=vt:"undefined"!=typeof window&&(window.ECL=vt);export{vt as ECL};ECL.version="5.0.0-RC2";
|