@momentum-ui/web-components 2.13.17 → 2.13.18

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.
Files changed (37) hide show
  1. package/dist/chunks/md-14.js +1 -1
  2. package/dist/chunks/md-17.js +1 -1
  3. package/dist/chunks/md-23.js +1 -1
  4. package/dist/chunks/md-28.js +1 -1
  5. package/dist/chunks/md-29.js +53 -31
  6. package/dist/chunks/md-48.js +1 -1
  7. package/dist/chunks/md-51.js +1 -1
  8. package/dist/chunks/md-53.js +1 -1
  9. package/dist/chunks/md-64.js +1 -1
  10. package/dist/chunks/md-78.js +1 -1
  11. package/dist/chunks/md-81.js +1 -1
  12. package/dist/chunks/md-82.js +1 -1
  13. package/dist/chunks/md-84.js +1 -1
  14. package/dist/comp/md-alert-banner-entry.js +1 -1
  15. package/dist/comp/md-avatar-entry.js +1 -1
  16. package/dist/comp/md-breadcrumb-entry.js +1 -1
  17. package/dist/comp/md-card-entry.js +1 -1
  18. package/dist/comp/md-chat-message-entry.js +1 -1
  19. package/dist/comp/md-combobox-entry.js +1 -1
  20. package/dist/comp/md-date-range-picker-entry.js +1 -1
  21. package/dist/comp/md-date-time-picker-entry.js +1 -1
  22. package/dist/comp/md-datepicker-entry.js +1 -1
  23. package/dist/comp/md-dropdown-entry.js +1 -1
  24. package/dist/comp/md-editable-field-entry.js +1 -1
  25. package/dist/comp/md-input-entry.js +1 -1
  26. package/dist/comp/md-label-entry.js +1 -1
  27. package/dist/comp/md-loading-entry.js +1 -1
  28. package/dist/comp/md-meeting-alert-entry.js +1 -1
  29. package/dist/comp/md-phone-input-entry.js +1 -1
  30. package/dist/comp/md-slider-entry.js +1 -1
  31. package/dist/comp/md-table-entry.js +1 -1
  32. package/dist/comp/md-tabs-entry.js +1 -1
  33. package/dist/comp/md-timepicker-entry.js +1 -1
  34. package/dist/comp/md-toggle-switch-entry.js +1 -1
  35. package/dist/index-entry.js +1 -1
  36. package/dist/types/components/combobox/ComboBox.d.ts +23 -0
  37. package/package.json +3 -3
@@ -1,4 +1,4 @@
1
- (window["momentum-web-components-[id]"]=window["momentum-web-components-[id]"]||[]).push([[82],{101:function(e,t,i){"use strict";i.r(t),i.d(t,"MORE_MENU_TAB_COPY_ID_PREFIX",(function(){return y})),i.d(t,"Tabs",(function(){return g}));i(15),i(30);var s=i(1),a=i(7),n=i(5),l=i(0),d=i(4),o=i(14),r=i(8),b=i(70),h=i(22),c=i(31),u=i.n(c),p=i(64),m=i(39),v=i(45),T=function(e,t,i,s){var a,n=arguments.length,l=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,i,s);else for(var d=e.length-1;d>=0;d--)(a=e[d])&&(l=(n<3?a(l):n>3?a(t,i,l):a(t,i))||l);return n>3&&l&&Object.defineProperty(t,i,l),l},f=function(e,t,i,s){return new(i||(i=Promise))((function(a,n){function l(e){try{o(s.next(e))}catch(e){n(e)}}function d(e){try{o(s.throw(e))}catch(e){n(e)}}function o(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(l,d)}o((s=s.apply(e,t||[])).next())}))};const y="more-menu-copy-";var g;!function(e){let t=class extends(Object(a.c)(Object(a.d)(Object(a.e)(l.LitElement)))){constructor(){super(...arguments),this.justified=!1,this.overflowLabel="More Tabs",this.draggable=!1,this.direction="horizontal",this.moreItemsScrollLimit=Number.MAX_SAFE_INTEGER,this.delay=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.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.tabs=[],this.panels=[],this.tabsCopy=[],this.tabsHash={},this.tabsCopyHash={},this.tabsIdxHash={},this.tabsVisibleIdxHash={},this.tabsHiddenIdxHash={},this.visibleTabsSortableInstance=null,this.hiddenTabsSortableInstance=null,this.handleOnDragEnd=e=>f(this,void 0,void 0,(function*(){var t,i,s,a,n,l,d,o,r,b;e.stopPropagation();const h=e.oldIndex,c=e.newIndex,u=[...this.tabsFilteredAsVisibleList],p=[...this.tabsFilteredAsHiddenList],m=this.getDragDirection(e);if(void 0!==h&&void 0!==c){switch(m){case"visibleToHidden":{null===(i=null===(t=this.hiddenTabsContainerElement)||void 0===t?void 0:t.querySelector("#"+e.item.id))||void 0===i||i.remove();const s=u[h],a=p.slice(-1)[0],n=c===this.tabsFilteredAsHiddenList.length?c-1:c;p.splice(n,0,s),p.pop();const l=u.filter(t=>t.id!==this.getNormalizedTabId(e.item.id));l.push(a),this.tabsFilteredAsVisibleList=[...l],this.tabsFilteredAsHiddenList=[...p];break}case"visibleToVisible":{const e=u[h];u.splice(h,1),u.splice(c,0,e),this.tabsFilteredAsVisibleList=u,c===this.tabsFilteredAsVisibleList.length-1&&(null===(a=null===(s=this.visibleTabsContainerElement)||void 0===s?void 0:s.children[this.visibleTabsContainerElement.children.length-1])||void 0===a||a.remove());const t=this.visibleTabsContainerElement.children[h],i=this.visibleTabsContainerElement.children[c];if(!t||!i)return;null===(n=this.visibleTabsContainerElement)||void 0===n||n.replaceChild(i,t),null===(l=this.visibleTabsContainerElement)||void 0===l||l.insertBefore(t,i);break}case"hiddenToVisible":{null===(o=null===(d=this.visibleTabsContainerElement)||void 0===d?void 0:d.querySelector("#"+e.item.id))||void 0===o||o.remove();const t=p[h],i=u.slice(-1)[0];p.splice(h,1),p.splice(0,0,i);const s=c===this.tabsFilteredAsVisibleList.length?c-1:c;u.splice(s,0,t),u.pop(),this.tabsFilteredAsVisibleList=u,this.tabsFilteredAsHiddenList=p;break}case"hiddenToHidden":{const e=p[h];p.splice(h,1),p.splice(c,0,e),this.tabsFilteredAsHiddenList=p,c===this.tabsFilteredAsHiddenList.length-1&&(null===(b=null===(r=this.hiddenTabsContainerElement)||void 0===r?void 0:r.children[this.hiddenTabsContainerElement.children.length-1])||void 0===b||b.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(","))}}}))}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}}getCopyTabId(e){var t;return(null===(t=e.id)||void 0===t?void 0:t.startsWith(y))?`${y}${e.id}`:e.id}getAriaControlId(e){var t,i;if(null===(t=e.id)||void 0===t?void 0:t.startsWith(y))return`${y}${e.id}`;return"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(y,"")}static get styles(){return[n.a,m.a]}ensureTabsUpdateComplete(e){return f(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+v.TAB_CROSS_WIDTH:e.offsetWidth;return e.removeAttribute("measuringrealwidth"),t}):this.tabs.map(e=>e.closable?e.offsetWidth+v.TAB_CROSS_WIDTH:e.offsetWidth)}measureHiddenTabsCopiesOffsetHeight(){return this.tabsCopy.map(e=>e.offsetHeight)}manageOverflow(){var e,t;return f(this,void 0,void 0,(function*(){if("vertical"!==this.direction){let i;i=0===this.tabsFilteredAsVisibleList.length&&0===this.tabsFilteredAsHiddenList.length?[...this.tabs]:[...this.tabsFilteredAsVisibleList,...this.tabsFilteredAsHiddenList],i.forEach(e=>{var t,i,s,a,n;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===(a=null==e?void 0:e.querySelector("slot"))||void 0===a?void 0:a.assignedNodes({flatten:!0})[0].cloneNode(!0);t&&(t.classList.add("tab-content"),null===(n=null==e?void 0:e.children[0])||void 0===n||n.appendChild(t))}});const s=i.length;if(this.tabsListElement&&s){const a=(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 n=this.measureTabsOffsetWidth(),l=i.reduce((e,t,i)=>e+=n[i],0);if(l){yield this.setupMoreTab();let e=!0;a<l&&(e=!1);const t=[];let d=0;i.forEach((i,l)=>{d+=n[l];const o=!e&&d+(l<s-1?this.moreTabMenuOffsetWidth:0)>a;t.push({isTabInViewportHidden:o,tabOffsetWidth:n[l]})}),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 a=this.tabsFilteredAsHiddenList.find(e=>!e.disabled);this.updateHiddenIdPositiveTabIndex(a)}}))}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)=>{const i=e.getAttribute("name")||"",s=t.getAttribute("name")||"";return this.tabsOrderPrefsArray.indexOf(i)-this.tabsOrderPrefsArray.indexOf(s)};this.tabs.sort(e),this.panels.sort(e)}linkPanelsAndTabs(){return f(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}).`),e.forEach((e,i)=>{const s=Object(h.nanoid)(10),a="tab_"+s,n="tab_panel_"+s;e.setAttribute("id",a),e.setAttribute("aria-controls",n),e.selected=this.selected===i,"vertical"===this.direction&&(e.vertical=!0);const l=t[i];l?(l.setAttribute("id",n),l.setAttribute("aria-labelledby",a),l.selected=this.selected===i,e.disabled&&(l.hidden=!0,l.selected=!1)):e.disabled=!0});let i=this.selected;for(;i<e.length&&e[i].disabled;)i++;i=i===e.length?0:i,e[i].selected=!0,t[i].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){const t=Object.create(null,{handleResize:{get:()=>super.handleResize}});return f(this,void 0,void 0,(function*(){t.handleResize&&t.handleResize.call(this,e),yield this.manageOverflow()}))}getDragDirection(e){return e.from===this.visibleTabsContainerElement&&e.to===this.hiddenTabsContainerElement?"visibleToHidden":e.from===this.visibleTabsContainerElement&&e.to===this.visibleTabsContainerElement?"visibleToVisible":e.from===this.hiddenTabsContainerElement&&e.to===this.visibleTabsContainerElement?"hiddenToVisible":e.from===this.hiddenTabsContainerElement&&e.to===this.hiddenTabsContainerElement?"hiddenToHidden":void 0}makeTabCopyFocus(e){e&&e.focus()}handleTabClick(e){const{id:t}=e.detail;this.handleNewSelectedTab(t)}handleNewSelectedTab(e){const t=this.tabsHash[this.getNormalizedTabId(e)];if(t&&!t.disabled){const e=this.tabsIdxHash[t.id];-1!==e&&this.updateSelectedTab(e);{const e=this.tabsCopyHash[this.getCopyTabId(t)];e&&this.makeTabCopyFocus(e),this.updateHiddenIdPositiveTabIndex(t)}}}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()}updateSelectedTab(e){const{tabs:t,panels:i}=this,s=this.tabs.findIndex(e=>e.hasAttribute("selected"));if(t&&i&&[s,e].forEach(e=>{const s=t[e];s&&s.toggleAttribute("selected");const a=i[e];if(a&&a.toggleAttribute("selected"),s){const e=this.tabsCopyHash[this.getCopyTabId(s)];e?(e.toggleAttribute("selected"),this.isMoreTabMenuSelected=!0):this.isMoreTabMenuSelected=!1}}),e>=0){this.dispatchSelectedChangedEvent(e);const i=("horizontal"===this.direction?[...this.tabsFilteredAsVisibleList,...this.tabsFilteredAsHiddenList]:this.tabs).findIndex(i=>i.id===t[e].id);this.changeSelectedTabIdx(i)}}dispatchSelectedChangedEvent(e){const t=[...this.tabsFilteredAsVisibleList,...this.tabsFilteredAsHiddenList],i=this.tabs[e].id,s=t.findIndex(e=>e.id===i),a=[];t.forEach(e=>{a.push(e.name)}),this.dispatchEvent(new CustomEvent("selected-changed",{detail:{value:s,tabsOrder:a},composed:!0,bubbles:!0}))}changeSelectedTabIdx(e){this.requestUpdate(),this.selected=e,this.updateComplete.then(()=>{var t,i,s,a;if(e<this.tabsFilteredAsVisibleList.length)null===(i=null===(t=this.visibleTabsContainerElement)||void 0===t?void 0:t.children[this.selected])||void 0===i||i.focus();else{const e=this.selected-this.tabsFilteredAsVisibleList.length;null===(a=null===(s=this.hiddenTabsContainerElement)||void 0===s?void 0:s.children[e])||void 0===a||a.focus();const t=this.tabsFilteredAsHiddenList[e];!(null==t?void 0:t.disabled)&&this.updateHiddenIdPositiveTabIndex(t)}}),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;const s=(null===(t=this.visibleTabsContainerElement)||void 0===t?void 0:t.children.length)||0;for(let t=0;t<s;t++)if((null===(i=this.visibleTabsContainerElement)||void 0===i?void 0:i.children[t].id)===e)return t;return this.tabsVisibleIdxHash[e]}moveFocusToAdjacentTab(e,t){var i;const s=this.getCurrentIndex(e),a=null===(i=this.visibleTabsContainerElement)||void 0===i?void 0:i.children,n=(null==a?void 0:a.length)||0;if(!a||0===n)return;let l=0;"previous"===t?l=0===s?n-1:s-1:"next"===t?l=s===n-1?0:s+1:"fromMoreTabs"===t&&(l=this.selected>=n?0:this.selected),this.moveFocusToTab(a[l])}moveFocusToTab(e){Object(p.setTimeout)(()=>null==e?void 0:e.focus(),0)}handleOverlayClose(){this.menuOverlayElement&&(this.menuOverlayElement.isOpen=!1)}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,a,n,l,d;let o;if(e.target!=this&&!this.tabs.find(t=>t.id===e.target.id))return!1;o=e.path?e.path[0].id:e.composedPath()?e.composedPath()[0].id:e.originalTarget.id;const r=this.getNormalizedTabId(o);this.dispatchKeydownEvent(e,r);const b=e.code,{shiftKey:h}=e,c=!!this.isMoreTabMenuVisible&&"tab-more"===r,u=c&&this.isMoreTabMenuVisible?this.moreTabMenuElement:this.tabsHash[this.getNormalizedTabId(r)],p=!this.isMoreTabMenuVisible||u&&this.tabsVisibleIdxHash[u.id]>-1,m=!!this.isMoreTabMenuVisible&&(u&&this.tabsHiddenIdxHash[u.id]>-1),v=this.isMoreTabMenuVisible?this.tabsFilteredAsVisibleList.length-1:this.tabs.length-1,T=this.isMoreTabMenuVisible?this.tabsFilteredAsVisibleList.length:-1,f=this.isMoreTabMenuVisible?this.tabsFilteredAsVisibleList.length+this.tabsFilteredAsHiddenList.length-1:-1;switch(b){case s.b.Tab:c&&!this.isMoreTabMenuOpen&&h&&(e.preventDefault(),this.moveFocusToAdjacentTab(o,"fromMoreTabs"));break;case s.b.End:c||(p?(e.preventDefault(),this.moveFocusToTab(null===(t=this.visibleTabsContainerElement)||void 0===t?void 0:t.children[(null===(i=this.tabsFilteredAsVisibleList)||void 0===i?void 0:i.length)-1])):this.isMoreTabMenuOpen&&(e.preventDefault(),this.moveFocusToTab(null===(a=this.hiddenTabsContainerElement)||void 0===a?void 0:a.children[(null===(n=this.tabsFilteredAsHiddenList)||void 0===n?void 0:n.length)-1])));break;case s.b.Home:p?(e.preventDefault(),this.moveFocusToTab(null===(l=this.visibleTabsContainerElement)||void 0===l?void 0:l.children[0])):this.isMoreTabMenuOpen&&(e.preventDefault(),this.moveFocusToTab(null===(d=this.hiddenTabsContainerElement)||void 0===d?void 0:d.children[0]));break;case s.b.ArrowLeft:c||p&&(e.stopPropagation(),this.moveFocusToAdjacentTab(o,"previous"));break;case s.b.ArrowRight:c||p&&(e.stopPropagation(),this.moveFocusToAdjacentTab(o,"next"));break;case s.b.ArrowUp:if(c);else if(p&&"vertical"===this.direction)e.preventDefault(),this.changeSelectedTabIdx(0===this.selected?v:this.selected-1);else if(m){e.preventDefault();const t=this.selected===T?f:this.selected-1;this.changeSelectedTabIdx(t)}break;case s.b.ArrowDown:if(c);else if(p&&"vertical"===this.direction)e.preventDefault(),this.changeSelectedTabIdx(this.selected===v?0:this.selected+1);else if(m){e.preventDefault();const t=this.selected===f?T:this.selected+1;this.changeSelectedTabIdx(t)}break;case s.b.Enter:case s.b.NumpadEnter:case s.b.Space:if(c){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(u&&!u.disabled){const t=this.tabsIdxHash[this.getNormalizedTabId(u.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 f(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=u.a.create(this.visibleTabsContainerElement,this.generateOptions()),this.hiddenTabsSortableInstance=u.a.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(),this.requestUpdate()}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.tabsFilteredAsVisibleList,...this.tabsFilteredAsHiddenList];i.length&&i[t].id?this.handleNewSelectedTab(i[t].id):this.selected=t}}disconnectedCallback(){super.disconnectedCallback(),this.teardownTabsEvents()}firstUpdated(e){super.firstUpdated(e),this.setupPanelsAndTabs(),this.linkPanelsAndTabs(),this.selectTabFromStorage()}updated(e){var t;if(super.updated(e),e.has("slotted")&&this.initializeTabs(),!this.draggable||this.visibleTabsSortableInstance||this.hiddenTabsSortableInstance||this.initializeSortable(),e.has("tabsFilteredAsHiddenList")&&(this.tabsCopy=Array.from((null===(t=this.tabsCopyHiddenListElements)||void 0===t?void 0:t.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))}e.has("tabsId")&&this.selectTabFromStorage()}render(){return l.html`
1
+ (window["momentum-web-components-[id]"]=window["momentum-web-components-[id]"]||[]).push([[82],{101:function(e,t,i){"use strict";i.r(t),i.d(t,"MORE_MENU_TAB_COPY_ID_PREFIX",(function(){return y})),i.d(t,"Tabs",(function(){return g}));i(15),i(30);var s=i(1),a=i(7),n=i(5),l=i(0),d=i(4),o=i(13),r=i(8),b=i(70),h=i(22),c=i(31),u=i.n(c),p=i(64),m=i(39),v=i(45),T=function(e,t,i,s){var a,n=arguments.length,l=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,i,s);else for(var d=e.length-1;d>=0;d--)(a=e[d])&&(l=(n<3?a(l):n>3?a(t,i,l):a(t,i))||l);return n>3&&l&&Object.defineProperty(t,i,l),l},f=function(e,t,i,s){return new(i||(i=Promise))((function(a,n){function l(e){try{o(s.next(e))}catch(e){n(e)}}function d(e){try{o(s.throw(e))}catch(e){n(e)}}function o(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(l,d)}o((s=s.apply(e,t||[])).next())}))};const y="more-menu-copy-";var g;!function(e){let t=class extends(Object(a.c)(Object(a.d)(Object(a.e)(l.LitElement)))){constructor(){super(...arguments),this.justified=!1,this.overflowLabel="More Tabs",this.draggable=!1,this.direction="horizontal",this.moreItemsScrollLimit=Number.MAX_SAFE_INTEGER,this.delay=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.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.tabs=[],this.panels=[],this.tabsCopy=[],this.tabsHash={},this.tabsCopyHash={},this.tabsIdxHash={},this.tabsVisibleIdxHash={},this.tabsHiddenIdxHash={},this.visibleTabsSortableInstance=null,this.hiddenTabsSortableInstance=null,this.handleOnDragEnd=e=>f(this,void 0,void 0,(function*(){var t,i,s,a,n,l,d,o,r,b;e.stopPropagation();const h=e.oldIndex,c=e.newIndex,u=[...this.tabsFilteredAsVisibleList],p=[...this.tabsFilteredAsHiddenList],m=this.getDragDirection(e);if(void 0!==h&&void 0!==c){switch(m){case"visibleToHidden":{null===(i=null===(t=this.hiddenTabsContainerElement)||void 0===t?void 0:t.querySelector("#"+e.item.id))||void 0===i||i.remove();const s=u[h],a=p.slice(-1)[0],n=c===this.tabsFilteredAsHiddenList.length?c-1:c;p.splice(n,0,s),p.pop();const l=u.filter(t=>t.id!==this.getNormalizedTabId(e.item.id));l.push(a),this.tabsFilteredAsVisibleList=[...l],this.tabsFilteredAsHiddenList=[...p];break}case"visibleToVisible":{const e=u[h];u.splice(h,1),u.splice(c,0,e),this.tabsFilteredAsVisibleList=u,c===this.tabsFilteredAsVisibleList.length-1&&(null===(a=null===(s=this.visibleTabsContainerElement)||void 0===s?void 0:s.children[this.visibleTabsContainerElement.children.length-1])||void 0===a||a.remove());const t=this.visibleTabsContainerElement.children[h],i=this.visibleTabsContainerElement.children[c];if(!t||!i)return;null===(n=this.visibleTabsContainerElement)||void 0===n||n.replaceChild(i,t),null===(l=this.visibleTabsContainerElement)||void 0===l||l.insertBefore(t,i);break}case"hiddenToVisible":{null===(o=null===(d=this.visibleTabsContainerElement)||void 0===d?void 0:d.querySelector("#"+e.item.id))||void 0===o||o.remove();const t=p[h],i=u.slice(-1)[0];p.splice(h,1),p.splice(0,0,i);const s=c===this.tabsFilteredAsVisibleList.length?c-1:c;u.splice(s,0,t),u.pop(),this.tabsFilteredAsVisibleList=u,this.tabsFilteredAsHiddenList=p;break}case"hiddenToHidden":{const e=p[h];p.splice(h,1),p.splice(c,0,e),this.tabsFilteredAsHiddenList=p,c===this.tabsFilteredAsHiddenList.length-1&&(null===(b=null===(r=this.hiddenTabsContainerElement)||void 0===r?void 0:r.children[this.hiddenTabsContainerElement.children.length-1])||void 0===b||b.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(","))}}}))}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}}getCopyTabId(e){var t;return(null===(t=e.id)||void 0===t?void 0:t.startsWith(y))?`${y}${e.id}`:e.id}getAriaControlId(e){var t,i;if(null===(t=e.id)||void 0===t?void 0:t.startsWith(y))return`${y}${e.id}`;return"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(y,"")}static get styles(){return[n.a,m.a]}ensureTabsUpdateComplete(e){return f(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+v.TAB_CROSS_WIDTH:e.offsetWidth;return e.removeAttribute("measuringrealwidth"),t}):this.tabs.map(e=>e.closable?e.offsetWidth+v.TAB_CROSS_WIDTH:e.offsetWidth)}measureHiddenTabsCopiesOffsetHeight(){return this.tabsCopy.map(e=>e.offsetHeight)}manageOverflow(){var e,t;return f(this,void 0,void 0,(function*(){if("vertical"!==this.direction){let i;i=0===this.tabsFilteredAsVisibleList.length&&0===this.tabsFilteredAsHiddenList.length?[...this.tabs]:[...this.tabsFilteredAsVisibleList,...this.tabsFilteredAsHiddenList],i.forEach(e=>{var t,i,s,a,n;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===(a=null==e?void 0:e.querySelector("slot"))||void 0===a?void 0:a.assignedNodes({flatten:!0})[0].cloneNode(!0);t&&(t.classList.add("tab-content"),null===(n=null==e?void 0:e.children[0])||void 0===n||n.appendChild(t))}});const s=i.length;if(this.tabsListElement&&s){const a=(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 n=this.measureTabsOffsetWidth(),l=i.reduce((e,t,i)=>e+=n[i],0);if(l){yield this.setupMoreTab();let e=!0;a<l&&(e=!1);const t=[];let d=0;i.forEach((i,l)=>{d+=n[l];const o=!e&&d+(l<s-1?this.moreTabMenuOffsetWidth:0)>a;t.push({isTabInViewportHidden:o,tabOffsetWidth:n[l]})}),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 a=this.tabsFilteredAsHiddenList.find(e=>!e.disabled);this.updateHiddenIdPositiveTabIndex(a)}}))}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)=>{const i=e.getAttribute("name")||"",s=t.getAttribute("name")||"";return this.tabsOrderPrefsArray.indexOf(i)-this.tabsOrderPrefsArray.indexOf(s)};this.tabs.sort(e),this.panels.sort(e)}linkPanelsAndTabs(){return f(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}).`),e.forEach((e,i)=>{const s=Object(h.nanoid)(10),a="tab_"+s,n="tab_panel_"+s;e.setAttribute("id",a),e.setAttribute("aria-controls",n),e.selected=this.selected===i,"vertical"===this.direction&&(e.vertical=!0);const l=t[i];l?(l.setAttribute("id",n),l.setAttribute("aria-labelledby",a),l.selected=this.selected===i,e.disabled&&(l.hidden=!0,l.selected=!1)):e.disabled=!0});let i=this.selected;for(;i<e.length&&e[i].disabled;)i++;i=i===e.length?0:i,e[i].selected=!0,t[i].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){const t=Object.create(null,{handleResize:{get:()=>super.handleResize}});return f(this,void 0,void 0,(function*(){t.handleResize&&t.handleResize.call(this,e),yield this.manageOverflow()}))}getDragDirection(e){return e.from===this.visibleTabsContainerElement&&e.to===this.hiddenTabsContainerElement?"visibleToHidden":e.from===this.visibleTabsContainerElement&&e.to===this.visibleTabsContainerElement?"visibleToVisible":e.from===this.hiddenTabsContainerElement&&e.to===this.visibleTabsContainerElement?"hiddenToVisible":e.from===this.hiddenTabsContainerElement&&e.to===this.hiddenTabsContainerElement?"hiddenToHidden":void 0}makeTabCopyFocus(e){e&&e.focus()}handleTabClick(e){const{id:t}=e.detail;this.handleNewSelectedTab(t)}handleNewSelectedTab(e){const t=this.tabsHash[this.getNormalizedTabId(e)];if(t&&!t.disabled){const e=this.tabsIdxHash[t.id];-1!==e&&this.updateSelectedTab(e);{const e=this.tabsCopyHash[this.getCopyTabId(t)];e&&this.makeTabCopyFocus(e),this.updateHiddenIdPositiveTabIndex(t)}}}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()}updateSelectedTab(e){const{tabs:t,panels:i}=this,s=this.tabs.findIndex(e=>e.hasAttribute("selected"));if(t&&i&&[s,e].forEach(e=>{const s=t[e];s&&s.toggleAttribute("selected");const a=i[e];if(a&&a.toggleAttribute("selected"),s){const e=this.tabsCopyHash[this.getCopyTabId(s)];e?(e.toggleAttribute("selected"),this.isMoreTabMenuSelected=!0):this.isMoreTabMenuSelected=!1}}),e>=0){this.dispatchSelectedChangedEvent(e);const i=("horizontal"===this.direction?[...this.tabsFilteredAsVisibleList,...this.tabsFilteredAsHiddenList]:this.tabs).findIndex(i=>i.id===t[e].id);this.changeSelectedTabIdx(i)}}dispatchSelectedChangedEvent(e){const t=[...this.tabsFilteredAsVisibleList,...this.tabsFilteredAsHiddenList],i=this.tabs[e].id,s=t.findIndex(e=>e.id===i),a=[];t.forEach(e=>{a.push(e.name)}),this.dispatchEvent(new CustomEvent("selected-changed",{detail:{value:s,tabsOrder:a},composed:!0,bubbles:!0}))}changeSelectedTabIdx(e){this.requestUpdate(),this.selected=e,this.updateComplete.then(()=>{var t,i,s,a;if(e<this.tabsFilteredAsVisibleList.length)null===(i=null===(t=this.visibleTabsContainerElement)||void 0===t?void 0:t.children[this.selected])||void 0===i||i.focus();else{const e=this.selected-this.tabsFilteredAsVisibleList.length;null===(a=null===(s=this.hiddenTabsContainerElement)||void 0===s?void 0:s.children[e])||void 0===a||a.focus();const t=this.tabsFilteredAsHiddenList[e];!(null==t?void 0:t.disabled)&&this.updateHiddenIdPositiveTabIndex(t)}}),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;const s=(null===(t=this.visibleTabsContainerElement)||void 0===t?void 0:t.children.length)||0;for(let t=0;t<s;t++)if((null===(i=this.visibleTabsContainerElement)||void 0===i?void 0:i.children[t].id)===e)return t;return this.tabsVisibleIdxHash[e]}moveFocusToAdjacentTab(e,t){var i;const s=this.getCurrentIndex(e),a=null===(i=this.visibleTabsContainerElement)||void 0===i?void 0:i.children,n=(null==a?void 0:a.length)||0;if(!a||0===n)return;let l=0;"previous"===t?l=0===s?n-1:s-1:"next"===t?l=s===n-1?0:s+1:"fromMoreTabs"===t&&(l=this.selected>=n?0:this.selected),this.moveFocusToTab(a[l])}moveFocusToTab(e){Object(p.setTimeout)(()=>null==e?void 0:e.focus(),0)}handleOverlayClose(){this.menuOverlayElement&&(this.menuOverlayElement.isOpen=!1)}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,a,n,l,d;let o;if(e.target!=this&&!this.tabs.find(t=>t.id===e.target.id))return!1;o=e.path?e.path[0].id:e.composedPath()?e.composedPath()[0].id:e.originalTarget.id;const r=this.getNormalizedTabId(o);this.dispatchKeydownEvent(e,r);const b=e.code,{shiftKey:h}=e,c=!!this.isMoreTabMenuVisible&&"tab-more"===r,u=c&&this.isMoreTabMenuVisible?this.moreTabMenuElement:this.tabsHash[this.getNormalizedTabId(r)],p=!this.isMoreTabMenuVisible||u&&this.tabsVisibleIdxHash[u.id]>-1,m=!!this.isMoreTabMenuVisible&&(u&&this.tabsHiddenIdxHash[u.id]>-1),v=this.isMoreTabMenuVisible?this.tabsFilteredAsVisibleList.length-1:this.tabs.length-1,T=this.isMoreTabMenuVisible?this.tabsFilteredAsVisibleList.length:-1,f=this.isMoreTabMenuVisible?this.tabsFilteredAsVisibleList.length+this.tabsFilteredAsHiddenList.length-1:-1;switch(b){case s.b.Tab:c&&!this.isMoreTabMenuOpen&&h&&(e.preventDefault(),this.moveFocusToAdjacentTab(o,"fromMoreTabs"));break;case s.b.End:c||(p?(e.preventDefault(),this.moveFocusToTab(null===(t=this.visibleTabsContainerElement)||void 0===t?void 0:t.children[(null===(i=this.tabsFilteredAsVisibleList)||void 0===i?void 0:i.length)-1])):this.isMoreTabMenuOpen&&(e.preventDefault(),this.moveFocusToTab(null===(a=this.hiddenTabsContainerElement)||void 0===a?void 0:a.children[(null===(n=this.tabsFilteredAsHiddenList)||void 0===n?void 0:n.length)-1])));break;case s.b.Home:p?(e.preventDefault(),this.moveFocusToTab(null===(l=this.visibleTabsContainerElement)||void 0===l?void 0:l.children[0])):this.isMoreTabMenuOpen&&(e.preventDefault(),this.moveFocusToTab(null===(d=this.hiddenTabsContainerElement)||void 0===d?void 0:d.children[0]));break;case s.b.ArrowLeft:c||p&&(e.stopPropagation(),this.moveFocusToAdjacentTab(o,"previous"));break;case s.b.ArrowRight:c||p&&(e.stopPropagation(),this.moveFocusToAdjacentTab(o,"next"));break;case s.b.ArrowUp:if(c);else if(p&&"vertical"===this.direction)e.preventDefault(),this.changeSelectedTabIdx(0===this.selected?v:this.selected-1);else if(m){e.preventDefault();const t=this.selected===T?f:this.selected-1;this.changeSelectedTabIdx(t)}break;case s.b.ArrowDown:if(c);else if(p&&"vertical"===this.direction)e.preventDefault(),this.changeSelectedTabIdx(this.selected===v?0:this.selected+1);else if(m){e.preventDefault();const t=this.selected===f?T:this.selected+1;this.changeSelectedTabIdx(t)}break;case s.b.Enter:case s.b.NumpadEnter:case s.b.Space:if(c){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(u&&!u.disabled){const t=this.tabsIdxHash[this.getNormalizedTabId(u.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 f(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=u.a.create(this.visibleTabsContainerElement,this.generateOptions()),this.hiddenTabsSortableInstance=u.a.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(),this.requestUpdate()}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.tabsFilteredAsVisibleList,...this.tabsFilteredAsHiddenList];i.length&&i[t].id?this.handleNewSelectedTab(i[t].id):this.selected=t}}disconnectedCallback(){super.disconnectedCallback(),this.teardownTabsEvents()}firstUpdated(e){super.firstUpdated(e),this.setupPanelsAndTabs(),this.linkPanelsAndTabs(),this.selectTabFromStorage()}updated(e){var t;if(super.updated(e),e.has("slotted")&&this.initializeTabs(),!this.draggable||this.visibleTabsSortableInstance||this.hiddenTabsSortableInstance||this.initializeSortable(),e.has("tabsFilteredAsHiddenList")&&(this.tabsCopy=Array.from((null===(t=this.tabsCopyHiddenListElements)||void 0===t?void 0:t.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))}e.has("tabsId")&&this.selectTabFromStorage()}render(){return l.html`
2
2
  <div
3
3
  part="tabs-list"
4
4
  class="md-tab__list ${Object(d.classMap)({"md-tab__justified":this.justified&&!this.isMoreTabMenuVisible,"no-tabs-visible":this.noTabsVisible,"vertical-tab-list":"vertical"===this.direction,"tab-new-momentum":this.newMomentum})}"