@momentum-ui/web-components 2.7.48 → 2.7.50

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.
@@ -1,18 +1,18 @@
1
- (window["momentum-web-components-[id]"]=window["momentum-web-components-[id]"]||[]).push([[80],{99:function(e,t,i){"use strict";i.r(t),i.d(t,"MORE_MENU_TAB_COPY_ID_PREFIX",(function(){return f})),i.d(t,"Tabs",(function(){return y}));i(15),i(32);var s=i(1),a=i(7),d=i(4),l=i(0),n=i(3),r=i(14),o=i(9),b=i(65),h=i(22),c=i(30),p=i.n(c),u=i(37),m=i(41),v=function(e,t,i,s){var a,d=arguments.length,l=d<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 n=e.length-1;n>=0;n--)(a=e[n])&&(l=(d<3?a(l):d>3?a(t,i,l):a(t,i))||l);return d>3&&l&&Object.defineProperty(t,i,l),l},T=function(e,t,i,s){return new(i||(i=Promise))((function(a,d){function l(e){try{r(s.next(e))}catch(e){d(e)}}function n(e){try{r(s.throw(e))}catch(e){d(e)}}function r(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(l,n)}r((s=s.apply(e,t||[])).next())}))};const f="more-menu-copy-";var y;!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.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=>T(this,void 0,void 0,(function*(){var t,i,s,a,d,l,n,r;e.stopPropagation();const o=e.oldIndex,b=e.newIndex,h=[...this.tabsFilteredAsVisibleList],c=[...this.tabsFilteredAsHiddenList],p=this.getDragDirection(e);if(void 0!==o&&void 0!==b){switch(p){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=h[o],a=c.slice(-1)[0],d=b===this.tabsFilteredAsHiddenList.length?b-1:b;c.splice(d,0,s),c.pop();const l=h.filter(t=>t.id!==this.getNormalizedTabId(e.item.id));l.push(a),this.tabsFilteredAsVisibleList=[...l],this.tabsFilteredAsHiddenList=[...c];break}case"visibleToVisible":{const e=h[o];h.splice(o,1),h.splice(b,0,e),this.tabsFilteredAsVisibleList=h,b===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());break}case"hiddenToVisible":{null===(l=null===(d=this.visibleTabsContainerElement)||void 0===d?void 0:d.querySelector("#"+e.item.id))||void 0===l||l.remove();const t=c[o],i=h.slice(-1)[0];c.splice(o,1),c.splice(0,0,i);const s=b===this.tabsFilteredAsVisibleList.length?b-1:b;h.splice(s,0,t),h.pop(),this.tabsFilteredAsVisibleList=h,this.tabsFilteredAsHiddenList=c;break}case"hiddenToHidden":{const e=c[o];c.splice(o,1),c.splice(b,0,e),this.tabsFilteredAsHiddenList=c,b===this.tabsFilteredAsHiddenList.length-1&&(null===(r=null===(n=this.hiddenTabsContainerElement)||void 0===n?void 0:n.children[this.hiddenTabsContainerElement.children.length-1])||void 0===r||r.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(f))?`${f}${e.id}`:e.id}getNormalizedTabId(e){return e.replace(f,"")}static get styles(){return[d.a,u.a]}ensureTabsUpdateComplete(e){return T(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,t)=>{e.setAttribute("measuringrealwidth","");const i=e.closable?e.offsetWidth+m.TAB_CROSS_WIDTH:e.offsetWidth;return e.removeAttribute("measuringrealwidth"),i}):this.tabs.map((e,t)=>e.closable?e.offsetWidth+m.TAB_CROSS_WIDTH:e.offsetWidth)}measureHiddenTabsCopiesOffsetHeight(){return this.tabsCopy.map((e,t)=>e.offsetHeight)}manageOverflow(){var e,t;return T(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,d;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===(d=null==e?void 0:e.children[0])||void 0===d||d.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 d=this.measureTabsOffsetWidth(),l=i.reduce((e,t,i)=>e+=d[i],0);if(l){yield this.setupMoreTab();let e=!0;a<l&&(e=!1);const t=[];let n=0;i.forEach((i,l)=>{n+=d[l];const r=!e&&n+(l<s-1?this.moreTabMenuOffsetWidth:0)>a;t.push({isTabInViewportHidden:r,tabOffsetWidth:d[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 T(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="tab_"+Object(h.nanoid)(10);e.setAttribute("id",s),e.setAttribute("aria-controls",s),e.selected=this.selected===i,"vertical"===this.direction&&(e.vertical=!0);const a=t[i];a?(a.setAttribute("id",s),a.setAttribute("aria-labelledby",s),a.selected=this.selected===i,e.disabled&&(a.hidden=!0,a.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 T(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){var t,i;const{id:s}=e.detail,a=this.tabsHash[this.getNormalizedTabId(s)];if(a&&!a.disabled&&"auto"===a.closable){const e=this.tabsFilteredAsVisibleList.findIndex(e=>this.getNormalizedTabId(e.id)===this.getNormalizedTabId(s));this.tabsFilteredAsVisibleList=this.tabsFilteredAsVisibleList.filter(e=>this.getNormalizedTabId(e.id)!==this.getNormalizedTabId(s)),null===(i=null===(t=this.visibleTabsContainerElement)||void 0===t?void 0:t.querySelector("#"+s))||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(e)}}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=[...this.tabsFilteredAsVisibleList,...this.tabsFilteredAsHiddenList].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)}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){let t;t=e.path?e.path[0].id:e.composedPath()?e.composedPath()[0].id:e.originalTarget.id;const i=this.getNormalizedTabId(t);this.dispatchKeydownEvent(e,i);const a=e.code,{shiftKey:d}=e,l=!!this.isMoreTabMenuVisible&&"tab-more"===i,n=l&&this.isMoreTabMenuVisible?this.moreTabMenuElement:this.tabsHash[this.getNormalizedTabId(i)],r=!this.isMoreTabMenuVisible||n&&this.tabsVisibleIdxHash[n.id]>-1,o=!!this.isMoreTabMenuVisible&&(n&&this.tabsHiddenIdxHash[n.id]>-1),b=this.isMoreTabMenuVisible?this.tabsFilteredAsVisibleList.length-1:this.tabs.length-1,h=this.isMoreTabMenuVisible?this.tabsFilteredAsVisibleList.length:-1,c=this.isMoreTabMenuVisible?this.tabsFilteredAsVisibleList.length+this.tabsFilteredAsHiddenList.length-1:-1;switch(a){case s.b.Tab:l&&!this.isMoreTabMenuOpen&&d&&(e.preventDefault(),this.changeSelectedTabIdx(b));break;case s.b.End:l||(r?this.changeSelectedTabIdx(b):o&&this.changeSelectedTabIdx(c));break;case s.b.Home:l||r?this.changeSelectedTabIdx(0):o&&this.changeSelectedTabIdx(h);break;case s.b.ArrowLeft:l||r&&(e.stopPropagation(),this.changeSelectedTabIdx(0===this.selected?b:this.selected-1));break;case s.b.ArrowRight:l||r&&(e.stopPropagation(),this.changeSelectedTabIdx(this.selected===b?0:this.selected+1));break;case s.b.ArrowUp:if(l);else if(r&&"vertical"===this.direction)e.preventDefault(),this.changeSelectedTabIdx(0===this.selected?b:this.selected-1);else if(o){e.preventDefault();const t=this.selected===h?c:this.selected-1;this.changeSelectedTabIdx(t)}break;case s.b.ArrowDown:if(l);else if(r&&"vertical"===this.direction)e.preventDefault(),this.changeSelectedTabIdx(this.selected===b?0:this.selected+1);else if(o){e.preventDefault();const t=this.selected===c?h:this.selected+1;this.changeSelectedTabIdx(t)}break;case s.b.Enter:case s.b.Space:if(l){const e=this.tabsFilteredAsHiddenList.filter(e=>!e.disabled),t=e.find(e=>e.selected)||e.length?e[0]:void 0;if(this.updateHiddenIdPositiveTabIndex(t),t){const e=this.tabsIdxHash[this.getNormalizedTabId(t.id)];-1!==e&&this.updateSelectedTab(e)}}else if(n&&!n.disabled){const e=this.tabsIdxHash[this.getNormalizedTabId(n.id)];-1!==e&&this.updateSelectedTab(e)}}}setupTabsEvents(){this.addEventListener("tab-click",this.handleTabClick),this.addEventListener("tab-cross-click",this.handleTabCrossClick),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("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 T(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=p.a.create(this.visibleTabsContainerElement,this.generateOptions()),this.hiddenTabsSortableInstance=p.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([[80],{99:function(e,t,i){"use strict";i.r(t),i.d(t,"MORE_MENU_TAB_COPY_ID_PREFIX",(function(){return f})),i.d(t,"Tabs",(function(){return y}));i(15),i(32);var s=i(1),a=i(7),d=i(4),n=i(0),l=i(3),r=i(14),o=i(9),b=i(65),h=i(22),c=i(30),p=i.n(c),u=i(37),m=i(41),v=function(e,t,i,s){var a,d=arguments.length,n=d<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,s);else for(var l=e.length-1;l>=0;l--)(a=e[l])&&(n=(d<3?a(n):d>3?a(t,i,n):a(t,i))||n);return d>3&&n&&Object.defineProperty(t,i,n),n},T=function(e,t,i,s){return new(i||(i=Promise))((function(a,d){function n(e){try{r(s.next(e))}catch(e){d(e)}}function l(e){try{r(s.throw(e))}catch(e){d(e)}}function r(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,l)}r((s=s.apply(e,t||[])).next())}))};const f="more-menu-copy-";var y;!function(e){let t=class extends(Object(a.c)(Object(a.d)(Object(a.e)(n.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.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=>T(this,void 0,void 0,(function*(){var t,i,s,a,d,n,l,r;e.stopPropagation();const o=e.oldIndex,b=e.newIndex,h=[...this.tabsFilteredAsVisibleList],c=[...this.tabsFilteredAsHiddenList],p=this.getDragDirection(e);if(void 0!==o&&void 0!==b){switch(p){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=h[o],a=c.slice(-1)[0],d=b===this.tabsFilteredAsHiddenList.length?b-1:b;c.splice(d,0,s),c.pop();const n=h.filter(t=>t.id!==this.getNormalizedTabId(e.item.id));n.push(a),this.tabsFilteredAsVisibleList=[...n],this.tabsFilteredAsHiddenList=[...c];break}case"visibleToVisible":{const e=h[o];h.splice(o,1),h.splice(b,0,e),this.tabsFilteredAsVisibleList=h,b===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());break}case"hiddenToVisible":{null===(n=null===(d=this.visibleTabsContainerElement)||void 0===d?void 0:d.querySelector("#"+e.item.id))||void 0===n||n.remove();const t=c[o],i=h.slice(-1)[0];c.splice(o,1),c.splice(0,0,i);const s=b===this.tabsFilteredAsVisibleList.length?b-1:b;h.splice(s,0,t),h.pop(),this.tabsFilteredAsVisibleList=h,this.tabsFilteredAsHiddenList=c;break}case"hiddenToHidden":{const e=c[o];c.splice(o,1),c.splice(b,0,e),this.tabsFilteredAsHiddenList=c,b===this.tabsFilteredAsHiddenList.length-1&&(null===(r=null===(l=this.hiddenTabsContainerElement)||void 0===l?void 0:l.children[this.hiddenTabsContainerElement.children.length-1])||void 0===r||r.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(f))?`${f}${e.id}`:e.id}getNormalizedTabId(e){return e.replace(f,"")}static get styles(){return[d.a,u.a]}ensureTabsUpdateComplete(e){return T(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,t)=>{e.setAttribute("measuringrealwidth","");const i=e.closable?e.offsetWidth+m.TAB_CROSS_WIDTH:e.offsetWidth;return e.removeAttribute("measuringrealwidth"),i}):this.tabs.map((e,t)=>e.closable?e.offsetWidth+m.TAB_CROSS_WIDTH:e.offsetWidth)}measureHiddenTabsCopiesOffsetHeight(){return this.tabsCopy.map((e,t)=>e.offsetHeight)}manageOverflow(){var e,t;return T(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,d;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===(d=null==e?void 0:e.children[0])||void 0===d||d.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 d=this.measureTabsOffsetWidth(),n=i.reduce((e,t,i)=>e+=d[i],0);if(n){yield this.setupMoreTab();let e=!0;a<n&&(e=!1);const t=[];let l=0;i.forEach((i,n)=>{l+=d[n];const r=!e&&l+(n<s-1?this.moreTabMenuOffsetWidth:0)>a;t.push({isTabInViewportHidden:r,tabOffsetWidth:d[n]})}),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 T(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="tab_"+Object(h.nanoid)(10);e.setAttribute("id",s),e.setAttribute("aria-controls",s),e.selected=this.selected===i,"vertical"===this.direction&&(e.vertical=!0);const a=t[i];a?(a.setAttribute("id",s),a.setAttribute("aria-labelledby",s),a.selected=this.selected===i,e.disabled&&(a.hidden=!0,a.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 T(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){var t,i;const{id:s}=e.detail,a=this.tabsHash[this.getNormalizedTabId(s)];if(a&&!a.disabled&&"auto"===a.closable){const e=this.tabsFilteredAsVisibleList.findIndex(e=>this.getNormalizedTabId(e.id)===this.getNormalizedTabId(s));this.tabsFilteredAsVisibleList=this.tabsFilteredAsVisibleList.filter(e=>this.getNormalizedTabId(e.id)!==this.getNormalizedTabId(s)),null===(i=null===(t=this.visibleTabsContainerElement)||void 0===t?void 0:t.querySelector("#"+s))||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(e)}}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=[...this.tabsFilteredAsVisibleList,...this.tabsFilteredAsHiddenList].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)}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){let t;if(e.target!=this)return!1;t=e.path?e.path[0].id:e.composedPath()?e.composedPath()[0].id:e.originalTarget.id;const i=this.getNormalizedTabId(t);this.dispatchKeydownEvent(e,i);const a=e.code,{shiftKey:d}=e,n=!!this.isMoreTabMenuVisible&&"tab-more"===i,l=n&&this.isMoreTabMenuVisible?this.moreTabMenuElement:this.tabsHash[this.getNormalizedTabId(i)],r=!this.isMoreTabMenuVisible||l&&this.tabsVisibleIdxHash[l.id]>-1,o=!!this.isMoreTabMenuVisible&&(l&&this.tabsHiddenIdxHash[l.id]>-1),b=this.isMoreTabMenuVisible?this.tabsFilteredAsVisibleList.length-1:this.tabs.length-1,h=this.isMoreTabMenuVisible?this.tabsFilteredAsVisibleList.length:-1,c=this.isMoreTabMenuVisible?this.tabsFilteredAsVisibleList.length+this.tabsFilteredAsHiddenList.length-1:-1;switch(a){case s.b.Tab:n&&!this.isMoreTabMenuOpen&&d&&(e.preventDefault(),this.changeSelectedTabIdx(b));break;case s.b.End:n||(r?this.changeSelectedTabIdx(b):o&&this.changeSelectedTabIdx(c));break;case s.b.Home:n||r?this.changeSelectedTabIdx(0):o&&this.changeSelectedTabIdx(h);break;case s.b.ArrowLeft:n||r&&(e.stopPropagation(),this.changeSelectedTabIdx(0===this.selected?b:this.selected-1));break;case s.b.ArrowRight:n||r&&(e.stopPropagation(),this.changeSelectedTabIdx(this.selected===b?0:this.selected+1));break;case s.b.ArrowUp:if(n);else if(r&&"vertical"===this.direction)e.preventDefault(),this.changeSelectedTabIdx(0===this.selected?b:this.selected-1);else if(o){e.preventDefault();const t=this.selected===h?c:this.selected-1;this.changeSelectedTabIdx(t)}break;case s.b.ArrowDown:if(n);else if(r&&"vertical"===this.direction)e.preventDefault(),this.changeSelectedTabIdx(this.selected===b?0:this.selected+1);else if(o){e.preventDefault();const t=this.selected===c?h:this.selected+1;this.changeSelectedTabIdx(t)}break;case s.b.Enter:case s.b.Space:if(n){const e=this.tabsFilteredAsHiddenList.filter(e=>!e.disabled),t=e.find(e=>e.selected)||e.length?e[0]:void 0;if(this.updateHiddenIdPositiveTabIndex(t),t){const e=this.tabsIdxHash[this.getNormalizedTabId(t.id)];-1!==e&&this.updateSelectedTab(e)}}else if(l&&!l.disabled){const e=this.tabsIdxHash[this.getNormalizedTabId(l.id)];-1!==e&&this.updateSelectedTab(e)}}}setupTabsEvents(){this.addEventListener("tab-click",this.handleTabClick),this.addEventListener("tab-cross-click",this.handleTabCrossClick),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("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 T(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=p.a.create(this.visibleTabsContainerElement,this.generateOptions()),this.hiddenTabsSortableInstance=p.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 n.html`
2
2
  <div
3
3
  part="tabs-list"
4
- class="md-tab__list ${Object(n.classMap)({"md-tab__justified":this.justified&&!this.isMoreTabMenuVisible,"no-tabs-visible":this.noTabsVisible})}"
4
+ class="md-tab__list ${Object(l.classMap)({"md-tab__justified":this.justified&&!this.isMoreTabMenuVisible,"no-tabs-visible":this.noTabsVisible})}"
5
5
  role="tablist"
6
6
  >
7
7
  <slot
8
8
  name="tab"
9
- class="${Object(n.classMap)({"visible-tabs-slot":"horizontal"===this.direction})}"
9
+ class="${Object(l.classMap)({"visible-tabs-slot":"horizontal"===this.direction})}"
10
10
  ></slot>
11
11
  <div
12
12
  id="visible-tabs-list"
13
- class="visible-tabs-container ${Object(n.classMap)({"md-tab__justified":this.justified&&!this.isMoreTabMenuVisible})}"
13
+ class="visible-tabs-container ${Object(l.classMap)({"md-tab__justified":this.justified&&!this.isMoreTabMenuVisible})}"
14
14
  >
15
- ${Object(r.repeat)(this.tabsFilteredAsVisibleList,e=>Object(h.nanoid)(10),e=>{var t;return l.html`
15
+ ${Object(r.repeat)(this.tabsFilteredAsVisibleList,e=>Object(h.nanoid)(10),e=>{var t;return n.html`
16
16
  <md-tab
17
17
  .closable="${e.closable}"
18
18
  .disabled="${e.disabled}"
@@ -33,7 +33,7 @@
33
33
  <md-menu-overlay
34
34
  custom-width="${"226px"}"
35
35
  max-height="${"288px"}"
36
- class="md-menu-overlay__more ${Object(n.classMap)({"md-menu-overlay__more--hidden":this.isMoreTabMenuMeasured&&!this.isMoreTabMenuVisible})}"
36
+ class="md-menu-overlay__more ${Object(l.classMap)({"md-menu-overlay__more--hidden":this.isMoreTabMenuMeasured&&!this.isMoreTabMenuVisible})}"
37
37
  placement="bottom-end"
38
38
  @menu-overlay-open="${()=>this.isMoreTabMenuOpen=!0}"
39
39
  @menu-overlay-close="${()=>this.isMoreTabMenuOpen=!1}"
@@ -45,7 +45,7 @@
45
45
  aria-haspopup="true"
46
46
  tabindex="${this.isMoreTabMenuVisible?0:-1}"
47
47
  .selected=${!!this.isMoreTabMenuVisible&&this.isMoreTabMenuSelected}
48
- class="md-menu-overlay__more_tab ${Object(n.classMap)({"md-menu-overlay__more_tab--hidden":!this.isMoreTabMenuVisible})}"
48
+ class="md-menu-overlay__more_tab ${Object(l.classMap)({"md-menu-overlay__more_tab--hidden":!this.isMoreTabMenuVisible})}"
49
49
  >
50
50
  <span class="md-menu-overlay__overflow-label">${this.overflowLabel}</span>
51
51
  <md-icon name="${this.isMoreTabMenuOpen?"arrow-up_16":"arrow-down_16"}" class="more-icon"></md-icon>
@@ -56,7 +56,7 @@
56
56
  class="md-tab__list md-menu-overlay__more_list"
57
57
  style="${Object(o.styleMap)(this.isMoreTabMenuScrollable&&this.moreTabMenuMaxHeight?{"overflow-y":"auto",height:this.moreTabMenuMaxHeight,"max-height":this.moreTabMenuMaxHeight}:{})}"
58
58
  >
59
- ${Object(r.repeat)(this.tabsFilteredAsHiddenList,e=>Object(h.nanoid)(10),e=>l.html`
59
+ ${Object(r.repeat)(this.tabsFilteredAsHiddenList,e=>Object(h.nanoid)(10),e=>n.html`
60
60
  <md-tab
61
61
  slot="draggable-item"
62
62
  .disabled="${e.disabled}"
@@ -79,8 +79,8 @@
79
79
  </div>
80
80
  <div
81
81
  part="tabs-content"
82
- class="md-tab__content ${Object(n.classMap)({"no-tabs-visible":this.noTabsVisible})}"
82
+ class="md-tab__content ${Object(l.classMap)({"no-tabs-visible":this.noTabsVisible})}"
83
83
  >
84
84
  <slot name="panel"></slot>
85
85
  </div>
86
- `}};v([Object(l.property)({type:Boolean})],t.prototype,"justified",void 0),v([Object(l.property)({type:String})],t.prototype,"overflowLabel",void 0),v([Object(l.property)({type:Boolean,attribute:"draggable"})],t.prototype,"draggable",void 0),v([Object(l.property)({type:String})],t.prototype,"direction",void 0),v([Object(l.property)({type:Number,attribute:"more-items-scroll-limit"})],t.prototype,"moreItemsScrollLimit",void 0),v([Object(l.property)({type:Number})],t.prototype,"delay",void 0),v([Object(l.property)({type:Number})],t.prototype,"animation",void 0),v([Object(l.property)({type:String,attribute:"ghost-class"})],t.prototype,"ghostClass",void 0),v([Object(l.property)({type:String,attribute:"chosen-class"})],t.prototype,"chosenClass",void 0),v([Object(l.property)({type:Boolean,attribute:"force-fallback"})],t.prototype,"forceFallback",void 0),v([Object(l.property)({type:String,attribute:"fallback-class"})],t.prototype,"fallbackClass",void 0),v([Object(l.property)({type:String,attribute:"tabs-id"})],t.prototype,"tabsId",void 0),v([Object(l.property)({type:Boolean,attribute:"persist-selection"})],t.prototype,"persistSelection",void 0),v([Object(l.property)({type:String,attribute:"comp-unique-id"})],t.prototype,"compUniqueId",void 0),v([Object(l.internalProperty)()],t.prototype,"isMoreTabMenuVisible",void 0),v([Object(l.internalProperty)()],t.prototype,"isMoreTabMenuMeasured",void 0),v([Object(l.internalProperty)()],t.prototype,"isMoreTabMenuOpen",void 0),v([Object(l.internalProperty)()],t.prototype,"isMoreTabMenuSelected",void 0),v([Object(l.internalProperty)()],t.prototype,"isMoreTabMenuScrollable",void 0),v([Object(l.internalProperty)()],t.prototype,"moreTabMenuOffsetWidth",void 0),v([Object(l.internalProperty)()],t.prototype,"moreTabMenuMaxHeight",void 0),v([Object(l.internalProperty)()],t.prototype,"tabsViewportDataList",void 0),v([Object(l.internalProperty)()],t.prototype,"tabsFilteredAsVisibleList",void 0),v([Object(l.internalProperty)()],t.prototype,"tabsFilteredAsHiddenList",void 0),v([Object(l.internalProperty)()],t.prototype,"noTabsVisible",void 0),v([Object(l.internalProperty)()],t.prototype,"defaultTabsOrderArray",void 0),v([Object(l.internalProperty)()],t.prototype,"tabsOrderPrefsArray",void 0),v([Object(l.query)("slot[name='tab']")],t.prototype,"tabSlotElement",void 0),v([Object(l.query)("slot[name='panel']")],t.prototype,"panelSlotElement",void 0),v([Object(l.query)(".md-tab__list[part='tabs-list']")],t.prototype,"tabsListElement",void 0),v([Object(l.query)(".md-tabs__settings[part='md-tabs__settings']")],t.prototype,"tabsSettingsElement",void 0),v([Object(l.query)(".md-menu-overlay__more_tab")],t.prototype,"moreTabMenuElement",void 0),v([Object(l.query)("md-menu-overlay")],t.prototype,"menuOverlayElement",void 0),v([Object(l.query)(".md-tab__list[part='tabs-more-list']")],t.prototype,"tabsMoreListElement",void 0),v([Object(l.queryAll)(".md-menu-overlay__more_list md-tab")],t.prototype,"tabsCopyHiddenListElements",void 0),v([Object(l.query)("#visible-tabs-list")],t.prototype,"visibleTabsContainerElement",void 0),v([Object(l.query)("#tabs-more-list")],t.prototype,"hiddenTabsContainerElement",void 0),t=v([Object(a.f)("md-tabs")],t),e.ELEMENT=t}(y||(y={}))}}]);
86
+ `}};v([Object(n.property)({type:Boolean})],t.prototype,"justified",void 0),v([Object(n.property)({type:String})],t.prototype,"overflowLabel",void 0),v([Object(n.property)({type:Boolean,attribute:"draggable"})],t.prototype,"draggable",void 0),v([Object(n.property)({type:String})],t.prototype,"direction",void 0),v([Object(n.property)({type:Number,attribute:"more-items-scroll-limit"})],t.prototype,"moreItemsScrollLimit",void 0),v([Object(n.property)({type:Number})],t.prototype,"delay",void 0),v([Object(n.property)({type:Number})],t.prototype,"animation",void 0),v([Object(n.property)({type:String,attribute:"ghost-class"})],t.prototype,"ghostClass",void 0),v([Object(n.property)({type:String,attribute:"chosen-class"})],t.prototype,"chosenClass",void 0),v([Object(n.property)({type:Boolean,attribute:"force-fallback"})],t.prototype,"forceFallback",void 0),v([Object(n.property)({type:String,attribute:"fallback-class"})],t.prototype,"fallbackClass",void 0),v([Object(n.property)({type:String,attribute:"tabs-id"})],t.prototype,"tabsId",void 0),v([Object(n.property)({type:Boolean,attribute:"persist-selection"})],t.prototype,"persistSelection",void 0),v([Object(n.property)({type:String,attribute:"comp-unique-id"})],t.prototype,"compUniqueId",void 0),v([Object(n.internalProperty)()],t.prototype,"isMoreTabMenuVisible",void 0),v([Object(n.internalProperty)()],t.prototype,"isMoreTabMenuMeasured",void 0),v([Object(n.internalProperty)()],t.prototype,"isMoreTabMenuOpen",void 0),v([Object(n.internalProperty)()],t.prototype,"isMoreTabMenuSelected",void 0),v([Object(n.internalProperty)()],t.prototype,"isMoreTabMenuScrollable",void 0),v([Object(n.internalProperty)()],t.prototype,"moreTabMenuOffsetWidth",void 0),v([Object(n.internalProperty)()],t.prototype,"moreTabMenuMaxHeight",void 0),v([Object(n.internalProperty)()],t.prototype,"tabsViewportDataList",void 0),v([Object(n.internalProperty)()],t.prototype,"tabsFilteredAsVisibleList",void 0),v([Object(n.internalProperty)()],t.prototype,"tabsFilteredAsHiddenList",void 0),v([Object(n.internalProperty)()],t.prototype,"noTabsVisible",void 0),v([Object(n.internalProperty)()],t.prototype,"defaultTabsOrderArray",void 0),v([Object(n.internalProperty)()],t.prototype,"tabsOrderPrefsArray",void 0),v([Object(n.query)("slot[name='tab']")],t.prototype,"tabSlotElement",void 0),v([Object(n.query)("slot[name='panel']")],t.prototype,"panelSlotElement",void 0),v([Object(n.query)(".md-tab__list[part='tabs-list']")],t.prototype,"tabsListElement",void 0),v([Object(n.query)(".md-tabs__settings[part='md-tabs__settings']")],t.prototype,"tabsSettingsElement",void 0),v([Object(n.query)(".md-menu-overlay__more_tab")],t.prototype,"moreTabMenuElement",void 0),v([Object(n.query)("md-menu-overlay")],t.prototype,"menuOverlayElement",void 0),v([Object(n.query)(".md-tab__list[part='tabs-more-list']")],t.prototype,"tabsMoreListElement",void 0),v([Object(n.queryAll)(".md-menu-overlay__more_list md-tab")],t.prototype,"tabsCopyHiddenListElements",void 0),v([Object(n.query)("#visible-tabs-list")],t.prototype,"visibleTabsContainerElement",void 0),v([Object(n.query)("#tabs-more-list")],t.prototype,"hiddenTabsContainerElement",void 0),t=v([Object(a.f)("md-tabs")],t),e.ELEMENT=t}(y||(y={}))}}]);
@@ -160,7 +160,7 @@ export declare namespace ComboBox {
160
160
  checkForVirtualScroll(): boolean;
161
161
  rangeChanged(): void;
162
162
  getCustomErrorContent(): DocumentFragment;
163
- getCustomContent(option: string | OptionMember): import("lit-element").TemplateResult | DocumentFragment;
163
+ getCustomContent(option: string | OptionMember): DocumentFragment | import("lit-element").TemplateResult;
164
164
  renderGroupLabelHeader(option: OptionMember, optionIndex: number): import("lit-element").TemplateResult;
165
165
  renderWithoutVirtualScroll(): import("lit-html").DirectiveFn;
166
166
  highlightingSearchedText(option: OptionMember | string): import("lit-element").TemplateResult[];
@@ -91,7 +91,7 @@ export declare namespace Tabs {
91
91
  storeSelectedTabIndex(index: number): void;
92
92
  handleOverlayClose(): void;
93
93
  dispatchKeydownEvent(event: KeyboardEvent, tabId: string): void;
94
- handleTabKeydown(event: any): void;
94
+ handleTabKeydown(event: any): false | undefined;
95
95
  private setupTabsEvents;
96
96
  private teardownTabsEvents;
97
97
  private clearTabOrderPrefs;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@momentum-ui/web-components",
3
- "version": "2.7.48",
3
+ "version": "2.7.50",
4
4
  "author": "Yana Harris",
5
5
  "license": "MIT",
6
6
  "repository": "https://github.com/momentum-design/momentum-ui.git",