/** * Minified by jsDelivr using Terser v5.37.0. * Original file: /npm/@github/tab-container-element@4.8.2/dist/bundle.js * * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files */ var _a,_TabContainerChangeEvent_tabIndex,_TabContainerChangeEvent_panel,_TabContainerChangeEvent_tab,_TabContainerElement_instances,_TabContainerElement_onTabContainerChange,_TabContainerElement_onTabContainerChanged,_TabContainerElement_tabList_get,_TabContainerElement_tabListWrapper_get,_TabContainerElement_tabListTabWrapper_get,_TabContainerElement_beforeTabsSlot_get,_TabContainerElement_afterTabsSlot_get,_TabContainerElement_afterPanelsSlot_get,_TabContainerElement_tabListSlot_get,_TabContainerElement_panelSlot_get,_TabContainerElement_tabs_get,_TabContainerElement_setupComplete,_TabContainerElement_internals,_TabContainerElement_handleKeydown,_TabContainerElement_handleClick,_TabContainerElement_reflectAttributeToShadow,__defProp=Object.defineProperty,__name=(e,t)=>__defProp(e,"name",{value:t,configurable:!0}),__classPrivateFieldSet=function(e,t,a,n,i){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(e,a):i?i.value=a:t.set(e,a),a},__classPrivateFieldGet=function(e,t,a,n){if("a"===a&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===a?n:"a"===a?n.call(e):n?n.value:t.get(e)},__rest=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(e);i{e.assign(...t)}:(e,...t)=>{const a=e.getRootNode().host;for(const t of a.querySelectorAll(`[slot="${e.name}"]`))t.removeAttribute("slot");for(const a of t)a.setAttribute("slot",e.name)},_TabContainerChangeEvent=class extends Event{constructor(e,t){var{tabIndex:a,tab:n,panel:i}=t;super(e,__rest(t,["tabIndex","tab","panel"])),_TabContainerChangeEvent_tabIndex.set(this,null),_TabContainerChangeEvent_panel.set(this,null),_TabContainerChangeEvent_tab.set(this,null),__classPrivateFieldSet(this,_TabContainerChangeEvent_tab,n||null,"f"),__classPrivateFieldSet(this,_TabContainerChangeEvent_tabIndex,a||null,"f"),__classPrivateFieldSet(this,_TabContainerChangeEvent_panel,i||null,"f")}get detail(){return console.warn("TabContainerElement.detail is deprecated, please use .panel instead"),{relatedTarget:__classPrivateFieldGet(this,_TabContainerChangeEvent_panel,"f")}}get tabIndex(){return __classPrivateFieldGet(this,_TabContainerChangeEvent_tabIndex,"f")}get panel(){return __classPrivateFieldGet(this,_TabContainerChangeEvent_panel,"f")}get tab(){return __classPrivateFieldGet(this,_TabContainerChangeEvent_tab,"f")}},TabContainerChangeEvent=_TabContainerChangeEvent;__name(_TabContainerChangeEvent,"TabContainerChangeEvent"),_TabContainerChangeEvent_tabIndex=new WeakMap,_TabContainerChangeEvent_panel=new WeakMap,_TabContainerChangeEvent_tab=new WeakMap;var _TabContainerElement=class extends HTMLElement{constructor(){super(...arguments),_TabContainerElement_instances.add(this),_TabContainerElement_onTabContainerChange.set(this,null),_TabContainerElement_onTabContainerChanged.set(this,null),_TabContainerElement_setupComplete.set(this,!1),_TabContainerElement_internals.set(this,void 0)}static define(e="tab-container",t=customElements){return t.define(e,this),this}get onChange(){return this.onTabContainerChange}set onChange(e){this.onTabContainerChange=e}get onTabContainerChange(){return __classPrivateFieldGet(this,_TabContainerElement_onTabContainerChange,"f")}set onTabContainerChange(e){__classPrivateFieldGet(this,_TabContainerElement_onTabContainerChange,"f")&&this.removeEventListener("tab-container-change",__classPrivateFieldGet(this,_TabContainerElement_onTabContainerChange,"f")),__classPrivateFieldSet(this,_TabContainerElement_onTabContainerChange,"object"==typeof e||"function"==typeof e?e:null,"f"),"function"==typeof e&&this.addEventListener("tab-container-change",e)}get onTabContainerChanged(){return __classPrivateFieldGet(this,_TabContainerElement_onTabContainerChanged,"f")}set onTabContainerChanged(e){__classPrivateFieldGet(this,_TabContainerElement_onTabContainerChanged,"f")&&this.removeEventListener("tab-container-changed",__classPrivateFieldGet(this,_TabContainerElement_onTabContainerChanged,"f")),__classPrivateFieldSet(this,_TabContainerElement_onTabContainerChanged,"object"==typeof e||"function"==typeof e?e:null,"f"),"function"==typeof e&&this.addEventListener("tab-container-changed",e)}get onChanged(){return this.onTabContainerChanged}set onChanged(e){this.onTabContainerChanged=e}get activeTab(){return __classPrivateFieldGet(this,_TabContainerElement_instances,"a",_TabContainerElement_tabs_get)[this.selectedTabIndex]}get activePanel(){return __classPrivateFieldGet(this,_TabContainerElement_instances,"a",_TabContainerElement_panelSlot_get).assignedNodes()[0]}get vertical(){var e;return"vertical"===(null===(e=__classPrivateFieldGet(this,_TabContainerElement_instances,"a",_TabContainerElement_tabList_get))||void 0===e?void 0:e.getAttribute("aria-orientation"))}set vertical(e){const t=__classPrivateFieldGet(this,_TabContainerElement_instances,"a",_TabContainerElement_tabList_get);t&&e?t.setAttribute("aria-orientation","vertical"):t.setAttribute("aria-orientation","horizontal")}connectedCallback(){__classPrivateFieldSet(this,_TabContainerElement_internals,__classPrivateFieldGet(this,_TabContainerElement_internals,"f")||(this.attachInternals?this.attachInternals():null),"f");const e=this.shadowRoot||this.attachShadow({mode:"open",slotAssignment:"manual"}),t=document.createElement("slot");t.style.display="flex",t.setAttribute("part","tablist-wrapper"),t.setAttribute("name","tablist-wrapper");const a=document.createElement("div");a.setAttribute("part","tablist-tab-wrapper"),a.setAttribute("name","tablist-tab-wrapper");const n=document.createElement("slot");n.setAttribute("part","tablist"),n.setAttribute("name","tablist"),a.append(n);const i=document.createElement("slot");i.setAttribute("part","panel"),i.setAttribute("name","panel");const r=document.createElement("slot");r.setAttribute("part","before-tabs"),r.setAttribute("name","before-tabs");const s=document.createElement("slot");s.setAttribute("part","after-tabs"),s.setAttribute("name","after-tabs"),t.append(r,a,s);const l=document.createElement("slot");if(l.setAttribute("part","after-panels"),l.setAttribute("name","after-panels"),e.replaceChildren(t,i,l),__classPrivateFieldGet(this,_TabContainerElement_internals,"f")&&"role"in __classPrivateFieldGet(this,_TabContainerElement_internals,"f")?__classPrivateFieldGet(this,_TabContainerElement_internals,"f").role="presentation":this.setAttribute("role","presentation"),this.addEventListener("keydown",this),this.addEventListener("click",this),this.selectTab(-1),!__classPrivateFieldGet(this,_TabContainerElement_setupComplete,"f")){const e=new MutationObserver((()=>{this.selectTab(-1),__classPrivateFieldGet(this,_TabContainerElement_setupComplete,"f")&&e.disconnect()}));e.observe(this,{childList:!0,subtree:!0})}}attributeChangedCallback(e){this.isConnected&&this.shadowRoot&&"vertical"===e&&(this.vertical=this.hasAttribute("vertical"))}handleEvent(e){return"click"===e.type?__classPrivateFieldGet(this,_TabContainerElement_instances,"m",_TabContainerElement_handleClick).call(this,e):"keydown"===e.type?__classPrivateFieldGet(this,_TabContainerElement_instances,"m",_TabContainerElement_handleKeydown).call(this,e):void 0}get selectedTabIndex(){return __classPrivateFieldGet(this,_TabContainerElement_instances,"a",_TabContainerElement_tabs_get).findIndex((e=>e.matches("[aria-selected=true]")))}set selectedTabIndex(e){this.selectTab(e)}get defaultTabIndex(){return Number(this.getAttribute("default-tab")||-1)}set defaultTabIndex(e){this.setAttribute("default-tab",String(e))}selectTab(e){var t;if(!__classPrivateFieldGet(this,_TabContainerElement_setupComplete,"f")){const a=__classPrivateFieldGet(this,_TabContainerElement_instances,"a",_TabContainerElement_tabListSlot_get),n=__classPrivateFieldGet(this,_TabContainerElement_instances,"a",_TabContainerElement_tabListWrapper_get),i=this.querySelector("[role=tablist]"),r=this.querySelector("[slot=tablist-wrapper]");r&&r.closest(this.tagName)===this?assignSlotWithFallback(n,r):i&&i.closest(this.tagName)===this?assignSlotWithFallback(a,i):(__classPrivateFieldGet(this,_TabContainerElement_instances,"a",_TabContainerElement_tabListTabWrapper_get).role="tablist",assignSlotWithFallback(a,...[...this.children].filter((e=>e.matches("[role=tab]")))));const s=__classPrivateFieldGet(this,_TabContainerElement_instances,"a",_TabContainerElement_tabList_get);__classPrivateFieldGet(this,_TabContainerElement_instances,"m",_TabContainerElement_reflectAttributeToShadow).call(this,"aria-description",s),__classPrivateFieldGet(this,_TabContainerElement_instances,"m",_TabContainerElement_reflectAttributeToShadow).call(this,"aria-label",s),this.vertical&&__classPrivateFieldGet(this,_TabContainerElement_instances,"a",_TabContainerElement_tabList_get).setAttribute("aria-orientation","vertical");if(!((null===(t=this.querySelector("[slot=tablist-wrapper]"))||void 0===t?void 0:t.closest(this.tagName))===this)){const e=[],t=[],a=[];let n=e;for(const i of this.children)"tab"!==i.getAttribute("role")&&"tablist"!==i.getAttribute("role")?"tabpanel"!==i.getAttribute("role")?"before-tabs"===i.getAttribute("slot")?e.push(i):"after-tabs"===i.getAttribute("slot")?t.push(i):n.push(i):n=a:n=t;assignSlotWithFallback(__classPrivateFieldGet(this,_TabContainerElement_instances,"a",_TabContainerElement_beforeTabsSlot_get),...e),assignSlotWithFallback(__classPrivateFieldGet(this,_TabContainerElement_instances,"a",_TabContainerElement_afterTabsSlot_get),...t),assignSlotWithFallback(__classPrivateFieldGet(this,_TabContainerElement_instances,"a",_TabContainerElement_afterPanelsSlot_get),...a)}const l=this.defaultTabIndex,o=l>=0?l:this.selectedTabIndex;e=e>=0?e:Math.max(0,o)}const a=__classPrivateFieldGet(this,_TabContainerElement_instances,"a",_TabContainerElement_tabs_get),n=Array.from(this.querySelectorAll('[role="tabpanel"]')).filter((e=>e.closest(this.tagName)===this));if(e>a.length-1)return;const i=a[e],r=n[e];if(i&&r){if(__classPrivateFieldGet(this,_TabContainerElement_setupComplete,"f")){if(!this.dispatchEvent(new TabContainerChangeEvent("tab-container-change",{tabIndex:e,bubbles:!0,cancelable:!0,tab:i,panel:r})))return}for(const e of a)e.setAttribute("aria-selected","false"),e.setAttribute("tabindex","-1");for(const e of n)e.hasAttribute("tabindex")||e.hasAttribute("data-tab-container-no-tabstop")||e.setAttribute("tabindex","0");i.setAttribute("aria-selected","true"),i.setAttribute("tabindex","0"),assignSlotWithFallback(__classPrivateFieldGet(this,_TabContainerElement_instances,"a",_TabContainerElement_panelSlot_get),r),r.hidden=!1,__classPrivateFieldGet(this,_TabContainerElement_setupComplete,"f")&&(i.focus(),this.dispatchEvent(new TabContainerChangeEvent("tab-container-changed",{tabIndex:e,bubbles:!0,tab:i,panel:r}))),__classPrivateFieldSet(this,_TabContainerElement_setupComplete,!0,"f")}}},TabContainerElement=_TabContainerElement;__name(_TabContainerElement,"TabContainerElement"),_TabContainerElement_onTabContainerChange=new WeakMap,_TabContainerElement_onTabContainerChanged=new WeakMap,_TabContainerElement_setupComplete=new WeakMap,_TabContainerElement_internals=new WeakMap,_TabContainerElement_instances=new WeakSet,_TabContainerElement_tabList_get=__name((function(){const e=this.querySelector("[slot=tablist-wrapper]");if((null==e?void 0:e.closest(this.tagName))===this)return e.querySelector("[role=tablist]");const t=__classPrivateFieldGet(this,_TabContainerElement_instances,"a",_TabContainerElement_tabListSlot_get);return __classPrivateFieldGet(this,_TabContainerElement_instances,"a",_TabContainerElement_tabListTabWrapper_get).hasAttribute("role")?__classPrivateFieldGet(this,_TabContainerElement_instances,"a",_TabContainerElement_tabListTabWrapper_get):t.assignedNodes()[0]}),"_TabContainerElement_tabList_get"),_TabContainerElement_tabListWrapper_get=__name((function(){return this.shadowRoot.querySelector('slot[part="tablist-wrapper"]')}),"_TabContainerElement_tabListWrapper_get"),_TabContainerElement_tabListTabWrapper_get=__name((function(){return this.shadowRoot.querySelector('div[part="tablist-tab-wrapper"]')}),"_TabContainerElement_tabListTabWrapper_get"),_TabContainerElement_beforeTabsSlot_get=__name((function(){return this.shadowRoot.querySelector('slot[part="before-tabs"]')}),"_TabContainerElement_beforeTabsSlot_get"),_TabContainerElement_afterTabsSlot_get=__name((function(){return this.shadowRoot.querySelector('slot[part="after-tabs"]')}),"_TabContainerElement_afterTabsSlot_get"),_TabContainerElement_afterPanelsSlot_get=__name((function(){return this.shadowRoot.querySelector('slot[part="after-panels"]')}),"_TabContainerElement_afterPanelsSlot_get"),_TabContainerElement_tabListSlot_get=__name((function(){return this.shadowRoot.querySelector('slot[part="tablist"]')}),"_TabContainerElement_tabListSlot_get"),_TabContainerElement_panelSlot_get=__name((function(){return this.shadowRoot.querySelector('slot[part="panel"]')}),"_TabContainerElement_panelSlot_get"),_TabContainerElement_tabs_get=__name((function(){var e;return __classPrivateFieldGet(this,_TabContainerElement_instances,"a",_TabContainerElement_tabListTabWrapper_get).matches("[role=tablist]")?__classPrivateFieldGet(this,_TabContainerElement_instances,"a",_TabContainerElement_tabListSlot_get).assignedNodes():Array.from((null===(e=__classPrivateFieldGet(this,_TabContainerElement_instances,"a",_TabContainerElement_tabList_get))||void 0===e?void 0:e.querySelectorAll('[role="tab"]'))||[]).filter((e=>e instanceof HTMLElement&&e.closest(this.tagName)===this))}),"_TabContainerElement_tabs_get"),_TabContainerElement_handleKeydown=__name((function(e){var t,a,n;const i=null===(a=null===(t=e.target)||void 0===t?void 0:t.closest)||void 0===a?void 0:a.call(t,'[role="tab"]');if(!i)return;const r=__classPrivateFieldGet(this,_TabContainerElement_instances,"a",_TabContainerElement_tabs_get);if(!r.includes(i))return;const s=this.selectedTabIndex,l="vertical"===(null===(n=i.closest('[role="tablist"]'))||void 0===n?void 0:n.getAttribute("aria-orientation")),o="ArrowLeft"===e.code||l&&"ArrowUp"===e.code;if("ArrowRight"===e.code||l&&"ArrowDown"===e.code){let e=s+1;e>=r.length&&(e=0),this.selectTab(e)}else if(o){let e=s-1;e<0&&(e=r.length-1),this.selectTab(e)}else"Home"===e.code?(this.selectTab(0),e.preventDefault()):"End"===e.code&&(this.selectTab(r.length-1),e.preventDefault())}),"_TabContainerElement_handleKeydown"),_TabContainerElement_handleClick=__name((function(e){var t,a;const n=null===(a=null===(t=e.target)||void 0===t?void 0:t.closest)||void 0===a?void 0:a.call(t,"[role=tab]");if(!n)return;const i=__classPrivateFieldGet(this,_TabContainerElement_instances,"a",_TabContainerElement_tabs_get).indexOf(n);i>=0&&this.selectTab(i)}),"_TabContainerElement_handleClick"),_TabContainerElement_reflectAttributeToShadow=__name((function(e,t){this.hasAttribute(e)&&(t.setAttribute(e,this.getAttribute(e)),this.removeAttribute(e))}),"_TabContainerElement_reflectAttributeToShadow"),TabContainerElement.observedAttributes=["vertical"];var root="undefined"!=typeof globalThis?globalThis:window;try{root.TabContainerElement=TabContainerElement.define()}catch(e){if(!(root.DOMException&&e instanceof DOMException&&"NotSupportedError"===e.name||e instanceof ReferenceError))throw e}var dist_default=TabContainerElement;export{TabContainerChangeEvent,TabContainerElement,dist_default as default};