1"use strict";(globalThis["batcomJsonp "]=globalThis["batcomJsonp "]||[]).push([[397,9353],{2512(t,s,e){var i=e(3502),a=e(7356),r=e(7691);const l={selectors:{scrollMargin:"scroll-margin",tab:".cmp-tabs__tab",tabPanels:".cmp-tabs__tabpanel",tabPanelLimit:".cmp-tabs__tabpanel--limit"},classes:{tabActive:"cmp-tabs__tab--active",tabPanelLimit:"cmp-tabs__tabpanel--limit",floating:"batcom-tabs-corp--floating"}};class c extends r.A{constructor(t){super(t,l)}init(){this.setRefs(),this.setEvenListeners(),this.isSticky?(this.removeAriaHiddenFromPanels(),this.curateTablist(),this.addScrollMargin(this.tablist.offsetHeight),this.setObservers()):(this.setResizeObserver(),this.handleNav())}setRefs(){super.setRefs(),this.tabs=this.tablist.querySelectorAll(this.selectors.tab),this.tabPanels=this.el.querySelectorAll(this.selectors.tabPanels),this.el.parentNode.classList.contains(this.classes.floating)&&(this.isSticky=!0)}setEvenListeners(){this.isSticky?(this.tablist.addEventListener("click",t=>{const s=t.target.getAttribute("aria-controls");window.location.hash=s}),window.addEventListener("resize",()=>this.onWindowResize()),this.watchForAriaHiddenReapplication(),this.setupFloatingKeyboardNav()):super.setEvenListeners()}onWindowResize(){this.debounce&&clearTimeout(this.debounce),this.debounce=setTimeout(()=>{this.removeScrollMargin(),this.addScrollMargin(this.tablist.offsetHeight)},500)}addScrollMargin(t){const s=document.createElement("style");s.id=this.selectors.scrollMargin,s.innerHTML=`${this.selectors.tabPanels} { scroll-margin-top: ${t}px; }`,document.head.appendChild(s)}removeScrollMargin(){document.getElementById(this.selectors.scrollMargin).remove()}removeAriaHiddenFromPanels(){this.tabPanels.forEach(t=>{t.removeAttribute("aria-hidden")})}watchForAriaHiddenReapplication(){this.ariaObserver=new MutationObserver(()=>{this.removeAriaHiddenFromPanels()}),this.ariaObserver.observe(this.el,{attributes:!0,attributeFilter:["aria-hidden"],subtree:!0})}setupFloatingKeyboardNav(){this.tablist.addEventListener("keydown",t=>{if(!("tab"===t.target.getAttribute("role")))return;const s="Enter"===t.key||" "===t.key,e="Tab"===t.key&&!t.shiftKey;if(!s&&!e)return;const i=this.tablist.querySelector('[aria-selected="true"]');if(!i)return;const r=i.getAttribute("aria-controls");if(!r)return;const l=this.el.querySelector(`#${r}`);if(!l)return;const c=l.querySelector(a.E)||l;t.preventDefault(),c.focus()})}
1clearActive(){this.tabs.forEach(t=>{t.classList.remove(this.classes.tabActive)})}setObservers(){const t=this.tablist.offsetHeight+10,s=new IntersectionObserver(s=>{s.forEach(s=>{if(s.boundingClientRect.top<t){const t=s.target.getAttribute("data-limit");this.clearActive(),s.isIntersecting?this.tabs[t-1]?this.tabs[t-1].classList.add(this.classes.tabActive):this.tabs[0].classList.add(this.classes.tabActive):this.tabs[t].classList.add(this.classes.tabActive)}})},{threshold:0,rootMargin:`-${t}px`});this.limits.forEach(t=>{s.observe(t)})}curateTablist(){this.tabs.forEach(t=>{t.removeAttribute("id")}),this.tabPanels.forEach((t,s)=>{const e=document.createElement("div");e.classList.add(this.classes.tabPanelLimit),e.setAttribute("data-limit",s),t.prepend(e)}),this.limits=this.el.querySelectorAll(this.selectors.tabPanelLimit)}}(0,i.kz)({Tabs:c})},7691(t,s,e){e.d(s,{A:()=>c});var i=e(3502),a=e(6298),r=e(5136);const l={selectors:{tablist:".cmp-tabs__tablist",prevWrapper:".batcom-tabs__button-wrapper--prev",prevButton:".batcom-tabs__button--prev",nextWrapper:".batcom-tabs__button-wrapper--next",nextButton:".batcom-tabs__button--next",tab:".cmp-tabs__tab",circularVariant:".batcom-tabs--circular"},classes:{visible:"visible",hidden:"hidden",active:"cmp-tabs__tab--active",circularVariant:"batcom-tabs--circular"},customProps:{scrollOffset:1,scrollLeft:200,circularTabWidth:48,circularTabGap:8,localStorageKey:"batcom-tabs-active-tab"}};class c{constructor(t,s){this.el=t;const e=(0,a.$N)({},l,s);this.selectors=e.selectors,this.classes=e.classes,this.customProps=e.customProps,this.init()}init(){this.setRefs(),this.setEvenListeners(),this.setResizeObserver(),this.handleNav(),this.setCircularTabConnectors(),this.setImageTabListeners(),this.restoreActiveTab()}setRefs(){this.tablist=this.el.querySelector(this.selectors.tablist),this.prevWrapper=this.el.querySelector(this.selectors.prevWrapper),this.prevButton=this.el.querySelector(this.selectors.prevButton),this.nextWrapper=this.el.querySelector(this.selectors.nextWrapper),this.nextButton=this.el.querySelector(this.selectors.nextButton),this.imageTabs=this.el.querySelectorAll('[data-cmp-hook-tabs="image-tab"]')}setEvenListeners(){this.tablist?.addEventListener("scroll",()=>{this.handleNav()}),this.prevWrapper.addEventListener("click",()=>{this.tablist.scrollLeft-=this.customProps.scrollLeft,this.handleNav()}),this.nextWrapper.addEventListener("click",()=>{this.tablist.scrollLeft+=this.customProps.scrollLeft,this.handleNav()}),window.PubSub.subscribe(r.LQ,()=>{this.handleTabNextEvent()})}setResizeObserver(){new ResizeObserver(t=>{t.forEach(()=>{this.handleNav(),this.setCircularTabConnectors()})}).observe(this.el)}handleTabNextEvent(){const t=this.el.querySelector(`.${this.classes.active}`);if(t){const s=t.nextElementSibling;s&&(t.classList.remove(this.classes.active),s.classList.add(this.classes.active),s.click())}}handleNav(){const t=this.tablist?.offsetWidth,s=this.tablist?.scrollWidth,e=s-t,i=this.tablist?.scrollLeft,a=e-this.customProps.scrollOffset;e<=0?(this.prevWrapper.classList.remove(this.classes.visible),this.prevButton.classList.remove(this.classes.visible),this.nextWrapper.classList.add(this.classes.hidden),this.nextButton.classList.remove(this.classes.visible)):i<=this.customProps.scrollOffset?(this.prevWrapper.classList.remove(this.classes.visible),this.prevButton.classList.remove(this.classes.visible),this.nextWrapper.classList.remove(this.classes.hidden),this.nextButton.classList.add(this.classes.visible)):i<a?(this.prevWrapper.classList.add(this.classes.visible),this.prevButton.classList.add(this.classes.visible),this.nextWrapper.classList.remove(this.classes.hidden),this.nextButton.classList.add(this.classes.visible)):i>=a&&(this.prevWrapper.classList.add(this.classes.visible),this.prevButton.classList.add(this.classes.visible),this.nextWrapper.classList.add(this.classes.hidden),this.nextButton.classList.remove(this.classes.visible))}setCircularTabConnectors(){if(!(this.el.classList.contains(this.classes.circularVariant)||this.el.closest(this.selectors.circularVariant)))return;const t=this.tablist?.querySelectorAll(this.selectors.tab);
1if(!t||t.length<2)return;const s=this.customProps.circularTabWidth,e=this.customProps.circularTabGap;t.forEach((i,a)=>{if(a===t.length-1)return;const r=t[a],l=t[a+1],c=r.getBoundingClientRect(),o=l.getBoundingClientRect(),n=c.left+c.width/2,h=o.left+o.width/2-n-s/2-s/2-2*e;r.style.setProperty("--connector-width",`${h}px`)})}setImageTabListeners(){this.imageTabs&&0!==this.imageTabs.length&&this.imageTabs.forEach((t,s)=>{t.addEventListener("click",()=>{const s=t.dataset.tabId;if(s){const e=this.el.querySelector(`#${s}`);e&&(e.click(),this.updateImageTabsActiveState(t),this.saveActiveTab(s))}}),t.addEventListener("keydown",e=>{if("Enter"===e.key||" "===e.key)return e.preventDefault(),void t.click();let i=null;if("ArrowRight"===e.key||"ArrowDown"===e.key?i=(s+1)%this.imageTabs.length:"ArrowLeft"===e.key||"ArrowUp"===e.key?i=(s-1+this.imageTabs.length)%this.imageTabs.length:"Home"===e.key?i=0:"End"===e.key&&(i=this.imageTabs.length-1),null!==i){e.preventDefault();const t=this.imageTabs[i];t.focus(),t.click()}})})}updateImageTabsActiveState(t){this.imageTabs.forEach(t=>{t.classList.remove("batcom-tabs__image-item--active","batcom-tabs__text-image-row--active"),t.setAttribute("tabindex","-1"),t.setAttribute("aria-selected","false")}),t.classList.contains("batcom-tabs__image-item")?t.classList.add("batcom-tabs__image-item--active"):t.classList.contains("batcom-tabs__text-image-row")&&t.classList.add("batcom-tabs__text-image-row--active"),t.setAttribute("tabindex","0"),t.setAttribute("aria-selected","true")}saveActiveTab(t){try{localStorage.setItem(this.customProps.localStorageKey,t)}catch(t){console.warn("Failed to save active tab to localStorage:",t)}}restoreActiveTab(){try{const t=localStorage.getItem(this.customProps.localStorageKey);if(!t)return;const s=Array.from(this.imageTabs).find(s=>s.dataset.tabId===t);s&&s.click()}catch(t){console.warn("Failed to restore active tab from localStorage:",t)}}}(0,i.kz)({Tabs:c})}},t=>{var s;s=2512,t(t.s=s)}]);
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.