1import{_ as a,a as l}from"./chunk-vendor-di.Bh23gdA.js";import{P as b,U as i,e as u,V as p,t as T}from"./chunk-vendor-lit.NvY0u02.js";import{p as _}from"./chunk-phoenix_custom_element.-3oJuZO.js";import{B as g}from"./chunk-btn_controller.BPcEEeZ.js";import{K as v}from"./chunk-keystrokes_controller.BSiCZ0Y.js";import"./chunk-vendor-lodash.CWHFt7Z.js";const h={selected:"selected"},r="selected";let n=class extends b{constructor(){super(...arguments),this._handleTabClicked=()=>{this.disabled||this._dispatchSelectedEvent()},this._dispatchSelectedEvent=()=>{document.dispatchEvent(new CustomEvent(h.selected,{detail:{panelName:this.panelName},bubbles:!0}))}}get selected(){return this.hasAttribute(r)}set selected(e){e?this.setAttribute(r,""):this.removeAttribute(r),this.setAttribute("aria-selected",String(e)),e?i.makeNavigable(this):i.makeUnnavigable(this)}attributeChangedCallback(e,t,s){super.attributeChangedCallback(e,t,s),e===r&&(this.selected=!!s)}connectedCallback(){super.connectedCallback(),this._btnController=new g(this,this._handleTabClicked),this._setupAttributes(),this._bindEvents(),this.selected?i.makeNavigable(this):i.makeUnnavigable(this)}_setupAttributes(){this.setAttribute("role","tab"),this.setAttribute("aria-controls",this.panelName),this.setAttribute("aria-selected",String(this.selected))}_bindEvents(){this.addEventListener("click",this._handleTabClicked)}};a([u({type:String,reflect:!0,attribute:"panel-name"}),l("design:type",String)],n.prototype,"panelName",void 0);a([u({type:Boolean,reflect:!0}),l("design:type",Boolean)],n.prototype,"disabled",void 0);n=a([_("h-tab")],n);let c=class extends b{constructor(){super(),this._visibilityController=new p(this),this.setAttribute("role","tabpanel")}connectedCallback(){super.connectedCallback();const e=document.querySelector(`[panel-name="${this.name}"]`);e&&e.id&&this.setAttribute("aria-labelledby",e.id)}show(){this._visibilityController.show()}hide(){this._visibilityController.hide()}};a([u({type:String,reflect:!0}),l("design:type",String)],c.prototype,"name",void 0);c=a([_("h-tab-panel"),l("design:paramtypes",[])],c);const A={changed:"changed"};let d=class extends b{constructor(){super(...arguments),this.watchChildrenRendered=!0,this._handleArrowNavigation=e=>{e.preventDefault();const t=this._getFocusedTabIndex();if(t===void 0)return;const s=e.key==="ArrowLeft"?this._getPrevTabIndex(t):this._getNextTabIndex(t);i.makeUnnavigable(this._$tabs[t]),i.makeNavigable(this._$tabs[s]),this._$tabs[s].focus()},this._handleTabSelected=e=>{const t=e.detail.panelName,s=this.querySelector(`[panel-name="${t}"]`);s&&(this.switchPanel(s.panelName),this._$selectedTab&&(this._$selectedTab.selected=!1),s.selected=!0,this._dispatchChangedEvent(this._$selectedTab,s),this._$selectedTab=s)}}connectedCallback(){super.connectedCallback(),this._setupEvents(),this.setAttribute("role","tablist"),this._$tabs=[...this.querySelectorAll("h-tab")],new v({host:this,keys:["ArrowRight","ArrowLeft"],callback:this._handleArrowNavigation,target:this})}_getFocusedTabIndex(){const e=document.activeElement;if(e?.tagName==="H-TAB")return this._$tabs.findIndex(t=>t===e)}_getNextTabIndex(e){return(e+1)%this._$tabs.length}_getPrevTabIndex(e){return(e-1+this._$tabs.length)%this._$tabs.length}_setupEvents(){document.addEventListener(h.selected,this._handleTabSelected)}allChildrenRendered(){const e=this.querySelector("h-tab[selected]");this._hideNotSelectedAndVisiblePanels(),e&&(this._$selectedTab=e,this.switchPanel(this._$selectedTab.panelName))}_hideNotSelectedAndVisiblePanels(){[...this.querySelectorAll("h-tab:not([selected])")].map(t=>t.panelName).forEach(t=>document.querySelectorAll(`[name="${t}"]`).forEach(s=>s.hide()))}switchPanel(e){const t=this._$selectedTab&&document.querySelectorAll(`[name="${this._$selectedTab.panelName}"]`),s=document.querySelectorAll(`[name="${e}"]`);t&&t.forEach(o=>o.hide()),s&&s.forEach(o=>o.show())}_dispatchChangedEvent(e,t){this.emitCustomEvent(A.changed,{detail:{$previousTab:e,$newTab:t}})}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener(h.selected,this._handleTabSelected)}};a([T(),l("design:type",n)],d.prototype,"_$selectedTab",void 0);d=a([_("h-tabs")],d);requestAnimationFrame(()=>{});
1globalThis.__phoenix_wc__=[n,c,d];
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.