@momentum-ui/web-components 3.0.0-alpha.4 → 3.0.0-alpha.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -44,7 +44,7 @@
44
44
  focus-back-to-trigger
45
45
  placement=${this.placement}
46
46
  hide-on-escape
47
- @hidden="${()=>{this.notifyCoachClose()}}"
47
+ @hidden=${()=>{this.notifyCoachClose()}}
48
48
  >
49
49
  <div class="md-coachmark__popper" tabindex="-1">
50
50
  ${this.renderHeader()} ${this.renderBody()} ${this.renderFooter()}
@@ -128,7 +128,7 @@
128
128
  part="dropdown-option"
129
129
  ?focused="${t===this.focusedIndex}"
130
130
  ?selected="${e.key===this.selectedKey}"
131
- @click="${()=>{this.focusToIndexWithOption(e),this.select(),this.collapse()}}"
131
+ @click=${()=>{this.focusToIndexWithOption(e),this.select(),this.collapse()}}
132
132
  >
133
133
  <span class="select-label" part="label">
134
134
  <span>${e.value}</span>
@@ -27,7 +27,7 @@
27
27
  @click=${e=>this.handleClick(e)}
28
28
  @keydown=${e=>this.handleKeydown(e)}
29
29
  ></button>
30
- `}};c([(0,d.property)({type:Number,reflect:!0})],t.prototype,"tabIndex",void 0),c([(0,d.property)({type:String,attribute:"aria-label"})],t.prototype,"ariaLabel",void 0),c([(0,d.property)({type:String,attribute:"closable"})],t.prototype,"closable",void 0),c([(0,d.property)({type:String,attribute:"name"})],t.prototype,"name",void 0),c([(0,d.property)({type:Boolean,attribute:"cross-visible"})],t.prototype,"isCrossVisible",void 0),c([(0,d.property)({type:String,attribute:"role",reflect:!0})],t.prototype,"role",void 0),c([(0,d.property)({type:String,reflect:!0})],t.prototype,"type",void 0),c([(0,d.property)({type:Boolean})],t.prototype,"newMomentum",void 0),c([(0,d.property)({type:Boolean})],t.prototype,"onlyIcon",void 0),c([(0,d.property)({type:String})],t.prototype,"variant",void 0),c([(0,d.property)({type:Boolean,attribute:"visible-tab",reflect:!0})],t.prototype,"visibleTab",void 0),c([(0,d.property)({type:Number})],t.prototype,"size",void 0),c([(0,d.property)({type:Boolean,reflect:!0})],t.prototype,"disabled",null),c([(0,d.property)({type:Boolean,reflect:!0})],t.prototype,"selected",null),c([(0,d.property)({type:Boolean,reflect:!0})],t.prototype,"vertical",void 0),c([(0,d.property)({type:Boolean,reflect:!0})],t.prototype,"viewportHidden",void 0),t=c([(0,o.w)("md-tab")],t),e.ELEMENT=t}(u||(u={}))},16968:e=>{e.exports=u},20291:e=>{e.exports=r},22962:e=>{e.exports=n},32022:e=>{e.exports=o},41891:e=>{e.exports=m},50226:(e,t,i)=>{i.r(t),i.d(t,{MORE_MENU_TAB_COPY_ID_PREFIX:()=>A,Tabs:()=>V}),i(61200),i(11323),i(83192);var s=i(90195),r=i(3001),o=i(66677),a=i(59164),l=i(4313),n=i(87161),d=i(54765),h=i(70429),b=i(85125),c=i(58175),p=i(10318),u=i(16968),m=i(41891),v=i.n(m),f=i(97103),T=i(2669),y=i(16643),g=function(e,t,i,s){var r,o=arguments.length,a=o<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,i,s);else for(var l=e.length-1;l>=0;l--)(r=e[l])&&(a=(o<3?r(a):o>3?r(t,i,a):r(t,i))||a);return o>3&&a&&Object.defineProperty(t,i,a),a},M=function(e,t,i,s){return new(i||(i=Promise))(function(r,o){function a(e){try{n(s.next(e))}catch(e){o(e)}}function l(e){try{n(s.throw(e))}catch(e){o(e)}}function n(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(a,l)}n((s=s.apply(e,t||[])).next())})};const w="tab-more",A="more-menu-copy-",I="visibleToVisible",C="visibleToHidden",L="hiddenToVisible",E="hiddenToHidden",S="previous",x="next",H="fromMoreTabs";var V;!function(e){let t=class extends((0,r.UM)((0,r.Io)((0,r.TS)(n.LitElement)))){constructor(){super(...arguments),this.justified=!1,this.hugTabs=!1,this.overflowLabel="More Tabs",this.draggable=!1,this.direction="horizontal",this.moreItemsScrollLimit=Number.MAX_SAFE_INTEGER,this._selectedIndex=0,this.animation=100,this.ghostClass="",this.chosenClass="",this.forceFallback=!1,this.fallbackClass="",this.tabsId="",this.persistSelection=!1,this.compUniqueId="",this.type="line",this.newMomentum=!1,this.variant="ghost",this.scrollArrow=!1,this.leftArrowAriaLabel="Backward Button",this.rightArrowAriaLabel="Forward Button",this.size=28,this.isMoreTabMenuVisible=!1,this.isMoreTabMenuMeasured=!1,this.isMoreTabMenuOpen=!1,this.isMoreTabMenuSelected=!1,this.isMoreTabMenuScrollable=!1,this.moreTabMenuOffsetWidth=0,this.moreTabMenuMaxHeight=null,this.tabsViewportDataList=[],this.tabsFilteredAsVisibleList=[],this.tabsFilteredAsHiddenList=[],this.noTabsVisible=!1,this.defaultTabsOrderArray=[],this.tabsOrderPrefsArray=[],this.isMoreTabTruncated=!1,this.showLeftArrow=!1,this.showRightArrow=!1,this.tabs=[],this.panels=[],this.tabsCopy=[],this.tabsHash={},this.tabsCopyHash={},this.tabsIdxHash={},this.tabsVisibleIdxHash={},this.tabsHiddenIdxHash={},this.visibleTabsSortableInstance=null,this.hiddenTabsSortableInstance=null,this.updateArrowsVisibility=()=>{this.tabsListElement&&requestAnimationFrame(()=>{const{scrollLeft:e,scrollWidth:t,clientWidth:i}=this.tabsListElement;this.showLeftArrow=e>0,this.showRightArrow=e+i<t-5})},this.handleOnDragEnd=e=>M(this,void 0,void 0,function*(){var t,i,s,r,o,a,l,n,d,h;e.stopPropagation();const b=e.oldIndex,c=e.newIndex,p=[...this.tabsFilteredAsVisibleList],u=[...this.tabsFilteredAsHiddenList],m=this.getDragDirection(e);if(void 0!==b&&void 0!==c){switch(m){case C:{null===(i=null===(t=this.hiddenTabsContainerElement)||void 0===t?void 0:t.querySelector("#"+e.item.id))||void 0===i||i.remove();const s=p[b],r=u.slice(-1)[0],o=c===this.tabsFilteredAsHiddenList.length?c-1:c;u.splice(o,0,s),u.pop();const a=p.filter(t=>t.id!==this.getNormalizedTabId(e.item.id));a.push(r),this.tabsFilteredAsVisibleList=[...a],this.tabsFilteredAsHiddenList=[...u];break}case I:{const e=p[b];p.splice(b,1),p.splice(c,0,e),this.tabsFilteredAsVisibleList=p,c===this.tabsFilteredAsVisibleList.length-1&&(null===(r=null===(s=this.visibleTabsContainerElement)||void 0===s?void 0:s.children[this.visibleTabsContainerElement.children.length-1])||void 0===r||r.remove());const t=this.visibleTabsContainerElement.children[b],i=this.visibleTabsContainerElement.children[c];if(!t||!i)return;null===(o=this.visibleTabsContainerElement)||void 0===o||o.replaceChild(i,t),null===(a=this.visibleTabsContainerElement)||void 0===a||a.insertBefore(t,i);break}case L:{null===(n=null===(l=this.visibleTabsContainerElement)||void 0===l?void 0:l.querySelector("#"+e.item.id))||void 0===n||n.remove();const t=u[b],i=p.slice(-1)[0];u.splice(b,1),u.splice(0,0,i);const s=c===this.tabsFilteredAsVisibleList.length?c-1:c;p.splice(s,0,t),p.pop(),this.tabsFilteredAsVisibleList=p,this.tabsFilteredAsHiddenList=u;break}case E:{const e=u[b];u.splice(b,1),u.splice(c,0,e),this.tabsFilteredAsHiddenList=u,c===this.tabsFilteredAsHiddenList.length-1&&(null===(h=null===(d=this.hiddenTabsContainerElement)||void 0===d?void 0:d.children[this.hiddenTabsContainerElement.children.length-1])||void 0===h||h.remove());break}}if(this.compUniqueId){const e=[...this.tabsFilteredAsVisibleList,...this.tabsFilteredAsHiddenList],t=e.findIndex(e=>e.selected);this.storeSelectedTabIndex(t),this.tabsOrderPrefsArray=e.map(e=>e.name),localStorage.setItem(this.compUniqueId,this.tabsOrderPrefsArray.join(","))}}})}get selectedIndex(){return this._selectedIndex}set selectedIndex(e){var t;if(-1===e)return;const i=this._selectedIndex;this._selectedIndex=e,i!==e&&(null===(t=this.tabs)||void 0===t?void 0:t.length)&&this.updateSelectedTab(e)}get isRtl(){return"rtl"===getComputedStyle(this).direction}generateOptions(){return{group:"shared",animation:10,swapThreshold:1,draggable:"md-tab",direction:this.direction,forceFallback:this.forceFallback,fallbackClass:this.fallbackClass,ghostClass:this.ghostClass,chosenClass:this.chosenClass,onEnd:this.handleOnDragEnd}}get currentTabsLayout(){return"horizontal"!==this.direction||this.scrollArrow?this.tabs:[...this.tabsFilteredAsVisibleList,...this.tabsFilteredAsHiddenList]}getCopyTabId(e){var t;return(null===(t=e.id)||void 0===t?void 0:t.startsWith(A))?`${A}${e.id}`:e.id}getAriaControlId(e){var t,i;return(null===(t=e.id)||void 0===t?void 0:t.startsWith(A))?`${A}${e.id}`:"tab_panel_"+(null===(i=e.id)||void 0===i?void 0:i.substring(4))}getTabIndex(e){var t,i;return this.isMoreTabMenuVisible&&0===this.getCurrentIndex(null==e?void 0:e.id)&&this.selected>(null===(t=this.tabsFilteredAsVisibleList)||void 0===t?void 0:t.length)-1||(null===(i=this.tabsFilteredAsVisibleList[this.selected])||void 0===i?void 0:i.id)===e.id?0:-1}getNormalizedTabId(e){return e.replace(A,"")}static get styles(){return[l.A,T.A]}ensureTabsUpdateComplete(e){return M(this,void 0,void 0,function*(){const t=e.map(e=>void 0!==e.updateComplete?e.updateComplete:null).filter(e=>null!==e);t.length&&(yield Promise.all(t))})}measureTabsOffsetWidth(){return this.justified||"vertical"===this.direction?this.tabs.map(e=>{e.setAttribute("measuringrealwidth","");const t=e.closable?e.offsetWidth+y.TAB_CROSS_WIDTH:e.offsetWidth;return e.removeAttribute("measuringrealwidth"),t}):this.tabs.map(e=>e.closable?e.offsetWidth+y.TAB_CROSS_WIDTH:e.offsetWidth)}updateIsMoreTabTruncated(){var e;const t=null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector(".md-menu-overlay__overflow-label");if(t){const e=t.scrollWidth>t.clientWidth;this.isMoreTabTruncated!=e&&(this.isMoreTabTruncated=e)}}measureHiddenTabsCopiesOffsetHeight(){return this.tabsCopy.map(e=>e.offsetHeight)}manageOverflow(){return M(this,void 0,void 0,function*(){var e,t;if("vertical"!==this.direction&&!this.scrollArrow){let i;i=0===this.tabsFilteredAsVisibleList.length&&0===this.tabsFilteredAsHiddenList.length?[...this.tabs]:[...this.tabsFilteredAsVisibleList,...this.tabsFilteredAsHiddenList],i.forEach(e=>{var t,i,s,r,o,a;if((null===(t=e.children)||void 0===t?void 0:t.length)&&0===(null===(s=null===(i=e.children[0])||void 0===i?void 0:i.children)||void 0===s?void 0:s.length)){const t=null===(o=null===(r=null==e?void 0:e.querySelector("slot"))||void 0===r?void 0:r.assignedNodes({flatten:!0})[0])||void 0===o?void 0:o.cloneNode(!0);t&&(t.classList.add("tab-content"),null===(a=null==e?void 0:e.children[0])||void 0===a||a.appendChild(t))}});const s=i.length;if(this.tabsListElement&&s){const r=(null===(e=this.tabsSettingsElement)||void 0===e?void 0:e.offsetWidth)?this.tabsListElement.offsetWidth-(null===(t=this.tabsSettingsElement)||void 0===t?void 0:t.offsetWidth):this.tabsListElement.offsetWidth;yield this.ensureTabsUpdateComplete(this.tabs);const o=this.measureTabsOffsetWidth(),a=i.reduce((e,t,i)=>e+o[i],0);if(a){yield this.setupMoreTab();let e=!0;r<a&&(e=!1);const t=[];let l=0;i.forEach((i,a)=>{l+=o[a];const n=!e&&l+(a<s-1?this.moreTabMenuOffsetWidth:0)>r;t.push({isTabInViewportHidden:n,tabOffsetWidth:o[a]})}),this.tabsViewportDataList=t,this.tabsViewportDataList.forEach((e,t)=>this.tabs[t].viewportHidden=e.isTabInViewportHidden),this.isMoreTabMenuVisible=!!this.tabsViewportDataList.find(e=>e.isTabInViewportHidden),this.tabsFilteredAsVisibleList=i.filter((e,t)=>!this.tabsViewportDataList[t].isTabInViewportHidden),this.tabsVisibleIdxHash=this.tabsFilteredAsVisibleList.reduce((e,t,i)=>(e[t.id]=i,e),{}),this.tabsFilteredAsHiddenList=i.filter((e,t)=>this.tabsViewportDataList[t].isTabInViewportHidden),this.tabsHiddenIdxHash=this.tabsFilteredAsHiddenList.reduce((e,t,i)=>(e[t.id]=i,e),{})}}this.updateIsMoreTabMenuSelected();const r=this.tabsFilteredAsHiddenList.find(e=>!e.disabled);this.updateHiddenIdPositiveTabIndex(r)}})}updateIsMoreTabMenuSelected(){this.isMoreTabMenuSelected=!!this.tabsFilteredAsHiddenList.find(e=>e.selected)}updateHiddenIdPositiveTabIndex(e){this.tabHiddenIdPositiveTabIndex=e?e.id:void 0}sortTabsAndPanes(){if(!this.tabsOrderPrefsArray.length)return;const e=(e,t)=>{var i,s;const r=null!==(i=e.getAttribute("name"))&&void 0!==i?i:"",o=null!==(s=t.getAttribute("name"))&&void 0!==s?s:"";return this.tabsOrderPrefsArray.indexOf(r)-this.tabsOrderPrefsArray.indexOf(o)};this.tabs.sort(e),this.panels.sort(e)}linkPanelsAndTabs(){return M(this,void 0,void 0,function*(){this.sortTabsAndPanes();const{tabs:e,panels:t}=this;if(0===e.length||0===t.length)return void console.warn("The tabs or panels count should't be equal zero.");e.length!==t.length&&console.warn(`The amount of tabs (${e.length}) doesn't match the amount of panels (${t.length}).`);const i="vertical"===this.direction,s=this.selectedIndex<0?0:this.selectedIndex;e.forEach((e,r)=>{const o=(0,a.O)("tabs"),l="tab_"+o,n="tab_panel_"+o;e.setAttribute("id",l),e.setAttribute("aria-controls",n),e.selected=s===r,e.newMomentum=this.newMomentum,e.type=this.type,e.variant=this.variant,e.size=this.newMomentum?this.size:void 0,this.scrollArrow&&(e.visibleTab=!0),e.vertical!==i&&(e.vertical=i),e.viewportHidden&&(i||this.scrollArrow)&&(e.viewportHidden=!1);const d=t[r];d?(d.setAttribute("id",n),d.setAttribute("aria-labelledby",l),d.selected=s===r,e.disabled&&(d.hidden=!0,d.selected=!1)):e.disabled=!0});let r=s;for(;r<e.length&&e[r].disabled;)r++;r=r===e.length?0:r,e[r].selected=!0,t[r].selected=!0,this.tabsHash=this.tabs.reduce((e,t)=>(e[t.id]=t,e),{}),this.tabsIdxHash=this.tabs.reduce((e,t,i)=>(e[t.id]=i,e),{})})}get slotItem(){return this.tabSlotElement}filterSlotted(){return this.tabSlotElement.assignedElements()}handleResize(e){var t;null===(t=super.handleResize)||void 0===t||t.call(this,e),this.manageOverflow(),this.updateIsMoreTabTruncated(),this.scrollArrow&&this.updateArrowsVisibility()}getDragDirection(e){return e.from===this.visibleTabsContainerElement&&e.to===this.hiddenTabsContainerElement?C:e.from===this.visibleTabsContainerElement&&e.to===this.visibleTabsContainerElement?I:e.from===this.hiddenTabsContainerElement&&e.to===this.visibleTabsContainerElement?L:e.from===this.hiddenTabsContainerElement&&e.to===this.hiddenTabsContainerElement?E:void 0}makeTabCopyFocus(e){e&&e.focus()}handleTabClick(e){const{id:t}=e.detail;this.handleNewSelectedTab(t)}handleNewSelectedTab(e,t=!0){const i=this.tabsHash[this.getNormalizedTabId(e)];if(i&&!i.disabled){const e=this.tabsIdxHash[i.id];-1!==e&&this.updateSelectedTab(e,t);{const e=this.tabsCopyHash[this.getCopyTabId(i)];e&&t&&this.makeTabCopyFocus(e),this.updateHiddenIdPositiveTabIndex(i)}}}handleTabCrossClick(e){const{id:t}=e.detail;this.handleTabCloseEvent(t)}handleTabCloseClick(e){const{id:t}=e.detail;this.handleTabCloseEvent(t)}handleTabCloseEvent(e){var t,i;const s=this.tabsHash[this.getNormalizedTabId(e)];if(s&&!s.disabled&&("auto"===s.closable||"custom"===s.closable)){const s=this.tabsFilteredAsVisibleList.findIndex(t=>this.getNormalizedTabId(t.id)===this.getNormalizedTabId(e));this.tabsFilteredAsVisibleList=this.tabsFilteredAsVisibleList.filter(t=>this.getNormalizedTabId(t.id)!==this.getNormalizedTabId(e)),null===(i=null===(t=this.visibleTabsContainerElement)||void 0===t?void 0:t.querySelector("#"+e))||void 0===i||i.remove(),0!==this.tabsFilteredAsHiddenList.length&&(this.tabsFilteredAsVisibleList.push(this.tabsFilteredAsHiddenList[0]),this.tabsFilteredAsHiddenList.splice(0,1)),0===this.tabsFilteredAsHiddenList.length&&(this.isMoreTabMenuVisible=!1,this.isMoreTabMenuMeasured=!1),this.handleUpdatedSeletedTabAfterCross(s)}}handleUpdatedSeletedTabAfterCross(e){var t;let i=e;for(;i<this.tabsFilteredAsVisibleList.length&&(null===(t=this.tabsFilteredAsVisibleList[i])||void 0===t?void 0:t.disabled);)i++;if(void 0===this.tabsFilteredAsVisibleList[i]||e===this.tabsFilteredAsVisibleList.length)for(i=e-1;i>=0&&this.tabsFilteredAsVisibleList[i].disabled;)i--;if(-1!==i){const e=this.tabs.findIndex(e=>e.id===this.tabsFilteredAsVisibleList[i].id);this.updateSelectedTab(e)}else this.updateSelectedTab(i);this.noTabsVisible=0===this.tabsFilteredAsVisibleList.length&&0===this.tabsFilteredAsHiddenList.length,this.requestUpdate()}setSelectedAttribute(e,t,i=!1){t&&(t.selected=i),e&&(e.selected=i,i&&(this.isMoreTabMenuSelected=this.isTabInMoreMenu(e)),this.isTabInMoreMenu(e)&&(this.isMoreTabMenuSelected=!0))}isTabInMoreMenu(e){return void 0!==this.tabsFilteredAsHiddenList.find(t=>t.id===e.id)}updateSelectedTab(e,t=!0){const{tabs:i,panels:s}=this,r=this.tabs.findIndex(e=>e.hasAttribute("selected"));if(i&&s&&(this.setSelectedAttribute((0,o.Qx)(i,r),(0,o.Qx)(s,r),!1),this.setSelectedAttribute((0,o.Qx)(i,e),(0,o.Qx)(s,e),!0)),e>=0&&e<i.length){this.dispatchSelectedChangedEvent(e);const s=this.currentTabsLayout.findIndex(t=>t.id===i[e].id);this.changeSelectedTabIdx(s,t)}}dispatchSelectedChangedEvent(e){const t=this.currentTabsLayout,i=this.tabs[e].id,s=t.findIndex(e=>e.id===i),r=[];t.forEach(e=>{r.push(e.name)}),this.dispatchEvent(new CustomEvent("selected-changed",{detail:{value:s,tabsOrder:r},composed:!0,bubbles:!0}))}changeSelectedTabIdx(e,t=!0){this.requestUpdate(),this.selected=e,this.updateComplete.then(()=>{var i,s;if(e<this.tabsFilteredAsVisibleList.length){if(t){const e=null===(i=this.visibleTabsContainerElement)||void 0===i?void 0:i.children[this.selected];null==e||e.focus()}}else{const e=this.selected-this.tabsFilteredAsVisibleList.length,i=null===(s=this.hiddenTabsContainerElement)||void 0===s?void 0:s.children[e];t&&this.moveFocusToTab(i);const r=this.tabsFilteredAsHiddenList[e];(null==r?void 0:r.disabled)||this.updateHiddenIdPositiveTabIndex(r)}}),this.updateIsMoreTabMenuSelected(),this.storeSelectedTabIndex(e)}storeSelectedTabIndex(e){this.persistSelection&&this.tabsId&&e>-1&&""!==this.tabsId.trim()&&sessionStorage.setItem(this.tabsId,`${e}`)}getCurrentIndex(e){var t,i,s;if(this.scrollArrow){const t=this.tabs.length;for(let i=0;i<t;i++)if(this.tabs[i].id===e)return i}const r=null!==(i=null===(t=this.visibleTabsContainerElement)||void 0===t?void 0:t.children.length)&&void 0!==i?i:0;for(let t=0;t<r;t++)if((null===(s=this.visibleTabsContainerElement)||void 0===s?void 0:s.children[t].id)===e)return t;return this.tabsVisibleIdxHash[e]}moveFocusToAdjacentTab(e,t){var i,s,r;const o=this.getCurrentIndex(e),a=this.slotItem.assignedElements();let l=0;if(this.scrollArrow){t===S?l=0===o?a.length-1:o-1:t===x&&(l=o===a.length-1?0:o+1),this.moveFocusToTab(a[l]);const e=a[l],s=e.getBoundingClientRect(),r=null===(i=this.tabsListElement)||void 0===i?void 0:i.getBoundingClientRect();return r&&(s.left>=r.left&&s.right<=r.right&&s.top>=r.top&&s.bottom<=r.bottom||e.scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"})),this.updateArrowsVisibility(),void(0,f.setTimeout)(()=>this.moveFocusToTab(a[l]),0)}const n=null===(s=this.visibleTabsContainerElement)||void 0===s?void 0:s.children,d=null!==(r=null==n?void 0:n.length)&&void 0!==r?r:0;n&&0!==d&&(t===S?l=0===o?d-1:o-1:t===x?l=o===d-1?0:o+1:t===H&&(l=this.selected>=d?0:this.selected),this.moveFocusToTab(n[l]))}moveFocusToTab(e){(0,f.setTimeout)(()=>null==e?void 0:e.focus(),0)}handleOverlayClose(){(0,f.setTimeout)(()=>{this.menuOverlayElement&&(this.menuOverlayElement.isOpen=!1)},0)}dispatchKeydownEvent(e,t){t&&this.dispatchEvent(new CustomEvent("tab-keydown",{detail:{id:t,key:e.code,ctrlKey:e.ctrlKey,shiftKey:e.shiftKey,altKey:e.altKey,srcEvent:e},bubbles:!0,composed:!0}))}handleTabKeydown(e){var t,i,r,o,a,l,n;const d=e.target;if(e.target!=this&&!this.tabs.find(e=>e.id===(null==d?void 0:d.id)))return!1;let h;if((null===(t=e.composedPath())||void 0===t?void 0:t.length)>0?h=e.composedPath()[0].id:e.originalTarget&&(h=e.originalTarget.id),!h)return;const b=this.getNormalizedTabId(h);this.dispatchKeydownEvent(e,b);const c=e.code,{shiftKey:p}=e,u=!!this.isMoreTabMenuVisible&&b===w,m=u&&this.isMoreTabMenuVisible?this.moreTabMenuElement:this.tabsHash[this.getNormalizedTabId(b)],v=!this.isMoreTabMenuVisible||m&&this.tabsVisibleIdxHash[m.id]>-1,f=!!this.isMoreTabMenuVisible&&m&&this.tabsHiddenIdxHash[m.id]>-1,T=this.isMoreTabMenuVisible?this.tabsFilteredAsVisibleList.length-1:this.tabs.length-1,y=this.isMoreTabMenuVisible?this.tabsFilteredAsVisibleList.length:-1,g=this.isMoreTabMenuVisible?this.tabsFilteredAsVisibleList.length+this.tabsFilteredAsHiddenList.length-1:-1;switch(c){case s.Uz.Tab:u&&!this.isMoreTabMenuOpen&&p&&(e.preventDefault(),this.moveFocusToAdjacentTab(h,H));break;case s.Uz.End:u||(v?(e.preventDefault(),this.moveFocusToTab(null===(i=this.visibleTabsContainerElement)||void 0===i?void 0:i.children[(null===(r=this.tabsFilteredAsVisibleList)||void 0===r?void 0:r.length)-1])):this.isMoreTabMenuOpen&&(e.preventDefault(),this.moveFocusToTab(null===(o=this.hiddenTabsContainerElement)||void 0===o?void 0:o.children[(null===(a=this.tabsFilteredAsHiddenList)||void 0===a?void 0:a.length)-1])));break;case s.Uz.Home:v?(e.preventDefault(),this.moveFocusToTab(null===(l=this.visibleTabsContainerElement)||void 0===l?void 0:l.children[0])):this.isMoreTabMenuOpen&&(e.preventDefault(),this.moveFocusToTab(null===(n=this.hiddenTabsContainerElement)||void 0===n?void 0:n.children[0]));break;case s.Uz.ArrowLeft:u||(v||this.scrollArrow)&&(e.stopPropagation(),this.moveFocusToAdjacentTab(h,this.isRtl?x:S));break;case s.Uz.ArrowRight:u||(v||this.scrollArrow)&&(e.stopPropagation(),this.moveFocusToAdjacentTab(h,this.isRtl?S:x));break;case s.Uz.ArrowUp:if(u);else if(v&&"vertical"===this.direction)e.preventDefault(),this.changeSelectedTabIdx(0===this.selected?T:this.selected-1);else if(f){e.preventDefault();const t=this.selected===y?g:this.selected-1;this.changeSelectedTabIdx(t)}break;case s.Uz.ArrowDown:if(u);else if(v&&"vertical"===this.direction)e.preventDefault(),this.changeSelectedTabIdx(this.selected===T?0:this.selected+1);else if(f){e.preventDefault();const t=this.selected===g?y:this.selected+1;this.changeSelectedTabIdx(t)}break;case s.Uz.Enter:case s.Uz.NumpadEnter:case s.Uz.Space:if(u){const e=this.tabsFilteredAsHiddenList.filter(e=>!e.disabled),t=e.length?e.find(e=>e.selected)||e[0]:void 0;if(this.updateHiddenIdPositiveTabIndex(t),t){const e=this.tabsIdxHash[this.getNormalizedTabId(t.id)];-1!==e&&this.updateSelectedTab(e)}}else if(m&&!m.disabled){const t=this.tabsIdxHash[this.getNormalizedTabId(m.id)];-1!==t&&(e.preventDefault(),this.updateSelectedTab(t))}}}setupTabsEvents(){this.addEventListener("tab-click",this.handleTabClick),this.addEventListener("tab-cross-click",this.handleTabCrossClick),this.addEventListener("tab-close-click",this.handleTabCloseClick),this.addEventListener("keydown",this.handleTabKeydown),this.addEventListener("clear-tab-order-prefs",this.clearTabOrderPrefs)}teardownTabsEvents(){this.removeEventListener("tab-click",this.handleTabClick),this.removeEventListener("tab-cross-click",this.handleTabCrossClick),this.removeEventListener("tab-close-click",this.handleTabCloseClick),this.removeEventListener("keydown",this.handleTabKeydown),this.removeEventListener("clear-tab-order-prefs",this.clearTabOrderPrefs)}clearTabOrderPrefs(e){const{compUniqueId:t}=e.detail;t===this.compUniqueId&&(localStorage.removeItem(this.tabsId),sessionStorage.removeItem(this.tabsId),localStorage.removeItem(this.compUniqueId),this.tabsOrderPrefsArray=this.defaultTabsOrderArray,this.selected=0,this.initializeTabs(),this.dispatchSelectedChangedEvent(0))}setupPanelsAndTabs(){this.tabSlotElement&&(this.tabs=this.tabSlotElement.assignedElements()),this.panelSlotElement&&(this.panels=this.panelSlotElement.assignedElements()),this.defaultTabsOrderArray=this.tabs.map(e=>e.name)}setupMoreTab(){return M(this,void 0,void 0,function*(){"vertical"!==this.direction&&this.moreTabMenuElement&&!this.isMoreTabMenuMeasured&&(this.moreTabMenuElement.classList.add("md-menu-overlay__more_tab--measuring"),yield this.moreTabMenuElement.updateComplete,this.moreTabMenuElement.offsetWidth&&(this.moreTabMenuOffsetWidth=this.moreTabMenuElement.offsetWidth,this.isMoreTabMenuMeasured=!0),this.moreTabMenuElement.classList.remove("md-menu-overlay__more_tab--measuring"))})}initializeSortable(){this.visibleTabsContainerElement&&this.hiddenTabsContainerElement&&(this.visibleTabsSortableInstance=v().create(this.visibleTabsContainerElement,this.generateOptions()),this.hiddenTabsSortableInstance=v().create(this.hiddenTabsContainerElement,this.generateOptions()))}initializeTabs(){this.tabs=[],this.panels=[],this.tabsFilteredAsVisibleList=[],this.tabsFilteredAsHiddenList=[],this.isMoreTabMenuVisible=!1,this.setupPanelsAndTabs(),this.linkPanelsAndTabs(),this.draggable&&this.initializeSortable(),this.manageOverflow()}connectedCallback(){var e;if(super.connectedCallback(),this.setupTabsEvents(),this.persistSelection){if(!this.tabsId||""===this.tabsId.trim())return void console.error("Unique tabs-id attribute is mandatory for persist the selection of tab");const e=localStorage.getItem(this.tabsId);this.selected=e&&parseInt(e)>-1?parseInt(e):this.selected}this.compUniqueId&&(this.tabsOrderPrefsArray=(null===(e=localStorage.getItem(this.compUniqueId))||void 0===e?void 0:e.split(","))||[])}selectTabFromStorage(){if(this.persistSelection){if(!this.tabsId||""===this.tabsId.trim())return void console.error("Unique tabs-id attribute is mandatory for persist the selection of tab");const e=sessionStorage.getItem(this.tabsId);let t=0;if(e){const i=parseInt(e);t=i>-1?i:this.selected}const i=this.currentTabsLayout;i.length&&i[t].id?(this._selectedIndex=t,this.handleNewSelectedTab(i[t].id,!1)):this.selected=t}}disconnectedCallback(){super.disconnectedCallback(),this.teardownTabsEvents()}firstUpdated(e){var t;super.firstUpdated(e),this.setupPanelsAndTabs(),this.linkPanelsAndTabs(),this.selectTabFromStorage(),this.scrollArrow&&(this.updateArrowsVisibility(),null===(t=this.tabsListElement)||void 0===t||t.addEventListener("scroll",this.updateArrowsVisibility))}onDirectionChanged(){return M(this,void 0,void 0,function*(){this.tabs=[],this.panels=[],this.tabsFilteredAsVisibleList=[],this.tabsFilteredAsHiddenList=[],this.isMoreTabMenuVisible=!1,this.setupPanelsAndTabs(),yield this.linkPanelsAndTabs(),this.draggable&&this.initializeSortable(),"horizontal"===this.direction&&(yield this.manageOverflow()),this.selectTabFromStorage(),this.scrollArrow&&this.updateArrowsVisibility()})}willUpdate(e){var t,i;if(null===(t=super.willUpdate)||void 0===t||t.call(this,e),e.has("selectedIndex")&&(this.selected=this.selectedIndex),e.has("tabsFilteredAsHiddenList")&&(this.tabsCopy=Array.from((null===(i=this.tabsCopyHiddenListElements)||void 0===i?void 0:i.values())||[]),this.tabsCopyHash=this.tabsCopy.reduce((e,t)=>(e[t.id]=t,e),{})),(e.has("tabsFilteredAsVisibleList")||e.has("tabsFilteredAsHiddenList"))&&(this.tabsVisibleIdxHash=this.tabsFilteredAsVisibleList.reduce((e,t,i)=>(e[t.id]=i,e),{}),this.tabsHiddenIdxHash=this.tabsFilteredAsHiddenList.reduce((e,t,i)=>(e[t.id]=i,e),{})),e.has("isMoreTabMenuOpen")&&this.isMoreTabMenuVisible){const t=e.get("isMoreTabMenuOpen");this.isMoreTabMenuOpen&&!t&&(this.moreItemsScrollLimit<this.tabsCopy.length?(this.isMoreTabMenuScrollable=!0,this.moreTabMenuMaxHeight=`${this.measureHiddenTabsCopiesOffsetHeight().slice(0,this.moreItemsScrollLimit).reduce((e,t)=>e+t,0)}px`):(this.isMoreTabMenuScrollable=!1,this.moreTabMenuMaxHeight=null))}}updated(e){super.updated(e),e.has("direction")&&e.get("direction")!==this.direction&&this.onDirectionChanged(),e.has("slotted")&&this.initializeTabs(),!this.draggable||this.visibleTabsSortableInstance||this.hiddenTabsSortableInstance||this.initializeSortable(),e.has("tabsId")&&this.selectTabFromStorage(),e.has("selectedIndex")&&this.updateSelectedTab(this.selectedIndex,!1),e.has("overflowLabel")&&this.updateIsMoreTabTruncated(),e.has("scrollArrow")&&this.onDirectionChanged()}scrollTabs(e){if(!this.tabsListElement||"vertical"===this.direction)return;const t="left"===e?-100:100;this.tabsListElement.scrollBy({left:t,behavior:"smooth"}),(0,f.setTimeout)(()=>this.updateArrowsVisibility(),300)}get moreMenuButtonTemplate(){return n.html`
30
+ `}};c([(0,d.property)({type:Number,reflect:!0})],t.prototype,"tabIndex",void 0),c([(0,d.property)({type:String,attribute:"aria-label"})],t.prototype,"ariaLabel",void 0),c([(0,d.property)({type:String,attribute:"closable"})],t.prototype,"closable",void 0),c([(0,d.property)({type:String,attribute:"name"})],t.prototype,"name",void 0),c([(0,d.property)({type:Boolean,attribute:"cross-visible"})],t.prototype,"isCrossVisible",void 0),c([(0,d.property)({type:String,attribute:"role",reflect:!0})],t.prototype,"role",void 0),c([(0,d.property)({type:String,reflect:!0})],t.prototype,"type",void 0),c([(0,d.property)({type:Boolean})],t.prototype,"newMomentum",void 0),c([(0,d.property)({type:Boolean})],t.prototype,"onlyIcon",void 0),c([(0,d.property)({type:String})],t.prototype,"variant",void 0),c([(0,d.property)({type:Boolean,attribute:"visible-tab",reflect:!0})],t.prototype,"visibleTab",void 0),c([(0,d.property)({type:Number})],t.prototype,"size",void 0),c([(0,d.property)({type:Boolean,reflect:!0})],t.prototype,"disabled",null),c([(0,d.property)({type:Boolean,reflect:!0})],t.prototype,"selected",null),c([(0,d.property)({type:Boolean,reflect:!0})],t.prototype,"vertical",void 0),c([(0,d.property)({type:Boolean,reflect:!0})],t.prototype,"viewportHidden",void 0),t=c([(0,o.w)("md-tab")],t),e.ELEMENT=t}(u||(u={}))},16968:e=>{e.exports=u},20291:e=>{e.exports=r},22962:e=>{e.exports=n},32022:e=>{e.exports=o},41891:e=>{e.exports=m},50226:(e,t,i)=>{i.r(t),i.d(t,{MORE_MENU_TAB_COPY_ID_PREFIX:()=>A,Tabs:()=>V}),i(61200),i(11323),i(83192);var s=i(90195),r=i(3001),o=i(66677),a=i(59164),l=i(4313),n=i(87161),d=i(54765),h=i(70429),b=i(85125),c=i(58175),p=i(10318),u=i(16968),m=i(41891),v=i.n(m),f=i(97103),T=i(2669),y=i(16643),g=function(e,t,i,s){var r,o=arguments.length,a=o<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,i,s);else for(var l=e.length-1;l>=0;l--)(r=e[l])&&(a=(o<3?r(a):o>3?r(t,i,a):r(t,i))||a);return o>3&&a&&Object.defineProperty(t,i,a),a},M=function(e,t,i,s){return new(i||(i=Promise))(function(r,o){function a(e){try{n(s.next(e))}catch(e){o(e)}}function l(e){try{n(s.throw(e))}catch(e){o(e)}}function n(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(a,l)}n((s=s.apply(e,t||[])).next())})};const w="tab-more",A="more-menu-copy-",I="visibleToVisible",C="visibleToHidden",L="hiddenToVisible",E="hiddenToHidden",S="previous",x="next",H="fromMoreTabs";var V;!function(e){let t=class extends((0,r.UM)((0,r.Io)((0,r.TS)(n.LitElement)))){constructor(){super(...arguments),this.justified=!1,this.hugTabs=!1,this.overflowLabel="More Tabs",this.draggable=!1,this.direction="horizontal",this.moreItemsScrollLimit=Number.MAX_SAFE_INTEGER,this._selectedIndex=0,this.animation=100,this.ghostClass="",this.chosenClass="",this.forceFallback=!1,this.fallbackClass="",this.tabsId="",this.persistSelection=!1,this.compUniqueId="",this.type="line",this.newMomentum=!1,this.variant="ghost",this.scrollArrow=!1,this.leftArrowAriaLabel="Backward Button",this.rightArrowAriaLabel="Forward Button",this.size=28,this.isMoreTabMenuVisible=!1,this.isMoreTabMenuMeasured=!1,this.isMoreTabMenuOpen=!1,this.isMoreTabMenuSelected=!1,this.isMoreTabMenuScrollable=!1,this.moreTabMenuOffsetWidth=0,this.moreTabMenuMaxHeight=null,this.tabsViewportDataList=[],this.tabsFilteredAsVisibleList=[],this.tabsFilteredAsHiddenList=[],this.noTabsVisible=!1,this.defaultTabsOrderArray=[],this.tabsOrderPrefsArray=[],this.isMoreTabTruncated=!1,this.showLeftArrow=!1,this.showRightArrow=!1,this.tabs=[],this.panels=[],this.tabsCopy=[],this.tabsHash={},this.tabsCopyHash={},this.tabsIdxHash={},this.tabsVisibleIdxHash={},this.tabsHiddenIdxHash={},this.visibleTabsSortableInstance=null,this.hiddenTabsSortableInstance=null,this.updateArrowsVisibility=()=>{this.tabsListElement&&requestAnimationFrame(()=>{const{scrollLeft:e,scrollWidth:t,clientWidth:i}=this.tabsListElement;this.showLeftArrow=e>0,this.showRightArrow=e+i<t-5})},this.handleOnDragEnd=e=>M(this,void 0,void 0,function*(){var t,i,s,r,o,a,l,n,d,h;e.stopPropagation();const b=e.oldIndex,c=e.newIndex,p=[...this.tabsFilteredAsVisibleList],u=[...this.tabsFilteredAsHiddenList],m=this.getDragDirection(e);if(void 0!==b&&void 0!==c){switch(m){case C:{null===(i=null===(t=this.hiddenTabsContainerElement)||void 0===t?void 0:t.querySelector("#"+e.item.id))||void 0===i||i.remove();const s=p[b],r=u.slice(-1)[0],o=c===this.tabsFilteredAsHiddenList.length?c-1:c;u.splice(o,0,s),u.pop();const a=p.filter(t=>t.id!==this.getNormalizedTabId(e.item.id));a.push(r),this.tabsFilteredAsVisibleList=[...a],this.tabsFilteredAsHiddenList=[...u];break}case I:{const e=p[b];p.splice(b,1),p.splice(c,0,e),this.tabsFilteredAsVisibleList=p,c===this.tabsFilteredAsVisibleList.length-1&&(null===(r=null===(s=this.visibleTabsContainerElement)||void 0===s?void 0:s.children[this.visibleTabsContainerElement.children.length-1])||void 0===r||r.remove());const t=this.visibleTabsContainerElement.children[b],i=this.visibleTabsContainerElement.children[c];if(!t||!i)return;null===(o=this.visibleTabsContainerElement)||void 0===o||o.replaceChild(i,t),null===(a=this.visibleTabsContainerElement)||void 0===a||a.insertBefore(t,i);break}case L:{null===(n=null===(l=this.visibleTabsContainerElement)||void 0===l?void 0:l.querySelector("#"+e.item.id))||void 0===n||n.remove();const t=u[b],i=p.slice(-1)[0];u.splice(b,1),u.splice(0,0,i);const s=c===this.tabsFilteredAsVisibleList.length?c-1:c;p.splice(s,0,t),p.pop(),this.tabsFilteredAsVisibleList=p,this.tabsFilteredAsHiddenList=u;break}case E:{const e=u[b];u.splice(b,1),u.splice(c,0,e),this.tabsFilteredAsHiddenList=u,c===this.tabsFilteredAsHiddenList.length-1&&(null===(h=null===(d=this.hiddenTabsContainerElement)||void 0===d?void 0:d.children[this.hiddenTabsContainerElement.children.length-1])||void 0===h||h.remove());break}}if(this.compUniqueId){const e=[...this.tabsFilteredAsVisibleList,...this.tabsFilteredAsHiddenList],t=e.findIndex(e=>e.selected);this.storeSelectedTabIndex(t),this.tabsOrderPrefsArray=e.map(e=>e.name),localStorage.setItem(this.compUniqueId,this.tabsOrderPrefsArray.join(","))}}})}get selectedIndex(){return this._selectedIndex}set selectedIndex(e){var t;if(-1===e)return;const i=this._selectedIndex;this._selectedIndex=e,i!==e&&(null===(t=this.tabs)||void 0===t?void 0:t.length)&&this.updateSelectedTab(e)}get isRtl(){return"rtl"===getComputedStyle(this).direction}generateOptions(){return{group:"shared",animation:10,swapThreshold:1,draggable:"md-tab",direction:this.direction,forceFallback:this.forceFallback,fallbackClass:this.fallbackClass,ghostClass:this.ghostClass,chosenClass:this.chosenClass,onEnd:this.handleOnDragEnd}}get currentTabsLayout(){return"horizontal"!==this.direction||this.scrollArrow?this.tabs:[...this.tabsFilteredAsVisibleList,...this.tabsFilteredAsHiddenList]}getCopyTabId(e){var t;return(null===(t=e.id)||void 0===t?void 0:t.startsWith(A))?`${A}${e.id}`:e.id}getAriaControlId(e){var t,i;return(null===(t=e.id)||void 0===t?void 0:t.startsWith(A))?`${A}${e.id}`:"tab_panel_"+(null===(i=e.id)||void 0===i?void 0:i.substring(4))}getTabIndex(e){var t,i;return this.isMoreTabMenuVisible&&0===this.getCurrentIndex(null==e?void 0:e.id)&&this.selected>(null===(t=this.tabsFilteredAsVisibleList)||void 0===t?void 0:t.length)-1||(null===(i=this.tabsFilteredAsVisibleList[this.selected])||void 0===i?void 0:i.id)===e.id?0:-1}getNormalizedTabId(e){return e.replace(A,"")}static get styles(){return[l.A,T.A]}ensureTabsUpdateComplete(e){return M(this,void 0,void 0,function*(){const t=e.map(e=>void 0!==e.updateComplete?e.updateComplete:null).filter(e=>null!==e);t.length&&(yield Promise.all(t))})}measureTabsOffsetWidth(){return this.justified||"vertical"===this.direction?this.tabs.map(e=>{e.setAttribute("measuringrealwidth","");const t=e.closable?e.offsetWidth+y.TAB_CROSS_WIDTH:e.offsetWidth;return e.removeAttribute("measuringrealwidth"),t}):this.tabs.map(e=>e.closable?e.offsetWidth+y.TAB_CROSS_WIDTH:e.offsetWidth)}updateIsMoreTabTruncated(){var e;const t=null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector(".md-menu-overlay__overflow-label");if(t){const e=t.scrollWidth>t.clientWidth;this.isMoreTabTruncated!=e&&(this.isMoreTabTruncated=e)}}measureHiddenTabsCopiesOffsetHeight(){return this.tabsCopy.map(e=>e.offsetHeight)}manageOverflow(){return M(this,void 0,void 0,function*(){var e,t;if("vertical"!==this.direction&&!this.scrollArrow){let i;i=0===this.tabsFilteredAsVisibleList.length&&0===this.tabsFilteredAsHiddenList.length?[...this.tabs]:[...this.tabsFilteredAsVisibleList,...this.tabsFilteredAsHiddenList],i.forEach(e=>{var t,i,s,r,o,a;if((null===(t=e.children)||void 0===t?void 0:t.length)&&0===(null===(s=null===(i=e.children[0])||void 0===i?void 0:i.children)||void 0===s?void 0:s.length)){const t=null===(o=null===(r=null==e?void 0:e.querySelector("slot"))||void 0===r?void 0:r.assignedNodes({flatten:!0})[0])||void 0===o?void 0:o.cloneNode(!0);t&&(t.classList.add("tab-content"),null===(a=null==e?void 0:e.children[0])||void 0===a||a.appendChild(t))}});const s=i.length;if(this.tabsListElement&&s){const r=(null===(e=this.tabsSettingsElement)||void 0===e?void 0:e.offsetWidth)?this.tabsListElement.offsetWidth-(null===(t=this.tabsSettingsElement)||void 0===t?void 0:t.offsetWidth):this.tabsListElement.offsetWidth;yield this.ensureTabsUpdateComplete(this.tabs);const o=this.measureTabsOffsetWidth(),a=i.reduce((e,t,i)=>e+o[i],0);if(a){yield this.setupMoreTab();let e=!0;r<a&&(e=!1);const t=[];let l=0;i.forEach((i,a)=>{l+=o[a];const n=!e&&l+(a<s-1?this.moreTabMenuOffsetWidth:0)>r;t.push({isTabInViewportHidden:n,tabOffsetWidth:o[a]})}),this.tabsViewportDataList=t,this.tabsViewportDataList.forEach((e,t)=>this.tabs[t].viewportHidden=e.isTabInViewportHidden),this.isMoreTabMenuVisible=!!this.tabsViewportDataList.find(e=>e.isTabInViewportHidden),this.tabsFilteredAsVisibleList=i.filter((e,t)=>!this.tabsViewportDataList[t].isTabInViewportHidden),this.tabsVisibleIdxHash=this.tabsFilteredAsVisibleList.reduce((e,t,i)=>(e[t.id]=i,e),{}),this.tabsFilteredAsHiddenList=i.filter((e,t)=>this.tabsViewportDataList[t].isTabInViewportHidden),this.tabsHiddenIdxHash=this.tabsFilteredAsHiddenList.reduce((e,t,i)=>(e[t.id]=i,e),{})}}this.updateIsMoreTabMenuSelected();const r=this.tabsFilteredAsHiddenList.find(e=>!e.disabled);this.updateHiddenIdPositiveTabIndex(r)}})}updateIsMoreTabMenuSelected(){this.isMoreTabMenuSelected=!!this.tabsFilteredAsHiddenList.find(e=>e.selected)}updateHiddenIdPositiveTabIndex(e){this.tabHiddenIdPositiveTabIndex=e?e.id:void 0}sortTabsAndPanes(){if(!this.tabsOrderPrefsArray.length)return;const e=(e,t)=>{var i,s;const r=null!==(i=e.getAttribute("name"))&&void 0!==i?i:"",o=null!==(s=t.getAttribute("name"))&&void 0!==s?s:"";return this.tabsOrderPrefsArray.indexOf(r)-this.tabsOrderPrefsArray.indexOf(o)};this.tabs.sort(e),this.panels.sort(e)}linkPanelsAndTabs(){return M(this,void 0,void 0,function*(){this.sortTabsAndPanes();const{tabs:e,panels:t}=this;if(0===e.length||0===t.length)return void console.warn("The tabs or panels count should't be equal zero.");e.length!==t.length&&console.warn(`The amount of tabs (${e.length}) doesn't match the amount of panels (${t.length}).`);const i="vertical"===this.direction,s=this.selectedIndex<0?0:this.selectedIndex;e.forEach((e,r)=>{const o=(0,a.O)("tabs"),l="tab_"+o,n="tab_panel_"+o;e.setAttribute("id",l),e.setAttribute("aria-controls",n),e.selected=s===r,e.newMomentum=this.newMomentum,e.type=this.type,e.variant=this.variant,e.size=this.newMomentum?this.size:void 0,this.scrollArrow&&(e.visibleTab=!0),e.vertical!==i&&(e.vertical=i),e.viewportHidden&&(i||this.scrollArrow)&&(e.viewportHidden=!1);const d=t[r];d?(d.setAttribute("id",n),d.setAttribute("aria-labelledby",l),d.selected=s===r,e.disabled&&(d.hidden=!0,d.selected=!1)):e.disabled=!0});let r=s;for(;r<e.length&&e[r].disabled;)r++;r=r===e.length?0:r,e[r].selected=!0,t[r].selected=!0,this.tabsHash=this.tabs.reduce((e,t)=>(e[t.id]=t,e),{}),this.tabsIdxHash=this.tabs.reduce((e,t,i)=>(e[t.id]=i,e),{})})}get slotItem(){return this.tabSlotElement}filterSlotted(){return this.tabSlotElement.assignedElements()}handleResize(e){var t;null===(t=super.handleResize)||void 0===t||t.call(this,e),this.manageOverflow(),this.updateIsMoreTabTruncated(),this.scrollArrow&&this.updateArrowsVisibility()}getDragDirection(e){return e.from===this.visibleTabsContainerElement&&e.to===this.hiddenTabsContainerElement?C:e.from===this.visibleTabsContainerElement&&e.to===this.visibleTabsContainerElement?I:e.from===this.hiddenTabsContainerElement&&e.to===this.visibleTabsContainerElement?L:e.from===this.hiddenTabsContainerElement&&e.to===this.hiddenTabsContainerElement?E:void 0}makeTabCopyFocus(e){e&&e.focus()}handleTabClick(e){const{id:t}=e.detail;this.handleNewSelectedTab(t)}handleNewSelectedTab(e,t=!0){const i=this.tabsHash[this.getNormalizedTabId(e)];if(i&&!i.disabled){const e=this.tabsIdxHash[i.id];-1!==e&&this.updateSelectedTab(e,t);{const e=this.tabsCopyHash[this.getCopyTabId(i)];e&&t&&this.makeTabCopyFocus(e),this.updateHiddenIdPositiveTabIndex(i)}}}handleTabCrossClick(e){const{id:t}=e.detail;this.handleTabCloseEvent(t)}handleTabCloseClick(e){const{id:t}=e.detail;this.handleTabCloseEvent(t)}handleTabCloseEvent(e){var t,i;const s=this.tabsHash[this.getNormalizedTabId(e)];if(s&&!s.disabled&&("auto"===s.closable||"custom"===s.closable)){const s=this.tabsFilteredAsVisibleList.findIndex(t=>this.getNormalizedTabId(t.id)===this.getNormalizedTabId(e));this.tabsFilteredAsVisibleList=this.tabsFilteredAsVisibleList.filter(t=>this.getNormalizedTabId(t.id)!==this.getNormalizedTabId(e)),null===(i=null===(t=this.visibleTabsContainerElement)||void 0===t?void 0:t.querySelector("#"+e))||void 0===i||i.remove(),0!==this.tabsFilteredAsHiddenList.length&&(this.tabsFilteredAsVisibleList.push(this.tabsFilteredAsHiddenList[0]),this.tabsFilteredAsHiddenList.splice(0,1)),0===this.tabsFilteredAsHiddenList.length&&(this.isMoreTabMenuVisible=!1,this.isMoreTabMenuMeasured=!1),this.handleUpdatedSeletedTabAfterCross(s)}}handleUpdatedSeletedTabAfterCross(e){var t;let i=e;for(;i<this.tabsFilteredAsVisibleList.length&&(null===(t=this.tabsFilteredAsVisibleList[i])||void 0===t?void 0:t.disabled);)i++;if(void 0===this.tabsFilteredAsVisibleList[i]||e===this.tabsFilteredAsVisibleList.length)for(i=e-1;i>=0&&this.tabsFilteredAsVisibleList[i].disabled;)i--;if(-1!==i){const e=this.tabs.findIndex(e=>e.id===this.tabsFilteredAsVisibleList[i].id);this.updateSelectedTab(e)}else this.updateSelectedTab(i);this.noTabsVisible=0===this.tabsFilteredAsVisibleList.length&&0===this.tabsFilteredAsHiddenList.length,this.requestUpdate()}setSelectedAttribute(e,t,i=!1){t&&(t.selected=i),e&&(e.selected=i,i&&(this.isMoreTabMenuSelected=this.isTabInMoreMenu(e)),this.isTabInMoreMenu(e)&&(this.isMoreTabMenuSelected=!0))}isTabInMoreMenu(e){return void 0!==this.tabsFilteredAsHiddenList.find(t=>t.id===e.id)}updateSelectedTab(e,t=!0){const{tabs:i,panels:s}=this,r=this.tabs.findIndex(e=>e.hasAttribute("selected"));if(i&&s&&(this.setSelectedAttribute((0,o.Qx)(i,r),(0,o.Qx)(s,r),!1),this.setSelectedAttribute((0,o.Qx)(i,e),(0,o.Qx)(s,e),!0)),e>=0&&e<i.length){this.dispatchSelectedChangedEvent(e);const s=this.currentTabsLayout.findIndex(t=>t.id===i[e].id);this.changeSelectedTabIdx(s,t)}}dispatchSelectedChangedEvent(e){const t=this.currentTabsLayout,i=this.tabs[e].id;let s=t.findIndex(e=>e.id===i);-1===s&&(s=e);const r=[];t.forEach(e=>{r.push(e.name)}),this.dispatchEvent(new CustomEvent("selected-changed",{detail:{value:s,tabsOrder:r},composed:!0,bubbles:!0}))}changeSelectedTabIdx(e,t=!0){this.requestUpdate(),this.selected=e,this.updateComplete.then(()=>{var i,s;if(e<this.tabsFilteredAsVisibleList.length){if(t){const e=null===(i=this.visibleTabsContainerElement)||void 0===i?void 0:i.children[this.selected];null==e||e.focus()}}else{const e=this.selected-this.tabsFilteredAsVisibleList.length,i=null===(s=this.hiddenTabsContainerElement)||void 0===s?void 0:s.children[e];t&&this.moveFocusToTab(i);const r=this.tabsFilteredAsHiddenList[e];(null==r?void 0:r.disabled)||this.updateHiddenIdPositiveTabIndex(r)}}),this.updateIsMoreTabMenuSelected(),this.storeSelectedTabIndex(e)}storeSelectedTabIndex(e){this.persistSelection&&this.tabsId&&e>-1&&""!==this.tabsId.trim()&&sessionStorage.setItem(this.tabsId,`${e}`)}getCurrentIndex(e){var t,i,s;if(this.scrollArrow){const t=this.tabs.length;for(let i=0;i<t;i++)if(this.tabs[i].id===e)return i}const r=null!==(i=null===(t=this.visibleTabsContainerElement)||void 0===t?void 0:t.children.length)&&void 0!==i?i:0;for(let t=0;t<r;t++)if((null===(s=this.visibleTabsContainerElement)||void 0===s?void 0:s.children[t].id)===e)return t;return this.tabsVisibleIdxHash[e]}moveFocusToAdjacentTab(e,t){var i,s,r;const o=this.getCurrentIndex(e),a=this.slotItem.assignedElements();let l=0;if(this.scrollArrow){t===S?l=0===o?a.length-1:o-1:t===x&&(l=o===a.length-1?0:o+1),this.moveFocusToTab(a[l]);const e=a[l],s=e.getBoundingClientRect(),r=null===(i=this.tabsListElement)||void 0===i?void 0:i.getBoundingClientRect();return r&&(s.left>=r.left&&s.right<=r.right&&s.top>=r.top&&s.bottom<=r.bottom||e.scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"})),this.updateArrowsVisibility(),void(0,f.setTimeout)(()=>this.moveFocusToTab(a[l]),0)}const n=null===(s=this.visibleTabsContainerElement)||void 0===s?void 0:s.children,d=null!==(r=null==n?void 0:n.length)&&void 0!==r?r:0;n&&0!==d&&(t===S?l=0===o?d-1:o-1:t===x?l=o===d-1?0:o+1:t===H&&(l=this.selected>=d?0:this.selected),this.moveFocusToTab(n[l]))}moveFocusToTab(e){(0,f.setTimeout)(()=>null==e?void 0:e.focus(),0)}handleOverlayClose(){(0,f.setTimeout)(()=>{this.menuOverlayElement&&(this.menuOverlayElement.isOpen=!1)},0)}dispatchKeydownEvent(e,t){t&&this.dispatchEvent(new CustomEvent("tab-keydown",{detail:{id:t,key:e.code,ctrlKey:e.ctrlKey,shiftKey:e.shiftKey,altKey:e.altKey,srcEvent:e},bubbles:!0,composed:!0}))}handleTabKeydown(e){var t,i,r,o,a,l,n;const d=e.target;if(e.target!=this&&!this.tabs.find(e=>e.id===(null==d?void 0:d.id)))return!1;let h;if((null===(t=e.composedPath())||void 0===t?void 0:t.length)>0?h=e.composedPath()[0].id:e.originalTarget&&(h=e.originalTarget.id),!h)return;const b=this.getNormalizedTabId(h);this.dispatchKeydownEvent(e,b);const c=e.code,{shiftKey:p}=e,u=!!this.isMoreTabMenuVisible&&b===w,m=u&&this.isMoreTabMenuVisible?this.moreTabMenuElement:this.tabsHash[this.getNormalizedTabId(b)],v=!this.isMoreTabMenuVisible||m&&this.tabsVisibleIdxHash[m.id]>-1,f=!!this.isMoreTabMenuVisible&&m&&this.tabsHiddenIdxHash[m.id]>-1,T=this.isMoreTabMenuVisible?this.tabsFilteredAsVisibleList.length-1:this.tabs.length-1,y=this.isMoreTabMenuVisible?this.tabsFilteredAsVisibleList.length:-1,g=this.isMoreTabMenuVisible?this.tabsFilteredAsVisibleList.length+this.tabsFilteredAsHiddenList.length-1:-1;switch(c){case s.Uz.Tab:u&&!this.isMoreTabMenuOpen&&p&&(e.preventDefault(),this.moveFocusToAdjacentTab(h,H));break;case s.Uz.End:u||(v?(e.preventDefault(),this.moveFocusToTab(null===(i=this.visibleTabsContainerElement)||void 0===i?void 0:i.children[(null===(r=this.tabsFilteredAsVisibleList)||void 0===r?void 0:r.length)-1])):this.isMoreTabMenuOpen&&(e.preventDefault(),this.moveFocusToTab(null===(o=this.hiddenTabsContainerElement)||void 0===o?void 0:o.children[(null===(a=this.tabsFilteredAsHiddenList)||void 0===a?void 0:a.length)-1])));break;case s.Uz.Home:v?(e.preventDefault(),this.moveFocusToTab(null===(l=this.visibleTabsContainerElement)||void 0===l?void 0:l.children[0])):this.isMoreTabMenuOpen&&(e.preventDefault(),this.moveFocusToTab(null===(n=this.hiddenTabsContainerElement)||void 0===n?void 0:n.children[0]));break;case s.Uz.ArrowLeft:u||(v||this.scrollArrow)&&(e.stopPropagation(),this.moveFocusToAdjacentTab(h,this.isRtl?x:S));break;case s.Uz.ArrowRight:u||(v||this.scrollArrow)&&(e.stopPropagation(),this.moveFocusToAdjacentTab(h,this.isRtl?S:x));break;case s.Uz.ArrowUp:if(u);else if(v&&"vertical"===this.direction)e.preventDefault(),this.changeSelectedTabIdx(0===this.selected?T:this.selected-1);else if(f){e.preventDefault();const t=this.selected===y?g:this.selected-1;this.changeSelectedTabIdx(t)}break;case s.Uz.ArrowDown:if(u);else if(v&&"vertical"===this.direction)e.preventDefault(),this.changeSelectedTabIdx(this.selected===T?0:this.selected+1);else if(f){e.preventDefault();const t=this.selected===g?y:this.selected+1;this.changeSelectedTabIdx(t)}break;case s.Uz.Enter:case s.Uz.NumpadEnter:case s.Uz.Space:if(u){const e=this.tabsFilteredAsHiddenList.filter(e=>!e.disabled),t=e.length?e.find(e=>e.selected)||e[0]:void 0;if(this.updateHiddenIdPositiveTabIndex(t),t){const e=this.tabsIdxHash[this.getNormalizedTabId(t.id)];-1!==e&&this.updateSelectedTab(e)}}else if(m&&!m.disabled){const t=this.tabsIdxHash[this.getNormalizedTabId(m.id)];-1!==t&&(e.preventDefault(),this.updateSelectedTab(t))}}}setupTabsEvents(){this.addEventListener("tab-click",this.handleTabClick),this.addEventListener("tab-cross-click",this.handleTabCrossClick),this.addEventListener("tab-close-click",this.handleTabCloseClick),this.addEventListener("keydown",this.handleTabKeydown),this.addEventListener("clear-tab-order-prefs",this.clearTabOrderPrefs)}teardownTabsEvents(){this.removeEventListener("tab-click",this.handleTabClick),this.removeEventListener("tab-cross-click",this.handleTabCrossClick),this.removeEventListener("tab-close-click",this.handleTabCloseClick),this.removeEventListener("keydown",this.handleTabKeydown),this.removeEventListener("clear-tab-order-prefs",this.clearTabOrderPrefs)}clearTabOrderPrefs(e){const{compUniqueId:t}=e.detail;t===this.compUniqueId&&(localStorage.removeItem(this.tabsId),sessionStorage.removeItem(this.tabsId),localStorage.removeItem(this.compUniqueId),this.tabsOrderPrefsArray=this.defaultTabsOrderArray,this.selected=0,this.initializeTabs(),this.dispatchSelectedChangedEvent(0))}setupPanelsAndTabs(){this.tabSlotElement&&(this.tabs=this.tabSlotElement.assignedElements()),this.panelSlotElement&&(this.panels=this.panelSlotElement.assignedElements()),this.defaultTabsOrderArray=this.tabs.map(e=>e.name)}setupMoreTab(){return M(this,void 0,void 0,function*(){"vertical"!==this.direction&&this.moreTabMenuElement&&!this.isMoreTabMenuMeasured&&(this.moreTabMenuElement.classList.add("md-menu-overlay__more_tab--measuring"),yield this.moreTabMenuElement.updateComplete,this.moreTabMenuElement.offsetWidth&&(this.moreTabMenuOffsetWidth=this.moreTabMenuElement.offsetWidth,this.isMoreTabMenuMeasured=!0),this.moreTabMenuElement.classList.remove("md-menu-overlay__more_tab--measuring"))})}initializeSortable(){this.visibleTabsContainerElement&&this.hiddenTabsContainerElement&&(this.visibleTabsSortableInstance=v().create(this.visibleTabsContainerElement,this.generateOptions()),this.hiddenTabsSortableInstance=v().create(this.hiddenTabsContainerElement,this.generateOptions()))}initializeTabs(){this.tabs=[],this.panels=[],this.tabsFilteredAsVisibleList=[],this.tabsFilteredAsHiddenList=[],this.isMoreTabMenuVisible=!1,this.setupPanelsAndTabs(),this.linkPanelsAndTabs(),this.draggable&&this.initializeSortable(),this.manageOverflow()}connectedCallback(){var e;if(super.connectedCallback(),this.setupTabsEvents(),this.persistSelection){if(!this.tabsId||""===this.tabsId.trim())return void console.error("Unique tabs-id attribute is mandatory for persist the selection of tab");const e=localStorage.getItem(this.tabsId);this.selected=e&&parseInt(e)>-1?parseInt(e):this.selected}this.compUniqueId&&(this.tabsOrderPrefsArray=(null===(e=localStorage.getItem(this.compUniqueId))||void 0===e?void 0:e.split(","))||[])}selectTabFromStorage(){if(this.persistSelection){if(!this.tabsId||""===this.tabsId.trim())return void console.error("Unique tabs-id attribute is mandatory for persist the selection of tab");const e=sessionStorage.getItem(this.tabsId);let t=0;if(e){const i=parseInt(e);t=i>-1?i:this.selected}const i=this.currentTabsLayout;i.length&&i[t].id?(this._selectedIndex=t,this.handleNewSelectedTab(i[t].id,!1)):this.selected=t}}disconnectedCallback(){super.disconnectedCallback(),this.teardownTabsEvents()}firstUpdated(e){var t;super.firstUpdated(e),this.setupPanelsAndTabs(),this.linkPanelsAndTabs(),this.selectTabFromStorage(),this.scrollArrow&&(this.updateArrowsVisibility(),null===(t=this.tabsListElement)||void 0===t||t.addEventListener("scroll",this.updateArrowsVisibility))}onDirectionChanged(){return M(this,void 0,void 0,function*(){this.tabs=[],this.panels=[],this.tabsFilteredAsVisibleList=[],this.tabsFilteredAsHiddenList=[],this.isMoreTabMenuVisible=!1,this.setupPanelsAndTabs(),yield this.linkPanelsAndTabs(),this.draggable&&this.initializeSortable(),"horizontal"===this.direction&&(yield this.manageOverflow()),this.selectTabFromStorage(),this.scrollArrow&&this.updateArrowsVisibility()})}willUpdate(e){var t,i;if(null===(t=super.willUpdate)||void 0===t||t.call(this,e),e.has("selectedIndex")&&(this.selected=this.selectedIndex),e.has("tabsFilteredAsHiddenList")&&(this.tabsCopy=Array.from((null===(i=this.tabsCopyHiddenListElements)||void 0===i?void 0:i.values())||[]),this.tabsCopyHash=this.tabsCopy.reduce((e,t)=>(e[t.id]=t,e),{})),(e.has("tabsFilteredAsVisibleList")||e.has("tabsFilteredAsHiddenList"))&&(this.tabsVisibleIdxHash=this.tabsFilteredAsVisibleList.reduce((e,t,i)=>(e[t.id]=i,e),{}),this.tabsHiddenIdxHash=this.tabsFilteredAsHiddenList.reduce((e,t,i)=>(e[t.id]=i,e),{})),e.has("isMoreTabMenuOpen")&&this.isMoreTabMenuVisible){const t=e.get("isMoreTabMenuOpen");this.isMoreTabMenuOpen&&!t&&(this.moreItemsScrollLimit<this.tabsCopy.length?(this.isMoreTabMenuScrollable=!0,this.moreTabMenuMaxHeight=`${this.measureHiddenTabsCopiesOffsetHeight().slice(0,this.moreItemsScrollLimit).reduce((e,t)=>e+t,0)}px`):(this.isMoreTabMenuScrollable=!1,this.moreTabMenuMaxHeight=null))}}updated(e){super.updated(e),e.has("direction")&&e.get("direction")!==this.direction&&this.onDirectionChanged(),e.has("slotted")&&this.initializeTabs(),!this.draggable||this.visibleTabsSortableInstance||this.hiddenTabsSortableInstance||this.initializeSortable(),e.has("tabsId")&&this.selectTabFromStorage(),e.has("selectedIndex")&&this.updateSelectedTab(this.selectedIndex,!1),e.has("overflowLabel")&&this.updateIsMoreTabTruncated(),e.has("scrollArrow")&&this.onDirectionChanged()}scrollTabs(e){if(!this.tabsListElement||"vertical"===this.direction)return;const t="left"===e?-100:100;this.tabsListElement.scrollBy({left:t,behavior:"smooth"}),(0,f.setTimeout)(()=>this.updateArrowsVisibility(),300)}get moreMenuButtonTemplate(){return n.html`
31
31
  <md-tab
32
32
  slot="menu-trigger"
33
33
  id="${w}"
@@ -838,7 +838,7 @@
838
838
  part="dropdown-option"
839
839
  ?focused="${e===this.focusedIndex}"
840
840
  ?selected="${t.key===this.selectedKey}"
841
- @click="${()=>{this.focusToIndexWithOption(t),this.select(),this.collapse()}}"
841
+ @click=${()=>{this.focusToIndexWithOption(t),this.select(),this.collapse()}}
842
842
  >
843
843
  <span class="select-label" part="label">
844
844
  <span>${t.value}</span>
@@ -1056,7 +1056,7 @@
1056
1056
  focus-back-to-trigger
1057
1057
  placement=${this.placement}
1058
1058
  hide-on-escape
1059
- @hidden="${()=>{this.notifyCoachClose()}}"
1059
+ @hidden=${()=>{this.notifyCoachClose()}}
1060
1060
  >
1061
1061
  <div class="md-coachmark__popper" tabindex="-1">
1062
1062
  ${this.renderHeader()} ${this.renderBody()} ${this.renderFooter()}
@@ -1317,7 +1317,7 @@
1317
1317
  ${this.finalTwentyFourFormat?l.nothing:this.generateAmPmComboBox()}
1318
1318
  </div>
1319
1319
  </div>
1320
- `}};m([(0,d.property)({type:Boolean,attribute:"two-digit-auto-tab"})],e.prototype,"twoDigitAutoTab",void 0),m([(0,d.property)({type:Boolean,attribute:"twenty-four-hour-format",reflect:!0})],e.prototype,"twentyFourHourFormat",void 0),m([(0,d.property)({type:String})],e.prototype,"timeSpecificity",void 0),m([(0,d.property)({type:String})],e.prototype,"locale",void 0),m([(0,d.property)({type:String,reflect:!0})],e.prototype,"value",void 0),m([(0,d.property)({type:Boolean,attribute:"show-default-now-time"})],e.prototype,"showDefaultNowTime",void 0),m([(0,d.state)()],e.prototype,"finalTwentyFourFormat",void 0),m([(0,d.state)()],e.prototype,"timeObject",void 0),m([(0,d.state)()],e.prototype,"tabNext",void 0),m([(0,d.state)()],e.prototype,"timeValue",void 0),m([(0,d.state)()],e.prototype,"timeValidity",void 0),e=m([(0,o.w)("md-timepicker")],e),t.ELEMENT=e}(g||(g={}))},50226:(t,e,i)=>{i.d(e,{Tabs:()=>O}),i(61200),i(11323),i(83192);var s=i(90195),o=i(3001),r=i(66677),a=i(59164),n=i(4313),l=i(87161),d=i(54765),h=i(70429),c=i(85125),p=i(58175),u=i(10318),m=i(16968),y=i(41891),b=i.n(y),v=i(97103),g=i(2669),f=i(16643),w=function(t,e,i,s){var o,r=arguments.length,a=r<3?e:null===s?s=Object.getOwnPropertyDescriptor(e,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,s);else for(var n=t.length-1;n>=0;n--)(o=t[n])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a},C=function(t,e,i,s){return new(i||(i=Promise))(function(o,r){function a(t){try{l(s.next(t))}catch(t){r(t)}}function n(t){try{l(s.throw(t))}catch(t){r(t)}}function l(t){var e;t.done?o(t.value):(e=t.value,e instanceof i?e:new i(function(t){t(e)})).then(a,n)}l((s=s.apply(t,e||[])).next())})};const x="tab-more",S="more-menu-copy-",E="visibleToVisible",$="visibleToHidden",T="hiddenToVisible",k="hiddenToHidden",A="previous",I="next",L="fromMoreTabs";var O;!function(t){let e=class extends((0,o.UM)((0,o.Io)((0,o.TS)(l.LitElement)))){constructor(){super(...arguments),this.justified=!1,this.hugTabs=!1,this.overflowLabel="More Tabs",this.draggable=!1,this.direction="horizontal",this.moreItemsScrollLimit=Number.MAX_SAFE_INTEGER,this._selectedIndex=0,this.animation=100,this.ghostClass="",this.chosenClass="",this.forceFallback=!1,this.fallbackClass="",this.tabsId="",this.persistSelection=!1,this.compUniqueId="",this.type="line",this.newMomentum=!1,this.variant="ghost",this.scrollArrow=!1,this.leftArrowAriaLabel="Backward Button",this.rightArrowAriaLabel="Forward Button",this.size=28,this.isMoreTabMenuVisible=!1,this.isMoreTabMenuMeasured=!1,this.isMoreTabMenuOpen=!1,this.isMoreTabMenuSelected=!1,this.isMoreTabMenuScrollable=!1,this.moreTabMenuOffsetWidth=0,this.moreTabMenuMaxHeight=null,this.tabsViewportDataList=[],this.tabsFilteredAsVisibleList=[],this.tabsFilteredAsHiddenList=[],this.noTabsVisible=!1,this.defaultTabsOrderArray=[],this.tabsOrderPrefsArray=[],this.isMoreTabTruncated=!1,this.showLeftArrow=!1,this.showRightArrow=!1,this.tabs=[],this.panels=[],this.tabsCopy=[],this.tabsHash={},this.tabsCopyHash={},this.tabsIdxHash={},this.tabsVisibleIdxHash={},this.tabsHiddenIdxHash={},this.visibleTabsSortableInstance=null,this.hiddenTabsSortableInstance=null,this.updateArrowsVisibility=()=>{this.tabsListElement&&requestAnimationFrame(()=>{const{scrollLeft:t,scrollWidth:e,clientWidth:i}=this.tabsListElement;this.showLeftArrow=t>0,this.showRightArrow=t+i<e-5})},this.handleOnDragEnd=t=>C(this,void 0,void 0,function*(){var e,i,s,o,r,a,n,l,d,h;t.stopPropagation();const c=t.oldIndex,p=t.newIndex,u=[...this.tabsFilteredAsVisibleList],m=[...this.tabsFilteredAsHiddenList],y=this.getDragDirection(t);if(void 0!==c&&void 0!==p){switch(y){case $:{null===(i=null===(e=this.hiddenTabsContainerElement)||void 0===e?void 0:e.querySelector("#"+t.item.id))||void 0===i||i.remove();const s=u[c],o=m.slice(-1)[0],r=p===this.tabsFilteredAsHiddenList.length?p-1:p;m.splice(r,0,s),m.pop();const a=u.filter(e=>e.id!==this.getNormalizedTabId(t.item.id));a.push(o),this.tabsFilteredAsVisibleList=[...a],this.tabsFilteredAsHiddenList=[...m];break}case E:{const t=u[c];u.splice(c,1),u.splice(p,0,t),this.tabsFilteredAsVisibleList=u,p===this.tabsFilteredAsVisibleList.length-1&&(null===(o=null===(s=this.visibleTabsContainerElement)||void 0===s?void 0:s.children[this.visibleTabsContainerElement.children.length-1])||void 0===o||o.remove());const e=this.visibleTabsContainerElement.children[c],i=this.visibleTabsContainerElement.children[p];if(!e||!i)return;null===(r=this.visibleTabsContainerElement)||void 0===r||r.replaceChild(i,e),null===(a=this.visibleTabsContainerElement)||void 0===a||a.insertBefore(e,i);break}case T:{null===(l=null===(n=this.visibleTabsContainerElement)||void 0===n?void 0:n.querySelector("#"+t.item.id))||void 0===l||l.remove();const e=m[c],i=u.slice(-1)[0];m.splice(c,1),m.splice(0,0,i);const s=p===this.tabsFilteredAsVisibleList.length?p-1:p;u.splice(s,0,e),u.pop(),this.tabsFilteredAsVisibleList=u,this.tabsFilteredAsHiddenList=m;break}case k:{const t=m[c];m.splice(c,1),m.splice(p,0,t),this.tabsFilteredAsHiddenList=m,p===this.tabsFilteredAsHiddenList.length-1&&(null===(h=null===(d=this.hiddenTabsContainerElement)||void 0===d?void 0:d.children[this.hiddenTabsContainerElement.children.length-1])||void 0===h||h.remove());break}}if(this.compUniqueId){const t=[...this.tabsFilteredAsVisibleList,...this.tabsFilteredAsHiddenList],e=t.findIndex(t=>t.selected);this.storeSelectedTabIndex(e),this.tabsOrderPrefsArray=t.map(t=>t.name),localStorage.setItem(this.compUniqueId,this.tabsOrderPrefsArray.join(","))}}})}get selectedIndex(){return this._selectedIndex}set selectedIndex(t){var e;if(-1===t)return;const i=this._selectedIndex;this._selectedIndex=t,i!==t&&(null===(e=this.tabs)||void 0===e?void 0:e.length)&&this.updateSelectedTab(t)}get isRtl(){return"rtl"===getComputedStyle(this).direction}generateOptions(){return{group:"shared",animation:10,swapThreshold:1,draggable:"md-tab",direction:this.direction,forceFallback:this.forceFallback,fallbackClass:this.fallbackClass,ghostClass:this.ghostClass,chosenClass:this.chosenClass,onEnd:this.handleOnDragEnd}}get currentTabsLayout(){return"horizontal"!==this.direction||this.scrollArrow?this.tabs:[...this.tabsFilteredAsVisibleList,...this.tabsFilteredAsHiddenList]}getCopyTabId(t){var e;return(null===(e=t.id)||void 0===e?void 0:e.startsWith(S))?`${S}${t.id}`:t.id}getAriaControlId(t){var e,i;return(null===(e=t.id)||void 0===e?void 0:e.startsWith(S))?`${S}${t.id}`:"tab_panel_"+(null===(i=t.id)||void 0===i?void 0:i.substring(4))}getTabIndex(t){var e,i;return this.isMoreTabMenuVisible&&0===this.getCurrentIndex(null==t?void 0:t.id)&&this.selected>(null===(e=this.tabsFilteredAsVisibleList)||void 0===e?void 0:e.length)-1||(null===(i=this.tabsFilteredAsVisibleList[this.selected])||void 0===i?void 0:i.id)===t.id?0:-1}getNormalizedTabId(t){return t.replace(S,"")}static get styles(){return[n.A,g.A]}ensureTabsUpdateComplete(t){return C(this,void 0,void 0,function*(){const e=t.map(t=>void 0!==t.updateComplete?t.updateComplete:null).filter(t=>null!==t);e.length&&(yield Promise.all(e))})}measureTabsOffsetWidth(){return this.justified||"vertical"===this.direction?this.tabs.map(t=>{t.setAttribute("measuringrealwidth","");const e=t.closable?t.offsetWidth+f.TAB_CROSS_WIDTH:t.offsetWidth;return t.removeAttribute("measuringrealwidth"),e}):this.tabs.map(t=>t.closable?t.offsetWidth+f.TAB_CROSS_WIDTH:t.offsetWidth)}updateIsMoreTabTruncated(){var t;const e=null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector(".md-menu-overlay__overflow-label");if(e){const t=e.scrollWidth>e.clientWidth;this.isMoreTabTruncated!=t&&(this.isMoreTabTruncated=t)}}measureHiddenTabsCopiesOffsetHeight(){return this.tabsCopy.map(t=>t.offsetHeight)}manageOverflow(){return C(this,void 0,void 0,function*(){var t,e;if("vertical"!==this.direction&&!this.scrollArrow){let i;i=0===this.tabsFilteredAsVisibleList.length&&0===this.tabsFilteredAsHiddenList.length?[...this.tabs]:[...this.tabsFilteredAsVisibleList,...this.tabsFilteredAsHiddenList],i.forEach(t=>{var e,i,s,o,r,a;if((null===(e=t.children)||void 0===e?void 0:e.length)&&0===(null===(s=null===(i=t.children[0])||void 0===i?void 0:i.children)||void 0===s?void 0:s.length)){const e=null===(r=null===(o=null==t?void 0:t.querySelector("slot"))||void 0===o?void 0:o.assignedNodes({flatten:!0})[0])||void 0===r?void 0:r.cloneNode(!0);e&&(e.classList.add("tab-content"),null===(a=null==t?void 0:t.children[0])||void 0===a||a.appendChild(e))}});const s=i.length;if(this.tabsListElement&&s){const o=(null===(t=this.tabsSettingsElement)||void 0===t?void 0:t.offsetWidth)?this.tabsListElement.offsetWidth-(null===(e=this.tabsSettingsElement)||void 0===e?void 0:e.offsetWidth):this.tabsListElement.offsetWidth;yield this.ensureTabsUpdateComplete(this.tabs);const r=this.measureTabsOffsetWidth(),a=i.reduce((t,e,i)=>t+r[i],0);if(a){yield this.setupMoreTab();let t=!0;o<a&&(t=!1);const e=[];let n=0;i.forEach((i,a)=>{n+=r[a];const l=!t&&n+(a<s-1?this.moreTabMenuOffsetWidth:0)>o;e.push({isTabInViewportHidden:l,tabOffsetWidth:r[a]})}),this.tabsViewportDataList=e,this.tabsViewportDataList.forEach((t,e)=>this.tabs[e].viewportHidden=t.isTabInViewportHidden),this.isMoreTabMenuVisible=!!this.tabsViewportDataList.find(t=>t.isTabInViewportHidden),this.tabsFilteredAsVisibleList=i.filter((t,e)=>!this.tabsViewportDataList[e].isTabInViewportHidden),this.tabsVisibleIdxHash=this.tabsFilteredAsVisibleList.reduce((t,e,i)=>(t[e.id]=i,t),{}),this.tabsFilteredAsHiddenList=i.filter((t,e)=>this.tabsViewportDataList[e].isTabInViewportHidden),this.tabsHiddenIdxHash=this.tabsFilteredAsHiddenList.reduce((t,e,i)=>(t[e.id]=i,t),{})}}this.updateIsMoreTabMenuSelected();const o=this.tabsFilteredAsHiddenList.find(t=>!t.disabled);this.updateHiddenIdPositiveTabIndex(o)}})}updateIsMoreTabMenuSelected(){this.isMoreTabMenuSelected=!!this.tabsFilteredAsHiddenList.find(t=>t.selected)}updateHiddenIdPositiveTabIndex(t){this.tabHiddenIdPositiveTabIndex=t?t.id:void 0}sortTabsAndPanes(){if(!this.tabsOrderPrefsArray.length)return;const t=(t,e)=>{var i,s;const o=null!==(i=t.getAttribute("name"))&&void 0!==i?i:"",r=null!==(s=e.getAttribute("name"))&&void 0!==s?s:"";return this.tabsOrderPrefsArray.indexOf(o)-this.tabsOrderPrefsArray.indexOf(r)};this.tabs.sort(t),this.panels.sort(t)}linkPanelsAndTabs(){return C(this,void 0,void 0,function*(){this.sortTabsAndPanes();const{tabs:t,panels:e}=this;if(0===t.length||0===e.length)return void console.warn("The tabs or panels count should't be equal zero.");t.length!==e.length&&console.warn(`The amount of tabs (${t.length}) doesn't match the amount of panels (${e.length}).`);const i="vertical"===this.direction,s=this.selectedIndex<0?0:this.selectedIndex;t.forEach((t,o)=>{const r=(0,a.O)("tabs"),n="tab_"+r,l="tab_panel_"+r;t.setAttribute("id",n),t.setAttribute("aria-controls",l),t.selected=s===o,t.newMomentum=this.newMomentum,t.type=this.type,t.variant=this.variant,t.size=this.newMomentum?this.size:void 0,this.scrollArrow&&(t.visibleTab=!0),t.vertical!==i&&(t.vertical=i),t.viewportHidden&&(i||this.scrollArrow)&&(t.viewportHidden=!1);const d=e[o];d?(d.setAttribute("id",l),d.setAttribute("aria-labelledby",n),d.selected=s===o,t.disabled&&(d.hidden=!0,d.selected=!1)):t.disabled=!0});let o=s;for(;o<t.length&&t[o].disabled;)o++;o=o===t.length?0:o,t[o].selected=!0,e[o].selected=!0,this.tabsHash=this.tabs.reduce((t,e)=>(t[e.id]=e,t),{}),this.tabsIdxHash=this.tabs.reduce((t,e,i)=>(t[e.id]=i,t),{})})}get slotItem(){return this.tabSlotElement}filterSlotted(){return this.tabSlotElement.assignedElements()}handleResize(t){var e;null===(e=super.handleResize)||void 0===e||e.call(this,t),this.manageOverflow(),this.updateIsMoreTabTruncated(),this.scrollArrow&&this.updateArrowsVisibility()}getDragDirection(t){return t.from===this.visibleTabsContainerElement&&t.to===this.hiddenTabsContainerElement?$:t.from===this.visibleTabsContainerElement&&t.to===this.visibleTabsContainerElement?E:t.from===this.hiddenTabsContainerElement&&t.to===this.visibleTabsContainerElement?T:t.from===this.hiddenTabsContainerElement&&t.to===this.hiddenTabsContainerElement?k:void 0}makeTabCopyFocus(t){t&&t.focus()}handleTabClick(t){const{id:e}=t.detail;this.handleNewSelectedTab(e)}handleNewSelectedTab(t,e=!0){const i=this.tabsHash[this.getNormalizedTabId(t)];if(i&&!i.disabled){const t=this.tabsIdxHash[i.id];-1!==t&&this.updateSelectedTab(t,e);{const t=this.tabsCopyHash[this.getCopyTabId(i)];t&&e&&this.makeTabCopyFocus(t),this.updateHiddenIdPositiveTabIndex(i)}}}handleTabCrossClick(t){const{id:e}=t.detail;this.handleTabCloseEvent(e)}handleTabCloseClick(t){const{id:e}=t.detail;this.handleTabCloseEvent(e)}handleTabCloseEvent(t){var e,i;const s=this.tabsHash[this.getNormalizedTabId(t)];if(s&&!s.disabled&&("auto"===s.closable||"custom"===s.closable)){const s=this.tabsFilteredAsVisibleList.findIndex(e=>this.getNormalizedTabId(e.id)===this.getNormalizedTabId(t));this.tabsFilteredAsVisibleList=this.tabsFilteredAsVisibleList.filter(e=>this.getNormalizedTabId(e.id)!==this.getNormalizedTabId(t)),null===(i=null===(e=this.visibleTabsContainerElement)||void 0===e?void 0:e.querySelector("#"+t))||void 0===i||i.remove(),0!==this.tabsFilteredAsHiddenList.length&&(this.tabsFilteredAsVisibleList.push(this.tabsFilteredAsHiddenList[0]),this.tabsFilteredAsHiddenList.splice(0,1)),0===this.tabsFilteredAsHiddenList.length&&(this.isMoreTabMenuVisible=!1,this.isMoreTabMenuMeasured=!1),this.handleUpdatedSeletedTabAfterCross(s)}}handleUpdatedSeletedTabAfterCross(t){var e;let i=t;for(;i<this.tabsFilteredAsVisibleList.length&&(null===(e=this.tabsFilteredAsVisibleList[i])||void 0===e?void 0:e.disabled);)i++;if(void 0===this.tabsFilteredAsVisibleList[i]||t===this.tabsFilteredAsVisibleList.length)for(i=t-1;i>=0&&this.tabsFilteredAsVisibleList[i].disabled;)i--;if(-1!==i){const t=this.tabs.findIndex(t=>t.id===this.tabsFilteredAsVisibleList[i].id);this.updateSelectedTab(t)}else this.updateSelectedTab(i);this.noTabsVisible=0===this.tabsFilteredAsVisibleList.length&&0===this.tabsFilteredAsHiddenList.length,this.requestUpdate()}setSelectedAttribute(t,e,i=!1){e&&(e.selected=i),t&&(t.selected=i,i&&(this.isMoreTabMenuSelected=this.isTabInMoreMenu(t)),this.isTabInMoreMenu(t)&&(this.isMoreTabMenuSelected=!0))}isTabInMoreMenu(t){return void 0!==this.tabsFilteredAsHiddenList.find(e=>e.id===t.id)}updateSelectedTab(t,e=!0){const{tabs:i,panels:s}=this,o=this.tabs.findIndex(t=>t.hasAttribute("selected"));if(i&&s&&(this.setSelectedAttribute((0,r.Qx)(i,o),(0,r.Qx)(s,o),!1),this.setSelectedAttribute((0,r.Qx)(i,t),(0,r.Qx)(s,t),!0)),t>=0&&t<i.length){this.dispatchSelectedChangedEvent(t);const s=this.currentTabsLayout.findIndex(e=>e.id===i[t].id);this.changeSelectedTabIdx(s,e)}}dispatchSelectedChangedEvent(t){const e=this.currentTabsLayout,i=this.tabs[t].id,s=e.findIndex(t=>t.id===i),o=[];e.forEach(t=>{o.push(t.name)}),this.dispatchEvent(new CustomEvent("selected-changed",{detail:{value:s,tabsOrder:o},composed:!0,bubbles:!0}))}changeSelectedTabIdx(t,e=!0){this.requestUpdate(),this.selected=t,this.updateComplete.then(()=>{var i,s;if(t<this.tabsFilteredAsVisibleList.length){if(e){const t=null===(i=this.visibleTabsContainerElement)||void 0===i?void 0:i.children[this.selected];null==t||t.focus()}}else{const t=this.selected-this.tabsFilteredAsVisibleList.length,i=null===(s=this.hiddenTabsContainerElement)||void 0===s?void 0:s.children[t];e&&this.moveFocusToTab(i);const o=this.tabsFilteredAsHiddenList[t];(null==o?void 0:o.disabled)||this.updateHiddenIdPositiveTabIndex(o)}}),this.updateIsMoreTabMenuSelected(),this.storeSelectedTabIndex(t)}storeSelectedTabIndex(t){this.persistSelection&&this.tabsId&&t>-1&&""!==this.tabsId.trim()&&sessionStorage.setItem(this.tabsId,`${t}`)}getCurrentIndex(t){var e,i,s;if(this.scrollArrow){const e=this.tabs.length;for(let i=0;i<e;i++)if(this.tabs[i].id===t)return i}const o=null!==(i=null===(e=this.visibleTabsContainerElement)||void 0===e?void 0:e.children.length)&&void 0!==i?i:0;for(let e=0;e<o;e++)if((null===(s=this.visibleTabsContainerElement)||void 0===s?void 0:s.children[e].id)===t)return e;return this.tabsVisibleIdxHash[t]}moveFocusToAdjacentTab(t,e){var i,s,o;const r=this.getCurrentIndex(t),a=this.slotItem.assignedElements();let n=0;if(this.scrollArrow){e===A?n=0===r?a.length-1:r-1:e===I&&(n=r===a.length-1?0:r+1),this.moveFocusToTab(a[n]);const t=a[n],s=t.getBoundingClientRect(),o=null===(i=this.tabsListElement)||void 0===i?void 0:i.getBoundingClientRect();return o&&(s.left>=o.left&&s.right<=o.right&&s.top>=o.top&&s.bottom<=o.bottom||t.scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"})),this.updateArrowsVisibility(),void(0,v.setTimeout)(()=>this.moveFocusToTab(a[n]),0)}const l=null===(s=this.visibleTabsContainerElement)||void 0===s?void 0:s.children,d=null!==(o=null==l?void 0:l.length)&&void 0!==o?o:0;l&&0!==d&&(e===A?n=0===r?d-1:r-1:e===I?n=r===d-1?0:r+1:e===L&&(n=this.selected>=d?0:this.selected),this.moveFocusToTab(l[n]))}moveFocusToTab(t){(0,v.setTimeout)(()=>null==t?void 0:t.focus(),0)}handleOverlayClose(){(0,v.setTimeout)(()=>{this.menuOverlayElement&&(this.menuOverlayElement.isOpen=!1)},0)}dispatchKeydownEvent(t,e){e&&this.dispatchEvent(new CustomEvent("tab-keydown",{detail:{id:e,key:t.code,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,srcEvent:t},bubbles:!0,composed:!0}))}handleTabKeydown(t){var e,i,o,r,a,n,l;const d=t.target;if(t.target!=this&&!this.tabs.find(t=>t.id===(null==d?void 0:d.id)))return!1;let h;if((null===(e=t.composedPath())||void 0===e?void 0:e.length)>0?h=t.composedPath()[0].id:t.originalTarget&&(h=t.originalTarget.id),!h)return;const c=this.getNormalizedTabId(h);this.dispatchKeydownEvent(t,c);const p=t.code,{shiftKey:u}=t,m=!!this.isMoreTabMenuVisible&&c===x,y=m&&this.isMoreTabMenuVisible?this.moreTabMenuElement:this.tabsHash[this.getNormalizedTabId(c)],b=!this.isMoreTabMenuVisible||y&&this.tabsVisibleIdxHash[y.id]>-1,v=!!this.isMoreTabMenuVisible&&y&&this.tabsHiddenIdxHash[y.id]>-1,g=this.isMoreTabMenuVisible?this.tabsFilteredAsVisibleList.length-1:this.tabs.length-1,f=this.isMoreTabMenuVisible?this.tabsFilteredAsVisibleList.length:-1,w=this.isMoreTabMenuVisible?this.tabsFilteredAsVisibleList.length+this.tabsFilteredAsHiddenList.length-1:-1;switch(p){case s.Uz.Tab:m&&!this.isMoreTabMenuOpen&&u&&(t.preventDefault(),this.moveFocusToAdjacentTab(h,L));break;case s.Uz.End:m||(b?(t.preventDefault(),this.moveFocusToTab(null===(i=this.visibleTabsContainerElement)||void 0===i?void 0:i.children[(null===(o=this.tabsFilteredAsVisibleList)||void 0===o?void 0:o.length)-1])):this.isMoreTabMenuOpen&&(t.preventDefault(),this.moveFocusToTab(null===(r=this.hiddenTabsContainerElement)||void 0===r?void 0:r.children[(null===(a=this.tabsFilteredAsHiddenList)||void 0===a?void 0:a.length)-1])));break;case s.Uz.Home:b?(t.preventDefault(),this.moveFocusToTab(null===(n=this.visibleTabsContainerElement)||void 0===n?void 0:n.children[0])):this.isMoreTabMenuOpen&&(t.preventDefault(),this.moveFocusToTab(null===(l=this.hiddenTabsContainerElement)||void 0===l?void 0:l.children[0]));break;case s.Uz.ArrowLeft:m||(b||this.scrollArrow)&&(t.stopPropagation(),this.moveFocusToAdjacentTab(h,this.isRtl?I:A));break;case s.Uz.ArrowRight:m||(b||this.scrollArrow)&&(t.stopPropagation(),this.moveFocusToAdjacentTab(h,this.isRtl?A:I));break;case s.Uz.ArrowUp:if(m);else if(b&&"vertical"===this.direction)t.preventDefault(),this.changeSelectedTabIdx(0===this.selected?g:this.selected-1);else if(v){t.preventDefault();const e=this.selected===f?w:this.selected-1;this.changeSelectedTabIdx(e)}break;case s.Uz.ArrowDown:if(m);else if(b&&"vertical"===this.direction)t.preventDefault(),this.changeSelectedTabIdx(this.selected===g?0:this.selected+1);else if(v){t.preventDefault();const e=this.selected===w?f:this.selected+1;this.changeSelectedTabIdx(e)}break;case s.Uz.Enter:case s.Uz.NumpadEnter:case s.Uz.Space:if(m){const t=this.tabsFilteredAsHiddenList.filter(t=>!t.disabled),e=t.length?t.find(t=>t.selected)||t[0]:void 0;if(this.updateHiddenIdPositiveTabIndex(e),e){const t=this.tabsIdxHash[this.getNormalizedTabId(e.id)];-1!==t&&this.updateSelectedTab(t)}}else if(y&&!y.disabled){const e=this.tabsIdxHash[this.getNormalizedTabId(y.id)];-1!==e&&(t.preventDefault(),this.updateSelectedTab(e))}}}setupTabsEvents(){this.addEventListener("tab-click",this.handleTabClick),this.addEventListener("tab-cross-click",this.handleTabCrossClick),this.addEventListener("tab-close-click",this.handleTabCloseClick),this.addEventListener("keydown",this.handleTabKeydown),this.addEventListener("clear-tab-order-prefs",this.clearTabOrderPrefs)}teardownTabsEvents(){this.removeEventListener("tab-click",this.handleTabClick),this.removeEventListener("tab-cross-click",this.handleTabCrossClick),this.removeEventListener("tab-close-click",this.handleTabCloseClick),this.removeEventListener("keydown",this.handleTabKeydown),this.removeEventListener("clear-tab-order-prefs",this.clearTabOrderPrefs)}clearTabOrderPrefs(t){const{compUniqueId:e}=t.detail;e===this.compUniqueId&&(localStorage.removeItem(this.tabsId),sessionStorage.removeItem(this.tabsId),localStorage.removeItem(this.compUniqueId),this.tabsOrderPrefsArray=this.defaultTabsOrderArray,this.selected=0,this.initializeTabs(),this.dispatchSelectedChangedEvent(0))}setupPanelsAndTabs(){this.tabSlotElement&&(this.tabs=this.tabSlotElement.assignedElements()),this.panelSlotElement&&(this.panels=this.panelSlotElement.assignedElements()),this.defaultTabsOrderArray=this.tabs.map(t=>t.name)}setupMoreTab(){return C(this,void 0,void 0,function*(){"vertical"!==this.direction&&this.moreTabMenuElement&&!this.isMoreTabMenuMeasured&&(this.moreTabMenuElement.classList.add("md-menu-overlay__more_tab--measuring"),yield this.moreTabMenuElement.updateComplete,this.moreTabMenuElement.offsetWidth&&(this.moreTabMenuOffsetWidth=this.moreTabMenuElement.offsetWidth,this.isMoreTabMenuMeasured=!0),this.moreTabMenuElement.classList.remove("md-menu-overlay__more_tab--measuring"))})}initializeSortable(){this.visibleTabsContainerElement&&this.hiddenTabsContainerElement&&(this.visibleTabsSortableInstance=b().create(this.visibleTabsContainerElement,this.generateOptions()),this.hiddenTabsSortableInstance=b().create(this.hiddenTabsContainerElement,this.generateOptions()))}initializeTabs(){this.tabs=[],this.panels=[],this.tabsFilteredAsVisibleList=[],this.tabsFilteredAsHiddenList=[],this.isMoreTabMenuVisible=!1,this.setupPanelsAndTabs(),this.linkPanelsAndTabs(),this.draggable&&this.initializeSortable(),this.manageOverflow()}connectedCallback(){var t;if(super.connectedCallback(),this.setupTabsEvents(),this.persistSelection){if(!this.tabsId||""===this.tabsId.trim())return void console.error("Unique tabs-id attribute is mandatory for persist the selection of tab");const t=localStorage.getItem(this.tabsId);this.selected=t&&parseInt(t)>-1?parseInt(t):this.selected}this.compUniqueId&&(this.tabsOrderPrefsArray=(null===(t=localStorage.getItem(this.compUniqueId))||void 0===t?void 0:t.split(","))||[])}selectTabFromStorage(){if(this.persistSelection){if(!this.tabsId||""===this.tabsId.trim())return void console.error("Unique tabs-id attribute is mandatory for persist the selection of tab");const t=sessionStorage.getItem(this.tabsId);let e=0;if(t){const i=parseInt(t);e=i>-1?i:this.selected}const i=this.currentTabsLayout;i.length&&i[e].id?(this._selectedIndex=e,this.handleNewSelectedTab(i[e].id,!1)):this.selected=e}}disconnectedCallback(){super.disconnectedCallback(),this.teardownTabsEvents()}firstUpdated(t){var e;super.firstUpdated(t),this.setupPanelsAndTabs(),this.linkPanelsAndTabs(),this.selectTabFromStorage(),this.scrollArrow&&(this.updateArrowsVisibility(),null===(e=this.tabsListElement)||void 0===e||e.addEventListener("scroll",this.updateArrowsVisibility))}onDirectionChanged(){return C(this,void 0,void 0,function*(){this.tabs=[],this.panels=[],this.tabsFilteredAsVisibleList=[],this.tabsFilteredAsHiddenList=[],this.isMoreTabMenuVisible=!1,this.setupPanelsAndTabs(),yield this.linkPanelsAndTabs(),this.draggable&&this.initializeSortable(),"horizontal"===this.direction&&(yield this.manageOverflow()),this.selectTabFromStorage(),this.scrollArrow&&this.updateArrowsVisibility()})}willUpdate(t){var e,i;if(null===(e=super.willUpdate)||void 0===e||e.call(this,t),t.has("selectedIndex")&&(this.selected=this.selectedIndex),t.has("tabsFilteredAsHiddenList")&&(this.tabsCopy=Array.from((null===(i=this.tabsCopyHiddenListElements)||void 0===i?void 0:i.values())||[]),this.tabsCopyHash=this.tabsCopy.reduce((t,e)=>(t[e.id]=e,t),{})),(t.has("tabsFilteredAsVisibleList")||t.has("tabsFilteredAsHiddenList"))&&(this.tabsVisibleIdxHash=this.tabsFilteredAsVisibleList.reduce((t,e,i)=>(t[e.id]=i,t),{}),this.tabsHiddenIdxHash=this.tabsFilteredAsHiddenList.reduce((t,e,i)=>(t[e.id]=i,t),{})),t.has("isMoreTabMenuOpen")&&this.isMoreTabMenuVisible){const e=t.get("isMoreTabMenuOpen");this.isMoreTabMenuOpen&&!e&&(this.moreItemsScrollLimit<this.tabsCopy.length?(this.isMoreTabMenuScrollable=!0,this.moreTabMenuMaxHeight=`${this.measureHiddenTabsCopiesOffsetHeight().slice(0,this.moreItemsScrollLimit).reduce((t,e)=>t+e,0)}px`):(this.isMoreTabMenuScrollable=!1,this.moreTabMenuMaxHeight=null))}}updated(t){super.updated(t),t.has("direction")&&t.get("direction")!==this.direction&&this.onDirectionChanged(),t.has("slotted")&&this.initializeTabs(),!this.draggable||this.visibleTabsSortableInstance||this.hiddenTabsSortableInstance||this.initializeSortable(),t.has("tabsId")&&this.selectTabFromStorage(),t.has("selectedIndex")&&this.updateSelectedTab(this.selectedIndex,!1),t.has("overflowLabel")&&this.updateIsMoreTabTruncated(),t.has("scrollArrow")&&this.onDirectionChanged()}scrollTabs(t){if(!this.tabsListElement||"vertical"===this.direction)return;const e="left"===t?-100:100;this.tabsListElement.scrollBy({left:e,behavior:"smooth"}),(0,v.setTimeout)(()=>this.updateArrowsVisibility(),300)}get moreMenuButtonTemplate(){return l.html`
1320
+ `}};m([(0,d.property)({type:Boolean,attribute:"two-digit-auto-tab"})],e.prototype,"twoDigitAutoTab",void 0),m([(0,d.property)({type:Boolean,attribute:"twenty-four-hour-format",reflect:!0})],e.prototype,"twentyFourHourFormat",void 0),m([(0,d.property)({type:String})],e.prototype,"timeSpecificity",void 0),m([(0,d.property)({type:String})],e.prototype,"locale",void 0),m([(0,d.property)({type:String,reflect:!0})],e.prototype,"value",void 0),m([(0,d.property)({type:Boolean,attribute:"show-default-now-time"})],e.prototype,"showDefaultNowTime",void 0),m([(0,d.state)()],e.prototype,"finalTwentyFourFormat",void 0),m([(0,d.state)()],e.prototype,"timeObject",void 0),m([(0,d.state)()],e.prototype,"tabNext",void 0),m([(0,d.state)()],e.prototype,"timeValue",void 0),m([(0,d.state)()],e.prototype,"timeValidity",void 0),e=m([(0,o.w)("md-timepicker")],e),t.ELEMENT=e}(g||(g={}))},50226:(t,e,i)=>{i.d(e,{Tabs:()=>O}),i(61200),i(11323),i(83192);var s=i(90195),o=i(3001),r=i(66677),a=i(59164),n=i(4313),l=i(87161),d=i(54765),h=i(70429),c=i(85125),p=i(58175),u=i(10318),m=i(16968),y=i(41891),b=i.n(y),v=i(97103),g=i(2669),f=i(16643),w=function(t,e,i,s){var o,r=arguments.length,a=r<3?e:null===s?s=Object.getOwnPropertyDescriptor(e,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,s);else for(var n=t.length-1;n>=0;n--)(o=t[n])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a},C=function(t,e,i,s){return new(i||(i=Promise))(function(o,r){function a(t){try{l(s.next(t))}catch(t){r(t)}}function n(t){try{l(s.throw(t))}catch(t){r(t)}}function l(t){var e;t.done?o(t.value):(e=t.value,e instanceof i?e:new i(function(t){t(e)})).then(a,n)}l((s=s.apply(t,e||[])).next())})};const x="tab-more",S="more-menu-copy-",E="visibleToVisible",$="visibleToHidden",T="hiddenToVisible",k="hiddenToHidden",A="previous",I="next",L="fromMoreTabs";var O;!function(t){let e=class extends((0,o.UM)((0,o.Io)((0,o.TS)(l.LitElement)))){constructor(){super(...arguments),this.justified=!1,this.hugTabs=!1,this.overflowLabel="More Tabs",this.draggable=!1,this.direction="horizontal",this.moreItemsScrollLimit=Number.MAX_SAFE_INTEGER,this._selectedIndex=0,this.animation=100,this.ghostClass="",this.chosenClass="",this.forceFallback=!1,this.fallbackClass="",this.tabsId="",this.persistSelection=!1,this.compUniqueId="",this.type="line",this.newMomentum=!1,this.variant="ghost",this.scrollArrow=!1,this.leftArrowAriaLabel="Backward Button",this.rightArrowAriaLabel="Forward Button",this.size=28,this.isMoreTabMenuVisible=!1,this.isMoreTabMenuMeasured=!1,this.isMoreTabMenuOpen=!1,this.isMoreTabMenuSelected=!1,this.isMoreTabMenuScrollable=!1,this.moreTabMenuOffsetWidth=0,this.moreTabMenuMaxHeight=null,this.tabsViewportDataList=[],this.tabsFilteredAsVisibleList=[],this.tabsFilteredAsHiddenList=[],this.noTabsVisible=!1,this.defaultTabsOrderArray=[],this.tabsOrderPrefsArray=[],this.isMoreTabTruncated=!1,this.showLeftArrow=!1,this.showRightArrow=!1,this.tabs=[],this.panels=[],this.tabsCopy=[],this.tabsHash={},this.tabsCopyHash={},this.tabsIdxHash={},this.tabsVisibleIdxHash={},this.tabsHiddenIdxHash={},this.visibleTabsSortableInstance=null,this.hiddenTabsSortableInstance=null,this.updateArrowsVisibility=()=>{this.tabsListElement&&requestAnimationFrame(()=>{const{scrollLeft:t,scrollWidth:e,clientWidth:i}=this.tabsListElement;this.showLeftArrow=t>0,this.showRightArrow=t+i<e-5})},this.handleOnDragEnd=t=>C(this,void 0,void 0,function*(){var e,i,s,o,r,a,n,l,d,h;t.stopPropagation();const c=t.oldIndex,p=t.newIndex,u=[...this.tabsFilteredAsVisibleList],m=[...this.tabsFilteredAsHiddenList],y=this.getDragDirection(t);if(void 0!==c&&void 0!==p){switch(y){case $:{null===(i=null===(e=this.hiddenTabsContainerElement)||void 0===e?void 0:e.querySelector("#"+t.item.id))||void 0===i||i.remove();const s=u[c],o=m.slice(-1)[0],r=p===this.tabsFilteredAsHiddenList.length?p-1:p;m.splice(r,0,s),m.pop();const a=u.filter(e=>e.id!==this.getNormalizedTabId(t.item.id));a.push(o),this.tabsFilteredAsVisibleList=[...a],this.tabsFilteredAsHiddenList=[...m];break}case E:{const t=u[c];u.splice(c,1),u.splice(p,0,t),this.tabsFilteredAsVisibleList=u,p===this.tabsFilteredAsVisibleList.length-1&&(null===(o=null===(s=this.visibleTabsContainerElement)||void 0===s?void 0:s.children[this.visibleTabsContainerElement.children.length-1])||void 0===o||o.remove());const e=this.visibleTabsContainerElement.children[c],i=this.visibleTabsContainerElement.children[p];if(!e||!i)return;null===(r=this.visibleTabsContainerElement)||void 0===r||r.replaceChild(i,e),null===(a=this.visibleTabsContainerElement)||void 0===a||a.insertBefore(e,i);break}case T:{null===(l=null===(n=this.visibleTabsContainerElement)||void 0===n?void 0:n.querySelector("#"+t.item.id))||void 0===l||l.remove();const e=m[c],i=u.slice(-1)[0];m.splice(c,1),m.splice(0,0,i);const s=p===this.tabsFilteredAsVisibleList.length?p-1:p;u.splice(s,0,e),u.pop(),this.tabsFilteredAsVisibleList=u,this.tabsFilteredAsHiddenList=m;break}case k:{const t=m[c];m.splice(c,1),m.splice(p,0,t),this.tabsFilteredAsHiddenList=m,p===this.tabsFilteredAsHiddenList.length-1&&(null===(h=null===(d=this.hiddenTabsContainerElement)||void 0===d?void 0:d.children[this.hiddenTabsContainerElement.children.length-1])||void 0===h||h.remove());break}}if(this.compUniqueId){const t=[...this.tabsFilteredAsVisibleList,...this.tabsFilteredAsHiddenList],e=t.findIndex(t=>t.selected);this.storeSelectedTabIndex(e),this.tabsOrderPrefsArray=t.map(t=>t.name),localStorage.setItem(this.compUniqueId,this.tabsOrderPrefsArray.join(","))}}})}get selectedIndex(){return this._selectedIndex}set selectedIndex(t){var e;if(-1===t)return;const i=this._selectedIndex;this._selectedIndex=t,i!==t&&(null===(e=this.tabs)||void 0===e?void 0:e.length)&&this.updateSelectedTab(t)}get isRtl(){return"rtl"===getComputedStyle(this).direction}generateOptions(){return{group:"shared",animation:10,swapThreshold:1,draggable:"md-tab",direction:this.direction,forceFallback:this.forceFallback,fallbackClass:this.fallbackClass,ghostClass:this.ghostClass,chosenClass:this.chosenClass,onEnd:this.handleOnDragEnd}}get currentTabsLayout(){return"horizontal"!==this.direction||this.scrollArrow?this.tabs:[...this.tabsFilteredAsVisibleList,...this.tabsFilteredAsHiddenList]}getCopyTabId(t){var e;return(null===(e=t.id)||void 0===e?void 0:e.startsWith(S))?`${S}${t.id}`:t.id}getAriaControlId(t){var e,i;return(null===(e=t.id)||void 0===e?void 0:e.startsWith(S))?`${S}${t.id}`:"tab_panel_"+(null===(i=t.id)||void 0===i?void 0:i.substring(4))}getTabIndex(t){var e,i;return this.isMoreTabMenuVisible&&0===this.getCurrentIndex(null==t?void 0:t.id)&&this.selected>(null===(e=this.tabsFilteredAsVisibleList)||void 0===e?void 0:e.length)-1||(null===(i=this.tabsFilteredAsVisibleList[this.selected])||void 0===i?void 0:i.id)===t.id?0:-1}getNormalizedTabId(t){return t.replace(S,"")}static get styles(){return[n.A,g.A]}ensureTabsUpdateComplete(t){return C(this,void 0,void 0,function*(){const e=t.map(t=>void 0!==t.updateComplete?t.updateComplete:null).filter(t=>null!==t);e.length&&(yield Promise.all(e))})}measureTabsOffsetWidth(){return this.justified||"vertical"===this.direction?this.tabs.map(t=>{t.setAttribute("measuringrealwidth","");const e=t.closable?t.offsetWidth+f.TAB_CROSS_WIDTH:t.offsetWidth;return t.removeAttribute("measuringrealwidth"),e}):this.tabs.map(t=>t.closable?t.offsetWidth+f.TAB_CROSS_WIDTH:t.offsetWidth)}updateIsMoreTabTruncated(){var t;const e=null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector(".md-menu-overlay__overflow-label");if(e){const t=e.scrollWidth>e.clientWidth;this.isMoreTabTruncated!=t&&(this.isMoreTabTruncated=t)}}measureHiddenTabsCopiesOffsetHeight(){return this.tabsCopy.map(t=>t.offsetHeight)}manageOverflow(){return C(this,void 0,void 0,function*(){var t,e;if("vertical"!==this.direction&&!this.scrollArrow){let i;i=0===this.tabsFilteredAsVisibleList.length&&0===this.tabsFilteredAsHiddenList.length?[...this.tabs]:[...this.tabsFilteredAsVisibleList,...this.tabsFilteredAsHiddenList],i.forEach(t=>{var e,i,s,o,r,a;if((null===(e=t.children)||void 0===e?void 0:e.length)&&0===(null===(s=null===(i=t.children[0])||void 0===i?void 0:i.children)||void 0===s?void 0:s.length)){const e=null===(r=null===(o=null==t?void 0:t.querySelector("slot"))||void 0===o?void 0:o.assignedNodes({flatten:!0})[0])||void 0===r?void 0:r.cloneNode(!0);e&&(e.classList.add("tab-content"),null===(a=null==t?void 0:t.children[0])||void 0===a||a.appendChild(e))}});const s=i.length;if(this.tabsListElement&&s){const o=(null===(t=this.tabsSettingsElement)||void 0===t?void 0:t.offsetWidth)?this.tabsListElement.offsetWidth-(null===(e=this.tabsSettingsElement)||void 0===e?void 0:e.offsetWidth):this.tabsListElement.offsetWidth;yield this.ensureTabsUpdateComplete(this.tabs);const r=this.measureTabsOffsetWidth(),a=i.reduce((t,e,i)=>t+r[i],0);if(a){yield this.setupMoreTab();let t=!0;o<a&&(t=!1);const e=[];let n=0;i.forEach((i,a)=>{n+=r[a];const l=!t&&n+(a<s-1?this.moreTabMenuOffsetWidth:0)>o;e.push({isTabInViewportHidden:l,tabOffsetWidth:r[a]})}),this.tabsViewportDataList=e,this.tabsViewportDataList.forEach((t,e)=>this.tabs[e].viewportHidden=t.isTabInViewportHidden),this.isMoreTabMenuVisible=!!this.tabsViewportDataList.find(t=>t.isTabInViewportHidden),this.tabsFilteredAsVisibleList=i.filter((t,e)=>!this.tabsViewportDataList[e].isTabInViewportHidden),this.tabsVisibleIdxHash=this.tabsFilteredAsVisibleList.reduce((t,e,i)=>(t[e.id]=i,t),{}),this.tabsFilteredAsHiddenList=i.filter((t,e)=>this.tabsViewportDataList[e].isTabInViewportHidden),this.tabsHiddenIdxHash=this.tabsFilteredAsHiddenList.reduce((t,e,i)=>(t[e.id]=i,t),{})}}this.updateIsMoreTabMenuSelected();const o=this.tabsFilteredAsHiddenList.find(t=>!t.disabled);this.updateHiddenIdPositiveTabIndex(o)}})}updateIsMoreTabMenuSelected(){this.isMoreTabMenuSelected=!!this.tabsFilteredAsHiddenList.find(t=>t.selected)}updateHiddenIdPositiveTabIndex(t){this.tabHiddenIdPositiveTabIndex=t?t.id:void 0}sortTabsAndPanes(){if(!this.tabsOrderPrefsArray.length)return;const t=(t,e)=>{var i,s;const o=null!==(i=t.getAttribute("name"))&&void 0!==i?i:"",r=null!==(s=e.getAttribute("name"))&&void 0!==s?s:"";return this.tabsOrderPrefsArray.indexOf(o)-this.tabsOrderPrefsArray.indexOf(r)};this.tabs.sort(t),this.panels.sort(t)}linkPanelsAndTabs(){return C(this,void 0,void 0,function*(){this.sortTabsAndPanes();const{tabs:t,panels:e}=this;if(0===t.length||0===e.length)return void console.warn("The tabs or panels count should't be equal zero.");t.length!==e.length&&console.warn(`The amount of tabs (${t.length}) doesn't match the amount of panels (${e.length}).`);const i="vertical"===this.direction,s=this.selectedIndex<0?0:this.selectedIndex;t.forEach((t,o)=>{const r=(0,a.O)("tabs"),n="tab_"+r,l="tab_panel_"+r;t.setAttribute("id",n),t.setAttribute("aria-controls",l),t.selected=s===o,t.newMomentum=this.newMomentum,t.type=this.type,t.variant=this.variant,t.size=this.newMomentum?this.size:void 0,this.scrollArrow&&(t.visibleTab=!0),t.vertical!==i&&(t.vertical=i),t.viewportHidden&&(i||this.scrollArrow)&&(t.viewportHidden=!1);const d=e[o];d?(d.setAttribute("id",l),d.setAttribute("aria-labelledby",n),d.selected=s===o,t.disabled&&(d.hidden=!0,d.selected=!1)):t.disabled=!0});let o=s;for(;o<t.length&&t[o].disabled;)o++;o=o===t.length?0:o,t[o].selected=!0,e[o].selected=!0,this.tabsHash=this.tabs.reduce((t,e)=>(t[e.id]=e,t),{}),this.tabsIdxHash=this.tabs.reduce((t,e,i)=>(t[e.id]=i,t),{})})}get slotItem(){return this.tabSlotElement}filterSlotted(){return this.tabSlotElement.assignedElements()}handleResize(t){var e;null===(e=super.handleResize)||void 0===e||e.call(this,t),this.manageOverflow(),this.updateIsMoreTabTruncated(),this.scrollArrow&&this.updateArrowsVisibility()}getDragDirection(t){return t.from===this.visibleTabsContainerElement&&t.to===this.hiddenTabsContainerElement?$:t.from===this.visibleTabsContainerElement&&t.to===this.visibleTabsContainerElement?E:t.from===this.hiddenTabsContainerElement&&t.to===this.visibleTabsContainerElement?T:t.from===this.hiddenTabsContainerElement&&t.to===this.hiddenTabsContainerElement?k:void 0}makeTabCopyFocus(t){t&&t.focus()}handleTabClick(t){const{id:e}=t.detail;this.handleNewSelectedTab(e)}handleNewSelectedTab(t,e=!0){const i=this.tabsHash[this.getNormalizedTabId(t)];if(i&&!i.disabled){const t=this.tabsIdxHash[i.id];-1!==t&&this.updateSelectedTab(t,e);{const t=this.tabsCopyHash[this.getCopyTabId(i)];t&&e&&this.makeTabCopyFocus(t),this.updateHiddenIdPositiveTabIndex(i)}}}handleTabCrossClick(t){const{id:e}=t.detail;this.handleTabCloseEvent(e)}handleTabCloseClick(t){const{id:e}=t.detail;this.handleTabCloseEvent(e)}handleTabCloseEvent(t){var e,i;const s=this.tabsHash[this.getNormalizedTabId(t)];if(s&&!s.disabled&&("auto"===s.closable||"custom"===s.closable)){const s=this.tabsFilteredAsVisibleList.findIndex(e=>this.getNormalizedTabId(e.id)===this.getNormalizedTabId(t));this.tabsFilteredAsVisibleList=this.tabsFilteredAsVisibleList.filter(e=>this.getNormalizedTabId(e.id)!==this.getNormalizedTabId(t)),null===(i=null===(e=this.visibleTabsContainerElement)||void 0===e?void 0:e.querySelector("#"+t))||void 0===i||i.remove(),0!==this.tabsFilteredAsHiddenList.length&&(this.tabsFilteredAsVisibleList.push(this.tabsFilteredAsHiddenList[0]),this.tabsFilteredAsHiddenList.splice(0,1)),0===this.tabsFilteredAsHiddenList.length&&(this.isMoreTabMenuVisible=!1,this.isMoreTabMenuMeasured=!1),this.handleUpdatedSeletedTabAfterCross(s)}}handleUpdatedSeletedTabAfterCross(t){var e;let i=t;for(;i<this.tabsFilteredAsVisibleList.length&&(null===(e=this.tabsFilteredAsVisibleList[i])||void 0===e?void 0:e.disabled);)i++;if(void 0===this.tabsFilteredAsVisibleList[i]||t===this.tabsFilteredAsVisibleList.length)for(i=t-1;i>=0&&this.tabsFilteredAsVisibleList[i].disabled;)i--;if(-1!==i){const t=this.tabs.findIndex(t=>t.id===this.tabsFilteredAsVisibleList[i].id);this.updateSelectedTab(t)}else this.updateSelectedTab(i);this.noTabsVisible=0===this.tabsFilteredAsVisibleList.length&&0===this.tabsFilteredAsHiddenList.length,this.requestUpdate()}setSelectedAttribute(t,e,i=!1){e&&(e.selected=i),t&&(t.selected=i,i&&(this.isMoreTabMenuSelected=this.isTabInMoreMenu(t)),this.isTabInMoreMenu(t)&&(this.isMoreTabMenuSelected=!0))}isTabInMoreMenu(t){return void 0!==this.tabsFilteredAsHiddenList.find(e=>e.id===t.id)}updateSelectedTab(t,e=!0){const{tabs:i,panels:s}=this,o=this.tabs.findIndex(t=>t.hasAttribute("selected"));if(i&&s&&(this.setSelectedAttribute((0,r.Qx)(i,o),(0,r.Qx)(s,o),!1),this.setSelectedAttribute((0,r.Qx)(i,t),(0,r.Qx)(s,t),!0)),t>=0&&t<i.length){this.dispatchSelectedChangedEvent(t);const s=this.currentTabsLayout.findIndex(e=>e.id===i[t].id);this.changeSelectedTabIdx(s,e)}}dispatchSelectedChangedEvent(t){const e=this.currentTabsLayout,i=this.tabs[t].id;let s=e.findIndex(t=>t.id===i);-1===s&&(s=t);const o=[];e.forEach(t=>{o.push(t.name)}),this.dispatchEvent(new CustomEvent("selected-changed",{detail:{value:s,tabsOrder:o},composed:!0,bubbles:!0}))}changeSelectedTabIdx(t,e=!0){this.requestUpdate(),this.selected=t,this.updateComplete.then(()=>{var i,s;if(t<this.tabsFilteredAsVisibleList.length){if(e){const t=null===(i=this.visibleTabsContainerElement)||void 0===i?void 0:i.children[this.selected];null==t||t.focus()}}else{const t=this.selected-this.tabsFilteredAsVisibleList.length,i=null===(s=this.hiddenTabsContainerElement)||void 0===s?void 0:s.children[t];e&&this.moveFocusToTab(i);const o=this.tabsFilteredAsHiddenList[t];(null==o?void 0:o.disabled)||this.updateHiddenIdPositiveTabIndex(o)}}),this.updateIsMoreTabMenuSelected(),this.storeSelectedTabIndex(t)}storeSelectedTabIndex(t){this.persistSelection&&this.tabsId&&t>-1&&""!==this.tabsId.trim()&&sessionStorage.setItem(this.tabsId,`${t}`)}getCurrentIndex(t){var e,i,s;if(this.scrollArrow){const e=this.tabs.length;for(let i=0;i<e;i++)if(this.tabs[i].id===t)return i}const o=null!==(i=null===(e=this.visibleTabsContainerElement)||void 0===e?void 0:e.children.length)&&void 0!==i?i:0;for(let e=0;e<o;e++)if((null===(s=this.visibleTabsContainerElement)||void 0===s?void 0:s.children[e].id)===t)return e;return this.tabsVisibleIdxHash[t]}moveFocusToAdjacentTab(t,e){var i,s,o;const r=this.getCurrentIndex(t),a=this.slotItem.assignedElements();let n=0;if(this.scrollArrow){e===A?n=0===r?a.length-1:r-1:e===I&&(n=r===a.length-1?0:r+1),this.moveFocusToTab(a[n]);const t=a[n],s=t.getBoundingClientRect(),o=null===(i=this.tabsListElement)||void 0===i?void 0:i.getBoundingClientRect();return o&&(s.left>=o.left&&s.right<=o.right&&s.top>=o.top&&s.bottom<=o.bottom||t.scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"})),this.updateArrowsVisibility(),void(0,v.setTimeout)(()=>this.moveFocusToTab(a[n]),0)}const l=null===(s=this.visibleTabsContainerElement)||void 0===s?void 0:s.children,d=null!==(o=null==l?void 0:l.length)&&void 0!==o?o:0;l&&0!==d&&(e===A?n=0===r?d-1:r-1:e===I?n=r===d-1?0:r+1:e===L&&(n=this.selected>=d?0:this.selected),this.moveFocusToTab(l[n]))}moveFocusToTab(t){(0,v.setTimeout)(()=>null==t?void 0:t.focus(),0)}handleOverlayClose(){(0,v.setTimeout)(()=>{this.menuOverlayElement&&(this.menuOverlayElement.isOpen=!1)},0)}dispatchKeydownEvent(t,e){e&&this.dispatchEvent(new CustomEvent("tab-keydown",{detail:{id:e,key:t.code,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,srcEvent:t},bubbles:!0,composed:!0}))}handleTabKeydown(t){var e,i,o,r,a,n,l;const d=t.target;if(t.target!=this&&!this.tabs.find(t=>t.id===(null==d?void 0:d.id)))return!1;let h;if((null===(e=t.composedPath())||void 0===e?void 0:e.length)>0?h=t.composedPath()[0].id:t.originalTarget&&(h=t.originalTarget.id),!h)return;const c=this.getNormalizedTabId(h);this.dispatchKeydownEvent(t,c);const p=t.code,{shiftKey:u}=t,m=!!this.isMoreTabMenuVisible&&c===x,y=m&&this.isMoreTabMenuVisible?this.moreTabMenuElement:this.tabsHash[this.getNormalizedTabId(c)],b=!this.isMoreTabMenuVisible||y&&this.tabsVisibleIdxHash[y.id]>-1,v=!!this.isMoreTabMenuVisible&&y&&this.tabsHiddenIdxHash[y.id]>-1,g=this.isMoreTabMenuVisible?this.tabsFilteredAsVisibleList.length-1:this.tabs.length-1,f=this.isMoreTabMenuVisible?this.tabsFilteredAsVisibleList.length:-1,w=this.isMoreTabMenuVisible?this.tabsFilteredAsVisibleList.length+this.tabsFilteredAsHiddenList.length-1:-1;switch(p){case s.Uz.Tab:m&&!this.isMoreTabMenuOpen&&u&&(t.preventDefault(),this.moveFocusToAdjacentTab(h,L));break;case s.Uz.End:m||(b?(t.preventDefault(),this.moveFocusToTab(null===(i=this.visibleTabsContainerElement)||void 0===i?void 0:i.children[(null===(o=this.tabsFilteredAsVisibleList)||void 0===o?void 0:o.length)-1])):this.isMoreTabMenuOpen&&(t.preventDefault(),this.moveFocusToTab(null===(r=this.hiddenTabsContainerElement)||void 0===r?void 0:r.children[(null===(a=this.tabsFilteredAsHiddenList)||void 0===a?void 0:a.length)-1])));break;case s.Uz.Home:b?(t.preventDefault(),this.moveFocusToTab(null===(n=this.visibleTabsContainerElement)||void 0===n?void 0:n.children[0])):this.isMoreTabMenuOpen&&(t.preventDefault(),this.moveFocusToTab(null===(l=this.hiddenTabsContainerElement)||void 0===l?void 0:l.children[0]));break;case s.Uz.ArrowLeft:m||(b||this.scrollArrow)&&(t.stopPropagation(),this.moveFocusToAdjacentTab(h,this.isRtl?I:A));break;case s.Uz.ArrowRight:m||(b||this.scrollArrow)&&(t.stopPropagation(),this.moveFocusToAdjacentTab(h,this.isRtl?A:I));break;case s.Uz.ArrowUp:if(m);else if(b&&"vertical"===this.direction)t.preventDefault(),this.changeSelectedTabIdx(0===this.selected?g:this.selected-1);else if(v){t.preventDefault();const e=this.selected===f?w:this.selected-1;this.changeSelectedTabIdx(e)}break;case s.Uz.ArrowDown:if(m);else if(b&&"vertical"===this.direction)t.preventDefault(),this.changeSelectedTabIdx(this.selected===g?0:this.selected+1);else if(v){t.preventDefault();const e=this.selected===w?f:this.selected+1;this.changeSelectedTabIdx(e)}break;case s.Uz.Enter:case s.Uz.NumpadEnter:case s.Uz.Space:if(m){const t=this.tabsFilteredAsHiddenList.filter(t=>!t.disabled),e=t.length?t.find(t=>t.selected)||t[0]:void 0;if(this.updateHiddenIdPositiveTabIndex(e),e){const t=this.tabsIdxHash[this.getNormalizedTabId(e.id)];-1!==t&&this.updateSelectedTab(t)}}else if(y&&!y.disabled){const e=this.tabsIdxHash[this.getNormalizedTabId(y.id)];-1!==e&&(t.preventDefault(),this.updateSelectedTab(e))}}}setupTabsEvents(){this.addEventListener("tab-click",this.handleTabClick),this.addEventListener("tab-cross-click",this.handleTabCrossClick),this.addEventListener("tab-close-click",this.handleTabCloseClick),this.addEventListener("keydown",this.handleTabKeydown),this.addEventListener("clear-tab-order-prefs",this.clearTabOrderPrefs)}teardownTabsEvents(){this.removeEventListener("tab-click",this.handleTabClick),this.removeEventListener("tab-cross-click",this.handleTabCrossClick),this.removeEventListener("tab-close-click",this.handleTabCloseClick),this.removeEventListener("keydown",this.handleTabKeydown),this.removeEventListener("clear-tab-order-prefs",this.clearTabOrderPrefs)}clearTabOrderPrefs(t){const{compUniqueId:e}=t.detail;e===this.compUniqueId&&(localStorage.removeItem(this.tabsId),sessionStorage.removeItem(this.tabsId),localStorage.removeItem(this.compUniqueId),this.tabsOrderPrefsArray=this.defaultTabsOrderArray,this.selected=0,this.initializeTabs(),this.dispatchSelectedChangedEvent(0))}setupPanelsAndTabs(){this.tabSlotElement&&(this.tabs=this.tabSlotElement.assignedElements()),this.panelSlotElement&&(this.panels=this.panelSlotElement.assignedElements()),this.defaultTabsOrderArray=this.tabs.map(t=>t.name)}setupMoreTab(){return C(this,void 0,void 0,function*(){"vertical"!==this.direction&&this.moreTabMenuElement&&!this.isMoreTabMenuMeasured&&(this.moreTabMenuElement.classList.add("md-menu-overlay__more_tab--measuring"),yield this.moreTabMenuElement.updateComplete,this.moreTabMenuElement.offsetWidth&&(this.moreTabMenuOffsetWidth=this.moreTabMenuElement.offsetWidth,this.isMoreTabMenuMeasured=!0),this.moreTabMenuElement.classList.remove("md-menu-overlay__more_tab--measuring"))})}initializeSortable(){this.visibleTabsContainerElement&&this.hiddenTabsContainerElement&&(this.visibleTabsSortableInstance=b().create(this.visibleTabsContainerElement,this.generateOptions()),this.hiddenTabsSortableInstance=b().create(this.hiddenTabsContainerElement,this.generateOptions()))}initializeTabs(){this.tabs=[],this.panels=[],this.tabsFilteredAsVisibleList=[],this.tabsFilteredAsHiddenList=[],this.isMoreTabMenuVisible=!1,this.setupPanelsAndTabs(),this.linkPanelsAndTabs(),this.draggable&&this.initializeSortable(),this.manageOverflow()}connectedCallback(){var t;if(super.connectedCallback(),this.setupTabsEvents(),this.persistSelection){if(!this.tabsId||""===this.tabsId.trim())return void console.error("Unique tabs-id attribute is mandatory for persist the selection of tab");const t=localStorage.getItem(this.tabsId);this.selected=t&&parseInt(t)>-1?parseInt(t):this.selected}this.compUniqueId&&(this.tabsOrderPrefsArray=(null===(t=localStorage.getItem(this.compUniqueId))||void 0===t?void 0:t.split(","))||[])}selectTabFromStorage(){if(this.persistSelection){if(!this.tabsId||""===this.tabsId.trim())return void console.error("Unique tabs-id attribute is mandatory for persist the selection of tab");const t=sessionStorage.getItem(this.tabsId);let e=0;if(t){const i=parseInt(t);e=i>-1?i:this.selected}const i=this.currentTabsLayout;i.length&&i[e].id?(this._selectedIndex=e,this.handleNewSelectedTab(i[e].id,!1)):this.selected=e}}disconnectedCallback(){super.disconnectedCallback(),this.teardownTabsEvents()}firstUpdated(t){var e;super.firstUpdated(t),this.setupPanelsAndTabs(),this.linkPanelsAndTabs(),this.selectTabFromStorage(),this.scrollArrow&&(this.updateArrowsVisibility(),null===(e=this.tabsListElement)||void 0===e||e.addEventListener("scroll",this.updateArrowsVisibility))}onDirectionChanged(){return C(this,void 0,void 0,function*(){this.tabs=[],this.panels=[],this.tabsFilteredAsVisibleList=[],this.tabsFilteredAsHiddenList=[],this.isMoreTabMenuVisible=!1,this.setupPanelsAndTabs(),yield this.linkPanelsAndTabs(),this.draggable&&this.initializeSortable(),"horizontal"===this.direction&&(yield this.manageOverflow()),this.selectTabFromStorage(),this.scrollArrow&&this.updateArrowsVisibility()})}willUpdate(t){var e,i;if(null===(e=super.willUpdate)||void 0===e||e.call(this,t),t.has("selectedIndex")&&(this.selected=this.selectedIndex),t.has("tabsFilteredAsHiddenList")&&(this.tabsCopy=Array.from((null===(i=this.tabsCopyHiddenListElements)||void 0===i?void 0:i.values())||[]),this.tabsCopyHash=this.tabsCopy.reduce((t,e)=>(t[e.id]=e,t),{})),(t.has("tabsFilteredAsVisibleList")||t.has("tabsFilteredAsHiddenList"))&&(this.tabsVisibleIdxHash=this.tabsFilteredAsVisibleList.reduce((t,e,i)=>(t[e.id]=i,t),{}),this.tabsHiddenIdxHash=this.tabsFilteredAsHiddenList.reduce((t,e,i)=>(t[e.id]=i,t),{})),t.has("isMoreTabMenuOpen")&&this.isMoreTabMenuVisible){const e=t.get("isMoreTabMenuOpen");this.isMoreTabMenuOpen&&!e&&(this.moreItemsScrollLimit<this.tabsCopy.length?(this.isMoreTabMenuScrollable=!0,this.moreTabMenuMaxHeight=`${this.measureHiddenTabsCopiesOffsetHeight().slice(0,this.moreItemsScrollLimit).reduce((t,e)=>t+e,0)}px`):(this.isMoreTabMenuScrollable=!1,this.moreTabMenuMaxHeight=null))}}updated(t){super.updated(t),t.has("direction")&&t.get("direction")!==this.direction&&this.onDirectionChanged(),t.has("slotted")&&this.initializeTabs(),!this.draggable||this.visibleTabsSortableInstance||this.hiddenTabsSortableInstance||this.initializeSortable(),t.has("tabsId")&&this.selectTabFromStorage(),t.has("selectedIndex")&&this.updateSelectedTab(this.selectedIndex,!1),t.has("overflowLabel")&&this.updateIsMoreTabTruncated(),t.has("scrollArrow")&&this.onDirectionChanged()}scrollTabs(t){if(!this.tabsListElement||"vertical"===this.direction)return;const e="left"===t?-100:100;this.tabsListElement.scrollBy({left:e,behavior:"smooth"}),(0,v.setTimeout)(()=>this.updateArrowsVisibility(),300)}get moreMenuButtonTemplate(){return l.html`
1321
1321
  <md-tab
1322
1322
  slot="menu-trigger"
1323
1323
  id="${x}"
@@ -203,7 +203,7 @@ export declare namespace ComboBox {
203
203
  checkForVirtualScroll(): boolean;
204
204
  rangeChanged(): void;
205
205
  getCustomErrorContent(): DocumentFragment;
206
- getCustomContent(option: string | OptionMember): TemplateResult<1> | DocumentFragment;
206
+ getCustomContent(option: string | OptionMember): DocumentFragment | TemplateResult<1>;
207
207
  renderGroupLabelHeader(option: OptionMember, optionIndex: number): TemplateResult<1>;
208
208
  renderWithoutVirtualScroll(): unknown;
209
209
  highlightingSearchedText(option: OptionMember | string): TemplateResult<1>[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@momentum-ui/web-components",
3
- "version": "3.0.0-alpha.4",
3
+ "version": "3.0.0-alpha.6",
4
4
  "author": "Yana Harris",
5
5
  "license": "MIT",
6
6
  "repository": "https://github.com/momentum-design/momentum-ui.git",