1"use strict";(globalThis["batcomJsonp "]=globalThis["batcomJsonp "]||[]).push([[8243],{3600(t,e,s){var i=s(3502),o=s(1450),r=s(3060),l=s(7356);const n={selectors:{batcomLinkList:".batcom-linklist ul",batcomList:".batcom-list ul",iconList:".aem-Grid:has(.batcom-icon)",teaserList:".aem-Grid:has(.batcom-teaser)",scrollHintContainer:".batcom-container__scroll-hint-container"},classes:{hiddeParrent:"batcom-hide-parent",blurry:"batcom-container--blurry",horizontalScroll:"batcom-container--children-horizontal-scroll",horizontalScrollHiddenScroll:"batcom-container--children-horizontal-hidden-scroll",horizontalScrollCarousel:"batcom-container--children-horizontal-scroll-carousel",hidden:"batcom-hide",scrollArrow:"batcom-container__scroll-arrow",scrollArrowPrev:"batcom-container__scroll-arrow--prev",scrollArrowNext:"batcom-container__scroll-arrow--next"},visibilityRestrictionOptions:{loggedIn:"LOGGED_IN",loggedOut:"LOGGED_OUT"},visibilityNewsletterRestrictionOptions:{fullyVisible:"SIGNED_UP_TO_NEWSLETTER",onlyVisible:"NOT_SIGNED_UP_TO_NEWSLETTER"}};(0,i.kz)({Container:class{constructor(t,e){this.el=t,this.config={...n,...e},this.classes=n.classes,this.init()}init(){this.setRefs(),this.config.hasFrontendLogic&&(this.setVisibilityByAuthentitication(),this.setVisibilityByNewsletter()),(this.container.classList.contains(this.classes.horizontalScroll)||this.container.classList.contains(this.classes.horizontalScrollHiddenScroll)||this.container.classList.contains(this.classes.horizontalScrollCarousel))&&this.createScrollBar(),this.container.classList.contains(this.classes.horizontalScroll)&&this.createScrollArrows()}setRefs(){this.container=this.el.parentElement}getScrollableContent(){const t=this.el.querySelector(this.config.selectors.iconList),e=this.el.querySelector(this.config.selectors.teaserList),s=this.el.querySelector(this.config.selectors.batcomLinkList),i=this.el.querySelector(this.config.selectors.batcomList);return t||(e||(s||i))}createScrollBar(){const t=document.createElement("div");t.classList.add("scrollbar");const e=document.createElement("div");e.classList.add("thumb"),t.append(e),this.el.parentElement.append(t);const s=this.getScrollableContent();s&&this.activateScrollBar(s)}updateScrollableTabIndex(t){const e=t.scrollWidth>t.clientWidth,s=t.querySelector(l.E);e&&!s?t.setAttribute("tabindex","0"):t.removeAttribute("tabindex")}activateScrollBar(t){const e=this.el,s=e.parentElement.querySelector(".scrollbar"),i=s.querySelector(".thumb"),r=e.parentElement.querySelector(this.config.selectors.scrollHintContainer),l=this.config.classes.hidden;function n(){const e=t.scrollWidth,n=t.offsetWidth;if(e>n){s.classList.add("scrollbar--visible");const c=n*(n/e);i.style.width=`${c}px`,i.style.left=t.scrollLeft/e*n+"px",t.classList.remove("justify-content-center"),(0,o.G9)()&&r&&r.classList.remove(l)}else s.classList.remove("scrollbar--visible"),t.classList.add("justify-content-center"),r&&r.classList.add(l)}t.addEventListener("scroll",n),i.addEventListener("mousedown",e=>{const s=e.clientX,o=i.offsetLeft;function r(e){const i=e.clientX-s,r=t.parentElement.offsetWidth,l=t.scrollWidth/r;t.scrollLeft=(o+i)*l}document.addEventListener("mousemove",r),document.addEventListener("mouseup",function t(){document.removeEventListener("mousemove",r),document.removeEventListener("mouseup",t)})}),window.addEventListener("load",n),window.addEventListener("resize",n)}createScrollArrows(){const t=this.getScrollableContent();if(!t)return;this.prevButton=document.createElement("button"),this.prevButton.type="button",this.prevButton.classList.add(this.classes.scrollArrow,this.classes.scrollArrowPrev),this.prevButton.setAttribute("aria-label",this.config.scrollArrowPreviousLabel),this.nextButton=document.createElement("button"),this.nextButton.type="button",this.nextButton.classList.add(this.classes.scrollArrow,this.classes.scrollArrowNext),this.nextButton.setAttribute("aria-label",this.config.scrollArrowNextLabel),this.prevButton.addEventListener("click",()=>{const e=Array.from(t.children),s=t.scrollLeft,i=[...e].reverse().find(t=>t.offsetLeft<s-1);i&&t.scrollTo({left:i.offsetLeft,behavior:"smooth"})}),this.nextButton.addEventListener("click",()=>{const e=Array.from(t.children),s=t.scrollLeft,i=e.find(t=>t.offsetLeft>s);i&&t.scrollTo({left:i.offsetLeft,behavior:"smooth"})}),this.updateArrows(t),t.addEventListener("scroll",()=>this.updateArrows(t)),window.addEventListener("resize",()=>this.updateArrows(t));new ResizeObserver(()=>this.updateArrows(t)).observe(t)}updateArrows(t){const e=t.scrollWidth>t.offsetWidth;if(this.updateScrollableTabIndex(t),!e)return this.prevButton.parentElement&&this.prevButton.remove(),this.nextButton.parentElement&&this.nextButton.remove(),void(t.scrollLeft=0);this.prevButton.parentElement||(this.el.append(this.prevButton),this.el.append(this.nextButton));const{scrollLeft:s,scrollWidth:i,offsetWidth:o}=t,r=document.activeElement,l=s<=0,n=s>=i-o-1;this.prevButton.disabled=l,this.nextButton.disabled=n,r===this.prevButton&&l&&!n?this.nextButton.focus():r===this.nextButton&&n&&!l&&this.prevButton.focus()}setVisibilityByAuthentitication(){const t=(0,r.Uo)();(this.config.visibilityRestriction===this.config.visibilityRestrictionOptions.loggedIn&&t||this.config.visibilityRestriction===this.config.visibilityRestrictionOptions.loggedOut&&!t)&&this.el.classList.remove(this.config.classes.hiddeParrent)}setVisibilityByNewsletter(){const t=!!(0,o.Ri)(this.config.newsletterSignedUpCookie);this.config.visibilityRestriction===this.config.visibilityNewsletterRestrictionOptions.fullyVisible&&t?this.el.classList.remove(this.config.classes.hiddeParrent):this.config.visibilityRestriction!==this.config.visibilityNewsletterRestrictionOptions.fullyVisible||t||(this.el.classList.add(this.config.classes.blurry),this.el.classList.remove(this.config.classes.hiddeParrent)),this.config.visibilityRestriction!==this.config.visibilityNewsletterRestrictionOptions.onlyVisible||t||this.el.classList.remove(this.config.classes.hiddeParrent)}}})}},t=>{t.O(0,[1871],()=>{return e=3600,t(t.s=e);var e});t.O()}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.