PageSourceSearch

https://www.activecampaign.com/dist/assets/Tabs-C2safGgp.js

js activecampaign.com collected 2026-09-24 06:39:34 UTC 4,932 bytes, 7 lines download raw bytes

1var h=Object.defineProperty;var o=(a,t,e)=>t in a?h(a,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[t]=e;var r=(a,t)=>h(a,"name",{value:t,configurable:!0});var n=(a,t,e)=>o(a,typeof t!="symbol"?t+"":t,e);import{h as c,G as b,i as u}from"./site-B0JexaGd.js";const l=class l{constructor(t,e={}){this.element=t,this.options={...l.defaults,...e},this.tablist=this.element.querySelector("ul"),this.tabs=[...this.tablist.querySelectorAll("a")],this.tabs.length&&(this.options.id||(this.options.id=Math.floor(Math.random()*1e9)),this.mql=c(this.options.tabBarEnabledBreakpoint),b.on(u[this.options.tabBarEnabledBreakpoint],this.onMediaQueryChange),this.tabBarEnabled=this.mql.matches,this.init())}init(){return this.createChildRefs().layout().enable(),this}createChildRefs(){return this.panels=[...this.element.querySelectorAll(`[${l.Attributes.PANEL}]`)],this}layout(){return this.tabBarEnabled||this.renderTabSelect(),this.tablist.setAttribute("role","tablist"),this.tabs.forEach((t,e)=>{t.parentNode.setAttribute("role","presentation"),t.setAttribute("role","tab"),t.setAttribute("id",`tab-${this.options.id}-${e+1}`),t.setAttribute("tabindex","-1"),t.setAttribute("aria-controls",this.panels[e].id),t.setAttribute("aria-selected","false"),t.addEventListener("click",this.handleTabClick),t.addEventListener("keydown",this.handleTabKeydown.bind(this,e))}),this.panels.forEach((t,e)=>{t.hidden=!0,t.classList.remove("grid"),t.setAttribute("role","tabpanel"),t.setAttribute("tabindex","-1"),t.setAttribute("aria-labelledby",this.tabs[e].id),t.addEventListener("keydown",this.handlePanelKeydown.bind(this,e))}),this}enable(){return this.tabs[0].removeAttribute("tabindex"),this.tabs[0].setAttribute("aria-selected","true"),this.panels[0].classList.add("grid"),this.panels[0].hidden=!1,this.onActivateTab(0),this}destroy(){return this.tablist.removeAttribute("role"),this.destroyTabSelect(),this.tabs.forEac
1h(t=>{t.parentNode.removeAttribute("role"),t.removeAttribute("role"),t.removeAttribute("id"),t.removeAttribute("tabindex"),t.removeAttribute("aria-controls"),t.removeEventListener("click",this.handleTabClick),t.removeEventListener("keydown",this.handleTabKeydown)}),this.panels.forEach(t=>{t.removeAttribute("role"),t.removeAttribute("tabindex"),t.removeAttribute("aria-labelledby"),t.classList.add("grid"),t.hidden=!1}),this}switchTab(t,e){if(t===e)return;e.focus(),e.removeAttribute("tabindex"),e.setAttribute("aria-selected","true"),t.setAttribute("aria-selected","false"),t.setAttribute("tabindex","-1");const i=this.tabs.indexOf(e),s=this.tabs.indexOf(t);this.panels[s].hidden=!0,this.panels[s].classList.remove("grid"),this.panels[i].hidden=!1,this.panels[i].classList.add("grid"),this.onActivateTab(i)}handlePanelKeydown=r((t,e)=>{e.key==="ArrowUp"&&(e.preventDefault(),this.tabs[t].focus())},"handlePanelKeydown");handleTabClick=r(t=>{t.preventDefault();const e=this.tablist.querySelector("[aria-selected=true]");t.currentTarget!==e&&this.switchTab(e,t.currentTarget)},"handleTabClick");handleTabKeydown=r((t,e)=>{if(e.key==="ArrowDown"){e.preventDefault(),this.panels[t].focus();return}if(e.key==="Home"||e.key==="End"){e.preventDefault();const s=e.key==="Home"?this.tabs[0]:this.tabs[this.tabs.length-1];this.switchTab(this.tabs[t],s);return}const i=this.tabs.indexOf(e.currentTarget);if(e.key==="ArrowRight"){const s=this.tabs[i+1];s&&this.switchTab(e.currentTarget,s)}else if(e.key==="ArrowLeft"){const s=this.tabs[i-1];s&&this.switchTab(e.currentTarget,s)}},"handleTabKeydown");onActivateTab(t){}renderTabSelect(){this.tabSelectWrapper=document.createElement("div");const t=this.element.querySelector("[data-tab-select-label]").textContent,e=this.tabs.map(i=>`<option value="${i.getAttribute("href")}">${i.textContent}</option>`).join("");this.tabSelectWrapper.innerHTML=`
2      <div class="form__field" data-tab-select-wrapper>
3          <label class="sr-only" for="tabs-select-input">${t}</label>
4          <div class="form__input-container">
5            <select class="form__input" id="tabs-select-input">${e}</select>
6          </div>
7      </div>`,this.tablist.parentElement.prepend(this.tabSelectWrapper),this.tabSelect=this.element.querySelector("select"),this.oldSelectIndex=this.tabSelect.selectedIndex,this.tabSelect.addEventListener("change",this.handleTabSelectChange)}handleTabSelectChange=r(()=>{const t=this.oldSelectIndex,e=this.tabSelect.selectedIndex;this.panels[t].hidden=!0,this.panels[t].classList.remove("grid"),this.panels[e].hidden=!1,this.panels[e].classList.add("grid"),this.onActivateTab(e),this.oldSelectIndex=e},"handleTabSelectChange");destroyTabSelect(){this.tabSelectWrapper.remove()}onMediaQueryChange=r(()=>{this.tabBarEnabled=this.mql.matches,this.tabBarEnabled?this.destroyTabSelect():this.renderTabSelect()},"onMediaQueryChange")};r(l,"Tabs"),n(l,"Attributes",{PANEL:"data-tab-panel"}),n(l,"defaults",{id:void 0,tabBarEnabledBreakpoint:"lg"});let d=l;export{d as default};

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.