1(self.webpackChunkaem_module_ui_frontend=self.webpackChunkaem_module_ui_frontend||[]).push([[1517],{1517:(t,e,i)=>{"use strict";i.r(e),i.d(e,{default:()=>a});var s=i(2749);class a extends s.Z{constructor(t){super(t),this.MOBILE_BREAKPOINT=768,this.TABS_ROOT_SELECTOR=".cmp-tabs",this.TABLIST_SELECTOR=".cmp-tabs__tablist",this.TAB_SELECTOR='[data-cmp-hook-tabs="tab"]',this.TABPANEL_SELECTOR='[data-cmp-hook-tabs="tabpanel"]',this.ACTIVE_TAB_CLASS="cmp-tabs__tab--active",this.ACTIVE_PANEL_CLASS="cmp-tabs__tabpanel--active",this.tabsRoot=null,this.tabList=null,this.tabs=[],this.panels=[],this.mutationObserver=null,this.resizeObserver=null,this.handleTabClick=()=>{this.scheduleHeightUpdate()},this.handleResize=()=>{this.scheduleHeightUpdate()},this.handleWindowLoad=()=>{this.activateTabFromHash(),this.scheduleHeightUpdate()},this.handleHashChange=()=>{this.activateTabFromHash(),this.scheduleHeightUpdate()},console.log("in tabs vertical ts, this.$cmp",this.$cmp),this.tabsRoot=this.$cmp.matches(this.TABS_ROOT_SELECTOR)?this.$cmp:this.$cmp.querySelector(this.TABS_ROOT_SELECTOR),this.tabsRoot&&(this.tabList=this.tabsRoot.querySelector(this.TABLIST_SELECTOR),this.tabs=Array.from(this.tabsRoot.querySelectorAll(this.TAB_SELECTOR)),this.panels=Array.from(this.tabsRoot.querySelectorAll(this.TABPANEL_SELECTOR)),this.bindEvents(),this.observeTabState(),this.observePanelSize(),this.activateTabFromHash(),this.scheduleHeightUpdate())}get isMobile(){return window.innerWidth<this.MOBILE_BREAKPOINT}
1bindEvents(){this.tabs.forEach((t=>{t.addEventListener("click",this.handleTabClick)})),window.addEventListener("resize",this.handleResize,{passive:!0}),window.addEventListener("load",this.handleWindowLoad),window.addEventListener("hashchange",this.handleHashChange)}observeTabState(){this.tabsRoot&&(this.mutationObserver=new MutationObserver((()=>{this.observePanelSize(),this.scheduleHeightUpdate()})),this.tabs.forEach((t=>{var e;null===(e=this.mutationObserver)||void 0===e||e.observe(t,{attributes:!0,attributeFilter:["class","aria-selected","tabindex"]})})),this.panels.forEach((t=>{var e;null===(e=this.mutationObserver)||void 0===e||e.observe(t,{attributes:!0,attributeFilter:["class","aria-hidden"]})})))}observePanelSize(){var t;if(!this.tabList)return;null===(t=this.resizeObserver)||void 0===t||t.disconnect(),this.resizeObserver=new ResizeObserver((()=>{this.scheduleHeightUpdate()})),this.resizeObserver.observe(this.tabList);const e=this.getActivePanel();e&&this.resizeObserver.observe(e)}activateTabFromHash(){const t=window.location.hash.replace("#","");if(!t)return;const e=this.tabs.find((e=>e.id===t));if(e&&!this.isTabActive(e))return void e.click();const i=this.panels.find((e=>e.id===t));if(!i)return;const s=i.getAttribute("aria-labelledby");if(!s)return;const a=this.tabs.find((t=>t.id===s));a&&!this.isTabActive(a)&&a.click()}isTabActive(t){return t.classList.contains(this.ACTIVE_TAB_CLASS)||"true"===t.getAttribute("aria-selected")}getActivePanel(){var t;const e=this.tabs.find((t=>this.isTabActive(t)));if(e){const i=e.getAttribute("aria-controls");if(i){const e=document.getElementById(i);if(e&&(null===(t=this.tabsRoot)||void 0===t?void 0:t.contains(e)))return e}}return this.panels.find((t=>t.classList.contains(this.ACTIVE_PANEL_CLASS)||"true"!==t.getAttribute("aria-hidden")))||null}scheduleHeightUpdate(){window.requestAnimationFrame((()=>{window.requestAnimationFrame((()=>{this.updateComponentMinHeight()}))}))}updateComponentMinHeight(){if(!this.tabsRoot)return;if(this.isMobile)return void(this.tabsRoot.style.minHeight="");const t=this.getActivePanel();if(!t)return;const e=a.getElementHeight(t),i=a.getElementHeight(this.tabList),s=Math.max(e,i);s>0&&(this.tabsRoot.style.minHeight=`${Math.ceil(s)}px`)}static getElementHeight(t){return t?Math.max(t.getBoundingClientRect().height,t.scrollHeight):0}}}}]);
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.