@momentum-ui/web-components 2.8.0 → 2.8.1
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.
package/dist/chunks/md-35.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(window["momentum-web-components-[id]"]=window["momentum-web-components-[id]"]||[]).push([[35],{68:function(t,
|
|
1
|
+
(window["momentum-web-components-[id]"]=window["momentum-web-components-[id]"]||[]).push([[35],{68:function(e,t,o){"use strict";o.r(t),o.d(t,"tooltipPlacement",(function(){return d})),o.d(t,"tooltipStrategy",(function(){return h})),o.d(t,"Tooltip",(function(){return u}));var n=o(1),s=o(7),i=o(5),p=o(4),l=o(0),r=o(3),a=o(59),c=function(e,t,o,n){var s,i=arguments.length,p=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)p=Reflect.decorate(e,t,o,n);else for(var l=e.length-1;l>=0;l--)(s=e[l])&&(p=(i<3?s(p):i>3?s(t,o,p):s(t,o))||p);return i>3&&p&&Object.defineProperty(t,o,p),p};const d=["auto","auto-start","auto-end","left-start","left","left-end","right-start","right","right-end","top-start","top","top-end","bottom-start","bottom","bottom-end"],h=["fixed","absolute"];var u;!function(e){let t=class extends(Object(s.a)(l.LitElement)){constructor(){super(...arguments),this.message="",this.placement="auto",this.disabled=!1,this.opened=!1,this.slotContent=null,this._keyDownListener=e=>{this.handleKeyDown(e)}}connectedCallback(){super.connectedCallback(),document.addEventListener("keydown",this._keyDownListener)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("keydown",this._keyDownListener)}handleFocusIn(e){super.handleFocusIn&&super.handleFocusIn(e),this.notifyTooltipCreate()}handleFocusOut(e){super.handleFocusOut&&super.handleFocusOut(e),this.notifyTooltipDestroy()}openTooltip(){this.dispatchEvent(new CustomEvent("tooltip-create",{bubbles:!0,composed:!0,detail:Object.assign({placement:this.placement,reference:this.reference,popper:this.popper},!this.message&&{slotContent:this.slotContent})}))}closeTooltip(){this.dispatchEvent(new CustomEvent("tooltip-destroy",{bubbles:!0,composed:!0,detail:{placement:this.placement,reference:this.reference,popper:this.popper}}))}changeMessage(){this.dispatchEvent(new CustomEvent("tooltip-message",{bubbles:!0,composed:!0,detail:{placement:this.placement,reference:this.reference,popper:this.popper}}))}changeSlotContent(e){this.dispatchEvent(new CustomEvent("tooltip-slot",{bubbles:!0,composed:!0,detail:{placement:this.placement,reference:this.reference,popper:this.popper,slotContent:e}}))}notifyTooltipCreate(){this.disabled||(this.opened=!0)}notifyTooltipDestroy(){this.disabled||(this.opened=!1)}handleKeyDown(e){e.code===n.b.Escape&&this.notifyTooltipDestroy()}handleSlotContentChange(e){const t=e.target;if(t){const e=t.assignedElements({flatten:!0});e.length&&(this.slotContent&&this.changeSlotContent(e),this.slotContent=e)}}updated(e){super.updated(e),e.has("opened")&&(this.opened?this.openTooltip():this.closeTooltip()),e.has("message")&&this.changeMessage()}get tooltipClassMap(){return{"md-tooltip--disabled":this.disabled}}render(){return l.html`
|
|
2
2
|
<div class="md-tooltip ${Object(r.classMap)(this.tooltipClassMap)}">
|
|
3
3
|
<div class="md-tooltip__popper" role="tooltip" part="tooltip-popper">
|
|
4
4
|
<div class="md-tooltip__content" part="tooltip-content">
|
|
@@ -10,14 +10,15 @@
|
|
|
10
10
|
</div>
|
|
11
11
|
<div
|
|
12
12
|
class="md-tooltip__reference"
|
|
13
|
+
part="tooltip_reference"
|
|
13
14
|
@mouseenter=${()=>this.notifyTooltipCreate()}
|
|
14
15
|
@mouseleave=${()=>this.notifyTooltipDestroy()}
|
|
15
|
-
@focusin=${
|
|
16
|
-
@focusout=${
|
|
17
|
-
@keydown=${
|
|
16
|
+
@focusin=${e=>this.handleFocusIn(e)}
|
|
17
|
+
@focusout=${e=>this.handleFocusOut(e)}
|
|
18
|
+
@keydown=${e=>this.handleKeyDown(e)}
|
|
18
19
|
aria-describedby="tooltip"
|
|
19
20
|
>
|
|
20
21
|
<slot></slot>
|
|
21
22
|
</div>
|
|
22
23
|
</div>
|
|
23
|
-
`}static get styles(){return[p.a,a.a]}};c([Object(l.property)({type:String})],
|
|
24
|
+
`}static get styles(){return[p.a,a.a]}};c([Object(l.property)({type:String})],t.prototype,"message",void 0),c([Object(l.property)({type:String,reflect:!0})],t.prototype,"placement",void 0),c([Object(l.property)({type:Boolean,reflect:!0})],t.prototype,"disabled",void 0),c([Object(l.property)({type:Boolean,reflect:!0})],t.prototype,"opened",void 0),c([Object(l.query)(".md-tooltip__popper")],t.prototype,"popper",void 0),c([Object(l.query)(".md-tooltip__reference")],t.prototype,"reference",void 0),t=c([Object(i.a)("md-tooltip")],t),e.ELEMENT=t}(u||(u={}))}}]);
|
package/dist/chunks/md-36.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(window["momentum-web-components-[id]"]=window["momentum-web-components-[id]"]||[]).push([[36],{78:function(t,e,i){"use strict";i.r(e),i.d(e,"ComboBox",(function(){return o}));i(50),i(15);var o,s=i(1),l=i(7),n=i(5),r=i(18),c=i(4),a=i(0),d=i(2),h=i(3),u=i(6),p=i(14),b=i(9),m=(i(69),i(125)),g=a.css`:host{--combobox-input-clear-bg:var(--combobox-group-button-bg-color, $lm-combobox-group-button-bg-color-light)}:host() .group{background:var(--combobox-bg-color,#fff)}:host(:focus){box-shadow:none!important;outline:0!important}:host([focus-visible]) .group{border-color:var(--combobox-focus-border-color,#005e7d);box-shadow:none}:host([disabled]) .group,:host([disabled]) .group:active,:host([disabled]) .group:hover{background:var(--combobox-disabled-bg-color,#ededed);pointer-events:none}:host([disabled]) .group:active>md-icon,:host([disabled]) .group:hover>md-icon,:host([disabled]) .group>md-icon{opacity:.3}:host([expanded]) .md-combobox-button.arrow-down{transform:rotate(180deg)}:host([invalid]) .group,:host([invalid]) .group:active,:host([invalid]) .group:hover{background:var(--combobox-invalid-bg-color,#ffe8e3);border-color:var(--combobox-invalid-border-color,#f7644a)}:host([invalid]) .md-combobox-error{padding:.1875rem 0 0 .75rem}.md-combobox-list{position:relative;height:2rem}.md-combobox .group{align-items:start;background:var(--combobox-bg-color,#fff);border:1px solid var(--combobox-border-color,#b2b2b2);border-radius:var(--combobox-group-radius,.25rem);display:flex;padding:0 .75rem;height:2.125rem}.md-combobox .group md-icon{color:var(--md-secondary-text-color,#545454);cursor:pointer;fill:var(--md-secondary-text-color,#545454);height:1.75rem}.md-combobox .group md-icon:focus{box-shadow:none;outline:0;box-shadow:0 0 0 .125rem var(--md-focus-border-color,#91ebff)}.md-combobox .group:hover{background:var(--combobox-hover-bg-color,#dedede)}.md-combobox .group:active{background:var(--combobox-pressed-bg-color,#ccc)}.md-combobox .group.multiselect:hover{background:var(--combobox-bg-color,#fff)}.md-combobox .group.multiselect:active{background:var(--combobox-bg-color,#fff)}.md-combobox .md-combobox-button[disabled] md-icon{color:var(--md-disabled-text-color,#b2b2b2)}.md-combobox--pill .group{border-radius:18px}.md-combobox-button{transition:all .15s linear;align-self:center;background:0 0;border:0;cursor:pointer;margin:0;margin-left:calc(.25rem * 2);outline:0;padding:0;padding-top:calc(.25rem / 2);position:relative;vertical-align:bottom;height:inherit;display:flex}.md-combobox-button .md-input__icon-clear{align-items:center;display:flex}.md-combobox-button md-icon{color:var(--combobox-dropdown-item-icon-color,#121212)}.md-combobox-button.clear{height:auto;padding:.115rem}.md-combobox-button.arrow-down:focus,.md-combobox-button.clear:focus{outline:2px solid var(--button-focus-ring-color,#007aa3)}ul{background-color:var(--combobox-dropdown-bg-color,#fff);border:1px solid var(--combobox-border-color,#b2b2b2);border-radius:.5rem;box-shadow:0 4px 8px rgba(0,0,0,.16),0 0 1px rgba(0,0,0,.16);box-sizing:border-box;font-size:14px;left:0;list-style:none;margin:0;overflow:auto;overflow-x:hidden;padding:0;position:absolute;top:calc(100% + .25rem);width:100%}ul .no-result{padding:.4375rem .75rem .5rem}.md-combobox-multi-input{width:initial}.highlight-text{font-weight:700}.selected-label-text{white-space:pre-wrap}.group-label{justify-content:space-between;font-weight:400;font-size:14px;line-height:19px;color:var(--combobox-group-label-color);padding:.4375rem .75rem .5rem;border-bottom:1px solid var(--combobox-group-label-border-color);display:flex;width:100%;background-color:var(--combobox-group-label-bg-color)}.group-label:hover{background:unset}.group-label[focused]{background:var(--combobox-dropdown-item-focus-bg-color,#91ebff)}.md-combobox-option{align-items:center;color:var(--md-primary-text-color,#f7f7f7);display:flex;margin:0;outline:0;padding:.4375rem .75rem .5rem;width:100%}.md-combobox-option .select-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default;display:block;letter-spacing:normal;width:calc(100% - 1.25rem)}.md-combobox-option .select-label span{margin-right:-.25rem;white-space:nowrap}.md-combobox-option .select-option{background:var(--combobox-dropdown-item-select-bg-color,#fff);border:1px solid var(--combobox-border-color,#b2b2b2);border-radius:calc(.5rem / 2);box-sizing:border-box;cursor:pointer;display:inline-block;height:1.25rem;margin-right:1rem;min-width:1.25rem;position:relative}.md-combobox-option .select-option md-icon{height:1.125rem;left:.125rem;position:absolute;top:-.1875rem;vertical-align:top;visibility:hidden}.md-combobox-option:hover{background:var(--combobox-dropdown-item-hover-bg-color,#c9f4ff)}.md-combobox-option.md-combobox-multiselect{border-bottom:1px solid var(--md-button-tertiary-outline-color,#545454)}.md-combobox-option[aria-checked=true] .select-option{background:var(--combobox-dropdown-item-checked-bg-color,#00a0d1);border:1px solid var(--combobox-dropdown-item-checked-bg-color,#00a0d1)}.md-combobox-option[aria-checked=true] .select-option md-icon{color:var(--combobox-dropdown-item-checked-icon-color,#fff);visibility:visible}.md-combobox-option[focused]{background:var(--combobox-dropdown-item-focus-bg-color,#91ebff)}.md-combobox__multiwrap{align-items:center;display:inline-flex;flex:1 1 auto;margin-left:0;max-height:calc(1.25rem * 4.5)}.md-combobox__multiwrap .selected-count{color:var(--md-primary-text-color,#f7f7f7)}.md-combobox__multiwrap .md-combobox-selected-item{align-items:center;background:var(--combobox-selected-bg-color,#dedede);border:1px solid var(--combobox-selected-border-color,#ccc);border-radius:.875rem;box-sizing:border-box;cursor:pointer;display:flex;font-size:12px;margin-bottom:calc(.25rem / 2);margin-right:.25rem;margin-top:.25rem;max-height:1.5rem;padding:0 .75rem}.md-combobox__multiwrap .md-combobox-selected-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;max-width:calc(1.25rem * 4)}.md-combobox__multiwrap .md-combobox-selected-item .remove-item{height:1.5rem}.md-combobox__multiwrap .md-combobox-selected-item:hover{background:var(--combobox-selected-hover,#b2b2b2)}.md-combobox__multiwrap .md-combobox-selected-item[selected]{background:var(--combobox-selected-hover,#b2b2b2)}.md-combobox__multiwrap input{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;color:var(--md-secondary-text-color,#545454);display:inline-block;flex:1 1 auto;height:2rem;outline:0}.md-combobox__multiwrap ::input-placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;width:calc(100%)}.md-combobox__multiwrap .remove-item{padding-left:calc(.25rem * 3)}.md-combobox-searchable .md-combobox__multiwrap{margin-left:calc(.25rem * 3)}`,x=function(t,e,i,o){var s,l=arguments.length,n=l<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(t,e,i,o);else for(var r=t.length-1;r>=0;r--)(s=t[r])&&(n=(l<3?s(n):l>3?s(e,i,n):s(e,i))||n);return l>3&&n&&Object.defineProperty(e,i,n),n},f=function(t,e,i,o){return new(i||(i=Promise))((function(s,l){function n(t){try{c(o.next(t))}catch(t){l(t)}}function r(t){try{c(o.throw(t))}catch(t){l(t)}}function c(t){var e;t.done?s(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(n,r)}c((o=o.apply(t,e||[])).next())}))};!function(t){let e=class extends(Object(l.a)(a.LitElement)){constructor(){super(...arguments),this._focusedIndex=-1,this._focusedGroupIndex=-1,this.label="Options",this.options=[],this.customOptions=[],this.placeholder="",this.isMulti=!1,this.useVirtualScroll=!1,this.disabled=!1,this.ordered=!1,this.expanded=!1,this.groupExpandedList=[],this.searchItem=!1,this.compact=!1,this.noClearIcon=!1,this.selectWhenInFocus=!1,this.selectedOptions=[],this.visibleOptions=8,this.optionId="",this.optionValue="",this.isCustomContent=!1,this.searchable=!1,this.shape="none",this.value=[],this.inputValue="",this.allowCustomValue=!1,this.autofocus=!1,this.resultsTextLocalization="No Results",this.optionsTextLocalization="No Options",this.trimSpace=!1,this.invalid=!1,this.invalidText="",this.ariaLabel="Combobox Input",this.clearAriaLabel="Clear",this.arrowAriaLabel="Expand",this.clearIconHeight="auto",this.allTextLocalization="All",this.selectAllTextLocalization="Select All",this.selectedTextLocalization="Selected",this.allowSelectAll=!1,this.showCustomError=!1,this.showLoader=!1,this.showSelectedCount=!1,this.isOptGroup=!1,this.isSelectAllChecked=!1,this.multiSelectedIndex=-1,this.multiSelected=[],this.customContent=[],this.notifySelectedChange=Object(r.b)(t=>{this.dispatchEvent(new CustomEvent("change-selected",{composed:!0,bubbles:!0,detail:t}))},0),this.handleGroupFilter=t=>{const e=t.filter(t=>{if("string"!=typeof t&&"true"===t.isLabel)return t.groupName});return this.searchItem=!0,this.groupExpandedList=e.map(t=>{if("string"!=typeof t)return t.groupName}),t.filter(e=>{if("string"!=typeof e&&"true"===e.isLabel){return!!t.find(t=>{if("string"!=typeof e&&"string"!=typeof t)return e.groupName===t.groupName&&"false"===t.isLabel})}return!0})},this.notifyInputValueChanged=Object(r.b)(t=>{this.dispatchEvent(new CustomEvent("combobox-input",{composed:!0,bubbles:!0,detail:{value:t}})),this.focusedGroupIndex=0,requestAnimationFrame(()=>{this.input.focus(),this.focusedGroupIndex=-1})},250),this.handleOutsideClick=t=>{let e=!1;const i=t.composedPath();i.length&&(e=!!i.find(t=>t===this),e||(this.setVisualListbox(!1),this.unselectedAllMultiTag()))}}get focusedIndex(){return this._focusedIndex}set focusedIndex(t){var e;const i=this._focusedIndex;if(this.checkForVirtualScroll()){const i=this.getOptionId(this.filteredOptions[t]),o=this.lists?null===(e=[...this.lists])||void 0===e?void 0:e.find(t=>0!==t.offsetHeight&&t.id===i):"";this.lists&&[...this.lists].forEach(t=>{t.toggleAttribute("focused",!1)}),o&&(null==o||o.toggleAttribute("focused",!0))}else if(this.lists){const e=this.lists[i];e&&e.toggleAttribute("focused",!1);const o=this.lists[t];o&&o.toggleAttribute("focused",!0)}this._focusedIndex=t,this.requestUpdate("focusedIndex",i)}get focusedGroupIndex(){return this._focusedGroupIndex}set focusedGroupIndex(t){const e=this._focusedGroupIndex;if(this.labels&&0!==this.labels.length){const i=this.labels[e];i&&i.toggleAttribute("focused",!1);const o=this.labels[t];o&&(o.toggleAttribute("focused",!0),o.focus())}this._focusedGroupIndex=t,this.requestUpdate("focusedGroupIndex",e)}firstUpdated(t){super.firstUpdated(t),this.setAttribute("tabindex","0"),this.isCustomContent&&(this.optionId="id",this.optionValue="value",this.setOptionCustomContent()),this.setInitialValue()}updated(t){var e;super.updated(t),t.has("expanded")&&(this.expanded?(this.resizeListbox(),this.checkSelectedOptions()):this.unCheckAllOptions()),t.has("focusedIndex")&&this.focusedIndex>=0&&(this.checkForVirtualScroll()?null===(e=this.virtualizer)||void 0===e||e.scrollToIndex(this.focusedIndex,"center"):this.scrollToOption()),t.has("value")&&0===this.selectedOptions.length&&this.setInitialValue(),t.has("customOptions")&&this.isCustomContent&&(this.setOptionCustomContent(),this.resizeListbox()),t.has("showCustomError")&&this.resizeListbox(),t.has("showLoader")&&this.resizeListbox(),t.has("searchItem")&&this.resizeListbox()}handleFocusIn(t){this.disabled||(this.noClearIcon&&(requestAnimationFrame(()=>{this.input.focus(),this.focusedGroupIndex=-1}),this.selectWhenInFocus&&this.input.select()),super.handleFocusIn&&super.handleFocusIn(t)),this.dispatchEvent(new CustomEvent("combobox-focus-in",{composed:!0,bubbles:!0}))}handleFocusOut(t){super.handleFocusOut&&super.handleFocusOut(t),this.dispatchEvent(new CustomEvent("combobox-focus-out",{composed:!0,bubbles:!0}))}findFilteredOption(t){return this.isOptionObject(t)?this.filteredOptions.findIndex(e=>this.getOptionId(e)===this.getOptionId(t)&&this.getOptionValue(e)===this.getOptionValue(t)):this.filteredOptions.indexOf(t)}setInitialValue(){var t,e;if(this.value.length)if(this.isMulti)this.value.forEach(t=>{-1!==this.findFilteredOption(t)&&this.setSelectedOption(t)});else{const i=this.value[0],o=this.findFilteredOption(i);-1!==o&&(this.setSelectedOption(i),this.setInputValue(this.getOptionValue(i)),null===(t=this.input)||void 0===t||t.setAttribute(s.a.AriaActivedescendant,this.getOptionId(i)),this.focusedIndex=o,null===(e=this.virtualizer)||void 0===e||e.scrollToIndex(this.focusedIndex,"center"),this.focusedGroupIndex=-1)}}isOptionObject(t){return"object"==typeof t&&null!==t}setOptionCustomContent(){if(this.isOptGroup){const t=[...this.querySelectorAll("optgroup")],e=[];for(const i of t){const t=i.getAttribute("label"),o=[...i.querySelectorAll("[slot]")];e.push({isLabel:"true",[this.optionValue]:t,groupName:t});for(const i of o){const o=i.getAttribute("aria-label"),s=i.getAttribute("display-value"),l=i.getAttribute("slot");o&&s&&e.push({[this.optionId]:o,[this.optionValue]:s,isLabel:"false",groupName:t,slot:l})}}this.options=e}else this.customContent=[...this.querySelectorAll("[slot]")],this.customContent&&this.customContent.length?this.options=this.customContent.map(t=>{const e=t.getAttribute("aria-label"),i=t.getAttribute("display-value");if(e&&i)return{[this.optionId]:e,[this.optionValue]:i}}):this.options=[]}getOptionValue(t){return this.isOptionObject(t)?t[this.optionValue]:t}getOptionGroupName(t){return null==t?void 0:t.groupName}getOptionId(t){return this.isOptionObject(t)?t[this.optionId]:t}getFocusedItem(t){if(t>=0)return this.filteredOptions[t]}setupEvents(){document.addEventListener("click",this.handleOutsideClick),this.addEventListener("remove-all-selected",this.removeAllSelected),this.addEventListener("selected-changed",this.selectedChange)}teardownEvents(){document.removeEventListener("click",this.handleOutsideClick),this.removeEventListener("remove-all-selected",this.removeAllSelected),this.removeEventListener("selected-changed",this.selectedChange)}setVisualListbox(t){this.expanded=t}setGroupList(t){this.groupExpandedList.includes(t)?(this.groupExpandedList.splice(this.groupExpandedList.indexOf(t),1),this.groupExpandedList=[...this.groupExpandedList]):this.searchItem?this.groupExpandedList.push(t):this.groupExpandedList=[t]}findSelectedOption(t){return this.optionId&&t?this.selectedOptions.findIndex(e=>e&&e[this.optionId]===t[this.optionId]):this.selectedOptions.indexOf(t)}findOptionIndex(t){const e=t.composedPath();if(this.checkForVirtualScroll()){let t="";return[...this.lists].forEach(i=>{e.includes(i)&&(t=i.id)}),this.filteredOptions.findIndex(e=>this.getOptionId(e)===t)}return[...this.lists].findIndex(t=>e.includes(t))}checkSelectedOptions(){if(this.checkForVirtualScroll()){const t=this.selectedOptions.map(t=>this.getOptionId(t)),e=[...this.lists].filter(t=>"selectAll"!==t.id);null==e||e.forEach(e=>{t.includes(e.id)?(this.isMulti&&(null==e||e.setAttribute("aria-checked","true")),null==e||e.setAttribute("aria-selected","true")):this.isMulti&&(null==e||e.setAttribute("aria-checked","false"))})}}unCheckAllOptions(){var t;this.checkForVirtualScroll()&&this.isMulti&&(null===(t=[...this.lists])||void 0===t||t.forEach(t=>{"selectAll"!==(null==t?void 0:t.id)&&(null==t||t.setAttribute("aria-checked","false"))}))}setSelectedOption(t){this.isMulti||(this.selectedOptions=[]);const e=this.findSelectedOption(t);if(-1!==e){const t=this.selectedOptions[e];this.selectedOptions.splice(e,1),this.notifySelectedChange({value:t,selected:this.selectedOptions})}else this.selectedOptions.push(t),this.notifySelectedChange({value:t,selected:this.selectedOptions});this.checkSelectedOptions(),this.isMulti&&this.allowSelectAll&&(this.isSelectAllChecked=this.isSelectAllSelected()),this.requestUpdate()}filterOptions(t){if(t&&t.length){const e=this.options.filter(e=>this.isOptGroup&&"string"!=typeof e&&"true"===e.isLabel?e:(this.isCustomContent?this.getOptionId(e):this.getOptionValue(e)).toLowerCase().includes(t.toLowerCase()));return this.isOptGroup?this.handleGroupFilter(e):e}return this.searchItem=!1,this.options}resizeListbox(){this.updateOnNextFrame(()=>{var t;let e=0,i=0,o=0;if(this.lists){const t=this.checkForVirtualScroll()?[...this.lists].filter(t=>0!==t.offsetHeight):[...this.lists];e=t.slice(0,this.visibleOptions).reduce((t,e)=>t+e.offsetHeight,0),o=this.checkForVirtualScroll()&&this.allowSelectAll?t.slice(1,this.visibleOptions).reduce((t,e)=>t+e.offsetHeight,0):t.slice(0,this.visibleOptions).reduce((t,e)=>t+e.offsetHeight,0)}if(this.labels&&(i=[...this.labels].slice(0,this.visibleOptions).reduce((t,e)=>t+e.offsetHeight,0)),this.listBox&&(this.listBox.style.maxHeight=e+i+10+"px"),this.virtualizer&&(this.virtualizer.style.height=o+10+"px"),this.showCustomError||this.showLoader){const e=null===(t=this.listBox)||void 0===t?void 0:t.querySelector("[slot]");this.listBox&&e&&(this.listBox.style.height=e.clientHeight+2+"px",this.listBox.style.maxHeight=e.clientHeight+2+"px")}})}setInputValue(t=""){this.input.value=t}updateOnNextFrame(t){requestAnimationFrame(t)}unCheckedAllOptions(){this.isMulti&&(this.lists.forEach((t,e)=>this.unCheckedOption(e)),this.isSelectAllChecked=!1)}unCheckedOption(t){this.isMulti&&(this.lists[t].setAttribute("aria-checked","false"),this.notifySelectedChange({value:this.filteredOptions[t],selected:this.selectedOptions}))}checkAllOptions(){this.isMulti&&this.lists.forEach((t,e)=>this.checkOption(e))}checkOption(t){this.isMulti&&(this.lists[t].setAttribute("aria-checked","true"),this.notifySelectedChange({value:this.filteredOptions[t],selected:this.selectedOptions}))}isSelectAllSelected(){return this.selectedOptions.length===this.options.length}setFocusOnHost(t){this.setFocus&&this.setFocus(t)}isOptionFocused(t){return this.focusedIndex===t}getAriaState(t){return this.isOptionFocused(t)}scrollToOption(){var t,e;let i=0;const{top:o,bottom:s}=this.listBox.getBoundingClientRect(),l=this.lists[this.focusedIndex],n=null===(t=this.lists[this.focusedIndex+1]||l)||void 0===t?void 0:t.getBoundingClientRect(),r=null===(e=this.lists[this.focusedIndex-1]||l)||void 0===e?void 0:e.getBoundingClientRect();(null==n?void 0:n.bottom)>s?i=n.bottom-s+2:(null==r?void 0:r.top)<o&&(i=r.top-o-2),this.updateOnNextFrame(()=>{this.listBox.scrollTop+=i})}getCustomContentName(t){const e=this.options.indexOf(t);if(this.isOptGroup){const t=this.options[e];if(t&&"string"!=typeof t)return t.slot}else if(-1!==e)return this.customContent[e].slot}setInputSelectionRange(t,e){this.input.setSelectionRange(t,e)}isOptionChecked(t){return-1!==this.findSelectedOption(t)?"true":"false"}getInputSelection(){return this.input.selectionStart}canMultiSelect(){return 0===this.getInputSelection()&&0!==this.selectedOptions.length&&this.isMulti}removeMultiTag(){this.selected&&this.multiSelected.forEach(t=>{const e=this.selected[t];e&&e.hasAttribute("selected")&&this.removeSelected(this.selectedOptions[t])})}unselectedAllMultiTag(){this.selected&&this.selected.forEach(t=>t.removeAttribute("selected")),this.multiSelectedIndex=-1}findLastMultiSelected(){return this.selected[this.multiSelectedIndex]}toggleMultiSelectedTag(t,e){t&&t.toggleAttribute("selected",e)}selectMultiTag(t){if(this.canMultiSelect()){if(!t){this.multiSelected=[];const t=this.findLastMultiSelected();this.toggleMultiSelectedTag(t,!1)}this.multiSelectedIndex<=0?this.multiSelectedIndex=this.selectedOptions.length-1:this.multiSelectedIndex--,this.multiSelected.push(this.multiSelectedIndex);const e=this.findLastMultiSelected();this.toggleMultiSelectedTag(e,!0)}}handleListClick(t){return f(this,void 0,void 0,(function*(){this.dispatchEvent(new CustomEvent("selected-changed",{detail:{event:t}})),yield this.updateComplete,this.isMulti?this.setVisualListbox(!0):this.setVisualListbox(!1),this.updateOnNextFrame(()=>{this.input.focus(),this.focusedGroupIndex=-1})}))}handleSelectAll(){return f(this,void 0,void 0,(function*(){this.isSelectAllChecked=!this.isSelectAllChecked,this.isSelectAllChecked?(this.selectedOptions=[...this.options],this.checkAllOptions()):(this.selectedOptions=[],this.unCheckedAllOptions()),yield this.updateComplete,this.setVisualListbox(!0),this.notifySelectedChange({selected:this.selectedOptions})}))}handleInputKeyUp(t){switch(t.code){case s.b.Escape:break;case s.b.Backspace:this.setFocusOnHost(!0),this.setVisualListbox(!0),this.resizeListbox(),this.removeMultiTag();break;case s.b.ArrowLeft:this.isMulti&&(t.shiftKey?this.selectMultiTag(!0):this.selectMultiTag(!1));break;default:this.isMulti&&this.unselectedAllMultiTag()}}handleInput(t){const e=t.target.value;this.inputValue=e.trim(),this.notifyInputValueChanged(e.trim())}removeAllSelected(){var t;this.focusedIndex=-1,this.focusedGroupIndex=-1,this.selectedOptions=[],this.inputValue="",this.setInputValue(),null===(t=this.input)||void 0===t||t.setAttribute(s.a.AriaActivedescendant,""),this.setVisualListbox(!1),this.unCheckedAllOptions(),this.updateOnNextFrame(()=>{this.input.focus()}),this.notifySelectedChange({selected:this.selectedOptions})}removeSelected(t){const e=this.findSelectedOption(t),i=this.filteredOptions.indexOf(t);-1!==i&&this.unCheckedOption(i),-1!==e&&(this.selectedOptions.splice(e,1),this.requestUpdate()),this.updateOnNextFrame(()=>{this.input.focus(),this.focusedGroupIndex=-1})}selectedChange(t){var e;const{event:i}=t.detail;let o=this.findOptionIndex(i);if(-1!==o){this.focusedIndex=o,this.isMulti&&this.allowSelectAll&&!this.checkForVirtualScroll()&&(o-=1);const t=this.getFocusedItem(o);t&&(this.setSelectedOption(t),this.isMulti?this.isMulti&&this.allowSelectAll&&(this.isSelectAllChecked=this.isSelectAllSelected()):(this.setInputValue(this.getOptionValue(t)),null===(e=this.input)||void 0===e||e.setAttribute(s.a.AriaActivedescendant,this.getOptionId(t))))}}shouldChangeButton(){const t=this.input&&this.input.value.length>0&&!this.noClearIcon||this.isMulti&&this.selectedOptions.length&&!this.noClearIcon;return t&&document.dispatchEvent(new CustomEvent("on-widget-update")),t}setCustomValue(){this.optionId||this.optionValue||(this.options=[...this.options,this.inputValue],this.setSelectedOption(this.inputValue),this.isMulti||this.updateOnNextFrame(()=>{var t;this.focusedIndex=this.filteredOptions.length-1;const e=this.getFocusedItem(this.focusedIndex);e&&(this.setInputValue(this.getOptionValue(e)),null===(t=this.input)||void 0===t||t.setAttribute(s.a.AriaActivedescendant,this.getOptionId(e)))}),this.dispatchEvent(new CustomEvent("custom-value-add",{composed:!0,bubbles:!0,detail:{value:this.inputValue}}))),this.inputValue=""}handleGroupFocus(){this.setFocusOnHost(!1),this.expanded||this.setVisualListbox(!0),this.filteredGroupOptions.length>0&&-1===this.focusedGroupIndex&&(this.focusedGroupIndex=this.filteredGroupOptions.findIndex(t=>"string"!=typeof t&&t.groupName===this.groupExpandedList[0])),this.updateOnNextFrame(()=>{-1===this.focusedGroupIndex||!this.allowSelectAll&&this.focusedGroupIndex>=this.filteredGroupOptions.length-1||this.allowSelectAll&&this.focusedGroupIndex>=this.filteredGroupOptions.length?this.focusedGroupIndex=0:this.focusedGroupIndex++}),this.focusedIndex=-1}handleInputKeyDown(t){var e,i;switch(t.code){case s.b.Backspace:this.focusedIndex=-1;break;case s.b.Tab:case s.b.Enter:if(this.setFocusOnHost(!0),this.setVisualListbox(!1),t.code===s.b.Tab&&this.isMulti)return;this.updateOnNextFrame(()=>{var t;const e=this.getFocusedItem(this.allowSelectAll?this.focusedIndex-1:this.focusedIndex);if(this.allowCustomValue&&this.input&&this.input.value.length){if(-1===this.findFilteredOption(this.inputValue))return void this.setCustomValue()}e&&(this.setSelectedOption(e),this.showSelectedCount||(this.setInputValue(this.getOptionValue(e)),null===(t=this.input)||void 0===t||t.setAttribute(s.a.AriaActivedescendant,this.getOptionId(e)))),this.isMulti&&this.allowSelectAll&&0===this.focusedIndex&&this.handleSelectAll()});break;case s.b.ArrowDown:if(this.isOptGroup&&0===this.filteredOptions.length)return void this.handleGroupFocus();this.setFocusOnHost(!1),this.expanded||this.setVisualListbox(!0),this.updateOnNextFrame(()=>{var t;-1===this.focusedIndex||!this.allowSelectAll&&this.focusedIndex>=this.filteredOptions.length-1||this.allowSelectAll&&this.focusedIndex>=this.filteredOptions.length?this.focusedIndex=0:this.focusedIndex++;const e=this.getFocusedItem(this.focusedIndex);this.groupExpandedList=[this.getOptionGroupName(e)],!this.showSelectedCount&&e&&(this.setInputValue(this.getOptionValue(e)),null===(t=this.input)||void 0===t||t.setAttribute(s.a.AriaActivedescendant,this.getOptionId(e))),this.focusedGroupIndex=-1});break;case s.b.ArrowUp:if(this.isOptGroup&&0===this.filteredOptions.length)return void this.handleGroupFocus();this.setFocusOnHost(!1),this.expanded||this.setVisualListbox(!0),this.updateOnNextFrame(()=>{var t;this.focusedIndex<=0?this.focusedIndex=this.allowSelectAll?this.filteredOptions.length:this.filteredOptions.length-1:this.focusedIndex--;const e=this.getFocusedItem(this.focusedIndex);this.groupExpandedList=[this.getOptionGroupName(e)],e&&!this.showSelectedCount&&(this.setInputValue(this.getOptionValue(e)),null===(t=this.input)||void 0===t||t.setAttribute(s.a.AriaActivedescendant,this.getOptionId(e)),this.focusedGroupIndex=-1)});break;case s.b.ArrowLeft:case s.b.ArrowRight:t.stopPropagation();break;case s.b.Escape:this.setFocusOnHost(!0),this.expanded?(t.stopPropagation(),this.setVisualListbox(!1)):(this.setInputValue(),null===(e=this.input)||void 0===e||e.setAttribute(s.a.AriaActivedescendant,""),this.focusedIndex=-1,this.focusedGroupIndex=-1,this.removeAllSelected());break;case s.b.Home:this.setInputSelectionRange(0,0);break;case s.b.End:{const{length:t}=this.inputValue;this.setInputSelectionRange(t,t)}break;case s.b.Space:if(this.expanded=!0,this.isMulti){t.preventDefault();const e=this.getFocusedItem(this.allowSelectAll?this.focusedIndex-1:this.focusedIndex);e&&(this.setSelectedOption(e),this.showSelectedCount||(this.setInputValue(),null===(i=this.input)||void 0===i||i.setAttribute(s.a.AriaActivedescendant,""))),0===this.focusedIndex&&this.allowSelectAll&&this.handleSelectAll()}}}handleGroupLabelKeyDown(t,e){switch(t.code){case s.b.Tab:this.handleGroupFocus();break;case s.b.Enter:case s.b.Space:-1!==this.focusedGroupIndex?this.toggleGroupListBox(t,e.value):(this.setFocusOnHost(!0),this.setVisualListbox(!1),this.updateOnNextFrame(()=>{var t;const e=this.getFocusedItem(this.allowSelectAll?this.focusedIndex-1:this.focusedIndex);e&&(this.setSelectedOption(e),this.showSelectedCount||(this.setInputValue(this.getOptionValue(e)),null===(t=this.input)||void 0===t||t.setAttribute(s.a.AriaActivedescendant,this.getOptionId(e)),this.updateOnNextFrame(()=>{this.input.focus(),this.focusedGroupIndex=-1}))),this.isMulti&&this.allowSelectAll&&0===this.focusedIndex&&this.handleSelectAll()}));break;case s.b.ArrowDown:if(0===this.filteredOptions.length)return;this.setFocusOnHost(!1),this.updateOnNextFrame(()=>{var t;-1===this.focusedIndex||!this.allowSelectAll&&this.focusedIndex>=this.filteredOptions.length-1||this.allowSelectAll&&this.focusedIndex>=this.filteredOptions.length?this.focusedIndex=0:this.focusedIndex++;const e=this.getFocusedItem(this.focusedIndex);this.groupExpandedList=[this.getOptionGroupName(e)],!this.showSelectedCount&&e&&(this.setInputValue(this.getOptionValue(e)),null===(t=this.input)||void 0===t||t.setAttribute(s.a.AriaActivedescendant,this.getOptionId(e))),this.focusedGroupIndex=-1});break;case s.b.ArrowUp:if(this.isOptGroup&&0===this.filteredOptions.length)return;this.setFocusOnHost(!1),this.updateOnNextFrame(()=>{var t;this.focusedIndex<=0?this.focusedIndex=this.allowSelectAll?this.filteredOptions.length:this.filteredOptions.length-1:this.focusedIndex--;const e=this.getFocusedItem(this.focusedIndex);this.groupExpandedList=[this.getOptionGroupName(e)],e&&!this.showSelectedCount&&(this.setInputValue(this.getOptionValue(e)),null===(t=this.input)||void 0===t||t.setAttribute(s.a.AriaActivedescendant,this.getOptionId(e)))});break;case s.b.Escape:this.focusedGroupIndex=-1,this.setVisualListbox(!1),this.setFocusOnHost(!0),this.input.focus();break;default:this.setVisualListbox(!0)}}toggleVisualListBox(t){var e,i;if(t.target.classList.contains("md-combobox-listbox"))t.target.focus();else if("md-icon"===t.target.localName){const o=null===(i=null===(e=t.target.parentElement)||void 0===e?void 0:e.parentElement)||void 0===i?void 0:i.parentElement;if(o){const t=o.querySelector(".md-combobox-listbox");Object(m.setTimeout)(()=>{t.focus()},10)}}this.expanded?this.setVisualListbox(!1):(this.dispatchEvent(new CustomEvent("combobox-on-expand",{composed:!0,bubbles:!0})),this.setVisualListbox(!0)),this.input.focus(),this.setGroupList(""),this.focusedGroupIndex=-1}toggleGroupListBox(t,e){t.stopPropagation(),this.focusedGroupIndex=this.filteredGroupOptions.findIndex(t=>"string"!=typeof t&&t.groupName===e),this.setGroupList(e),this.resizeListbox()}handleRemoveAll(t){t.stopPropagation(),this.dispatchEvent(new CustomEvent("remove-all-selected"))}connectedCallback(){super.connectedCallback(),this.setupEvents();this.querySelector("optgroup")&&(this.isOptGroup=!0)}disconnectedCallback(){super.disconnectedCallback(),this.teardownEvents()}static get styles(){return[c.a,g]}get listItemOptionMap(){return{"md-combobox-multiselect":this.isMulti}}get filteredOptions(){return this.filterOptions(this.trimSpace?this.inputValue.replace(/\s+/g,""):this.inputValue).filter(t=>!this.isOptGroup||("string"!=typeof t&&this.groupExpandedList.includes(this.getOptionGroupName(t))?"false"===t.isLabel:void 0))}get filteredGroupOptions(){return this.filterOptions(this.trimSpace?this.inputValue.replace(/\s+/g,""):this.inputValue).filter(t=>!this.isOptGroup||("string"!=typeof t?"true"===t.isLabel:void 0))}get comboBoxTemplateClassMap(){return{["md-combobox--"+this.shape]:!!this.shape,"md-combobox-searchable":this.searchable}}searchIconTemplate(){return a.html`
|
|
1
|
+
(window["momentum-web-components-[id]"]=window["momentum-web-components-[id]"]||[]).push([[36],{78:function(t,e,i){"use strict";i.r(e),i.d(e,"ComboBox",(function(){return o}));i(50),i(15);var o,s=i(1),l=i(7),n=i(5),r=i(18),c=i(4),a=i(0),d=i(2),h=i(3),u=i(6),p=i(14),b=i(9),m=(i(69),i(125)),g=a.css`:host{--combobox-input-clear-bg:var(--combobox-group-button-bg-color, $lm-combobox-group-button-bg-color-light)}:host() .group{background:var(--combobox-bg-color,#fff)}:host(:focus){box-shadow:none!important;outline:0!important}:host([focus-visible]) .group{border-color:var(--combobox-focus-border-color,#005e7d);box-shadow:none}:host([disabled]) .group,:host([disabled]) .group:active,:host([disabled]) .group:hover{background:var(--combobox-disabled-bg-color,#ededed);pointer-events:none}:host([disabled]) .group:active>md-icon,:host([disabled]) .group:hover>md-icon,:host([disabled]) .group>md-icon{opacity:.3}:host([expanded]) .md-combobox-button.arrow-down{transform:rotate(180deg)}:host([invalid]) .group,:host([invalid]) .group:active,:host([invalid]) .group:hover{background:var(--combobox-invalid-bg-color,#ffe8e3);border-color:var(--combobox-invalid-border-color,#f7644a)}:host([invalid]) .md-combobox-error{padding:.1875rem 0 0 .75rem}.md-combobox-list{position:relative;height:2rem}.md-combobox .group{align-items:start;background:var(--combobox-bg-color,#fff);border:1px solid var(--combobox-border-color,#b2b2b2);border-radius:var(--combobox-group-radius,.25rem);display:flex;padding:0 .75rem;height:2.125rem}.md-combobox .group md-icon{color:var(--md-secondary-text-color,#545454);cursor:pointer;fill:var(--md-secondary-text-color,#545454);height:1.75rem}.md-combobox .group md-icon:focus{box-shadow:none;outline:0;box-shadow:0 0 0 .125rem var(--md-focus-border-color,#91ebff)}.md-combobox .group:hover{background:var(--combobox-hover-bg-color,#dedede)}.md-combobox .group:active{background:var(--combobox-pressed-bg-color,#ccc)}.md-combobox .group.multiselect:hover{background:var(--combobox-bg-color,#fff)}.md-combobox .group.multiselect:active{background:var(--combobox-bg-color,#fff)}.md-combobox .md-combobox-button[disabled] md-icon{color:var(--md-disabled-text-color,#b2b2b2)}.md-combobox--pill .group{border-radius:18px}.md-combobox-button{transition:all .15s linear;align-self:center;background:0 0;border:0;cursor:pointer;margin:0;margin-left:calc(.25rem * 2);outline:0;padding:0;padding-top:calc(.25rem / 2);position:relative;vertical-align:bottom;height:inherit;display:flex}.md-combobox-button .md-input__icon-clear{align-items:center;display:flex}.md-combobox-button md-icon{color:var(--combobox-dropdown-item-icon-color,#121212)}.md-combobox-button.clear{height:auto;padding:.115rem}.md-combobox-button.arrow-down:focus,.md-combobox-button.clear:focus{outline:2px solid var(--button-focus-ring-color,#007aa3)}ul{background-color:var(--combobox-dropdown-bg-color,#fff);border:1px solid var(--combobox-border-color,#b2b2b2);border-radius:.5rem;box-shadow:0 4px 8px rgba(0,0,0,.16),0 0 1px rgba(0,0,0,.16);box-sizing:border-box;font-size:14px;left:0;list-style:none;margin:0;overflow:auto;overflow-x:hidden;padding:0;position:absolute;top:calc(100% + .25rem);width:100%}ul .no-result{padding:.4375rem .75rem .5rem}.md-combobox-multi-input{width:initial}.highlight-text{font-weight:700}.selected-label-text{white-space:pre-wrap}.group-label{justify-content:space-between;font-weight:400;font-size:14px;line-height:19px;color:var(--combobox-group-label-color);padding:.4375rem .75rem .5rem;border-bottom:1px solid var(--combobox-group-label-border-color);display:flex;width:100%;background-color:var(--combobox-group-label-bg-color)}.group-label:hover{background:unset}.group-label[focused]{background:var(--combobox-dropdown-item-focus-bg-color,#91ebff)}.md-combobox-option{align-items:center;color:var(--md-primary-text-color,#f7f7f7);display:flex;margin:0;outline:0;padding:.4375rem .75rem .5rem;width:100%}.md-combobox-option .select-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default;display:block;letter-spacing:normal;width:calc(100% - 1.25rem)}.md-combobox-option .select-label span{margin-right:-.25rem;white-space:nowrap}.md-combobox-option .select-option{background:var(--combobox-dropdown-item-select-bg-color,#fff);border:1px solid var(--combobox-border-color,#b2b2b2);border-radius:calc(.5rem / 2);box-sizing:border-box;cursor:pointer;display:inline-block;height:1.25rem;margin-right:1rem;min-width:1.25rem;position:relative}.md-combobox-option .select-option md-icon{height:1.125rem;left:.125rem;position:absolute;top:-.1875rem;vertical-align:top;visibility:hidden}.md-combobox-option:hover{background:var(--combobox-dropdown-item-hover-bg-color,#c9f4ff)}.md-combobox-option.md-combobox-multiselect{border-bottom:1px solid var(--md-button-tertiary-outline-color,#545454)}.md-combobox-option[aria-checked=true] .select-option{background:var(--combobox-dropdown-item-checked-bg-color,#00a0d1);border:1px solid var(--combobox-dropdown-item-checked-bg-color,#00a0d1)}.md-combobox-option[aria-checked=true] .select-option md-icon{color:var(--combobox-dropdown-item-checked-icon-color,#fff);visibility:visible}.md-combobox-option[focused]{background:var(--combobox-dropdown-item-focus-bg-color,#91ebff)}.md-combobox__multiwrap{align-items:center;display:inline-flex;flex:1 1 auto;margin-left:0;max-height:calc(1.25rem * 4.5)}.md-combobox__multiwrap .selected-count{color:var(--md-primary-text-color,#f7f7f7)}.md-combobox__multiwrap .md-combobox-selected-item{align-items:center;background:var(--combobox-selected-bg-color,#dedede);border:1px solid var(--combobox-selected-border-color,#ccc);border-radius:.875rem;box-sizing:border-box;cursor:pointer;display:flex;font-size:12px;margin-bottom:calc(.25rem / 2);margin-right:.25rem;margin-top:.25rem;max-height:1.5rem;padding:0 .75rem}.md-combobox__multiwrap .md-combobox-selected-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;max-width:calc(1.25rem * 4)}.md-combobox__multiwrap .md-combobox-selected-item .remove-item{height:1.5rem}.md-combobox__multiwrap .md-combobox-selected-item:hover{background:var(--combobox-selected-hover,#b2b2b2)}.md-combobox__multiwrap .md-combobox-selected-item[selected]{background:var(--combobox-selected-hover,#b2b2b2)}.md-combobox__multiwrap input{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;color:var(--md-secondary-text-color,#545454);display:inline-block;flex:1 1 auto;height:2rem;outline:0}.md-combobox__multiwrap ::input-placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;width:calc(100%)}.md-combobox__multiwrap .remove-item{padding-left:calc(.25rem * 3)}.md-combobox-searchable .md-combobox__multiwrap{margin-left:calc(.25rem * 3)}`,x=function(t,e,i,o){var s,l=arguments.length,n=l<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(t,e,i,o);else for(var r=t.length-1;r>=0;r--)(s=t[r])&&(n=(l<3?s(n):l>3?s(e,i,n):s(e,i))||n);return l>3&&n&&Object.defineProperty(e,i,n),n},f=function(t,e,i,o){return new(i||(i=Promise))((function(s,l){function n(t){try{c(o.next(t))}catch(t){l(t)}}function r(t){try{c(o.throw(t))}catch(t){l(t)}}function c(t){var e;t.done?s(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(n,r)}c((o=o.apply(t,e||[])).next())}))};!function(t){let e=class extends(Object(l.a)(a.LitElement)){constructor(){super(...arguments),this._focusedIndex=-1,this._focusedGroupIndex=-1,this.label="Options",this.options=[],this.customOptions=[],this.placeholder="",this.isMulti=!1,this.useVirtualScroll=!1,this.disabled=!1,this.ordered=!1,this.expanded=!1,this.groupExpandedList=[],this.searchItem=!1,this.compact=!1,this.noClearIcon=!1,this.selectWhenInFocus=!1,this.selectedOptions=[],this.visibleOptions=8,this.optionId="",this.optionValue="",this.isCustomContent=!1,this.searchable=!1,this.shape="none",this.value=[],this.inputValue="",this.allowCustomValue=!1,this.autofocus=!1,this.resultsTextLocalization="No Results",this.optionsTextLocalization="No Options",this.trimSpace=!1,this.invalid=!1,this.invalidText="",this.ariaLabel="Combobox Input",this.clearAriaLabel="Clear",this.arrowAriaLabel="Expand",this.clearIconHeight="auto",this.allTextLocalization="All",this.selectAllTextLocalization="Select All",this.selectedTextLocalization="Selected",this.allowSelectAll=!1,this.showCustomError=!1,this.showLoader=!1,this.showSelectedCount=!1,this.isOptGroup=!1,this.isSelectAllChecked=!1,this.multiSelectedIndex=-1,this.multiSelected=[],this.customContent=[],this.notifySelectedChange=Object(r.b)(t=>{this.dispatchEvent(new CustomEvent("change-selected",{composed:!0,bubbles:!0,detail:t}))},0),this.handleGroupFilter=t=>{const e=t.filter(t=>{if("string"!=typeof t&&"true"===t.isLabel)return t.groupName});return this.searchItem=!0,this.groupExpandedList=e.map(t=>{if("string"!=typeof t)return t.groupName}),t.filter(e=>{if("string"!=typeof e&&"true"===e.isLabel){return!!t.find(t=>{if("string"!=typeof e&&"string"!=typeof t)return e.groupName===t.groupName&&"false"===t.isLabel})}return!0})},this.notifyInputValueChanged=Object(r.b)(t=>{this.dispatchEvent(new CustomEvent("combobox-input",{composed:!0,bubbles:!0,detail:{value:t}})),this.focusedGroupIndex=0,requestAnimationFrame(()=>{this.input.focus(),this.focusedGroupIndex=-1})},250),this.handleOutsideClick=t=>{let e=!1;const i=t.composedPath();i.length&&(e=!!i.find(t=>t===this),e||(this.setVisualListbox(!1),this.unselectedAllMultiTag()))}}get focusedIndex(){return this._focusedIndex}set focusedIndex(t){var e;const i=this._focusedIndex;if(this.checkForVirtualScroll()){let i;i=this.allowSelectAll?0===t?"selectAll":this.getOptionId(this.filteredOptions[t-1]):this.getOptionId(this.filteredOptions[t]);const o=this.lists?null===(e=[...this.lists])||void 0===e?void 0:e.find(t=>0!==t.offsetHeight&&t.id===i):"";this.lists&&[...this.lists].forEach(t=>{t.toggleAttribute("focused",!1)}),o&&(null==o||o.toggleAttribute("focused",!0))}else if(this.lists){const e=this.lists[i];e&&e.toggleAttribute("focused",!1);const o=this.lists[t];o&&o.toggleAttribute("focused",!0)}this._focusedIndex=t,this.requestUpdate("focusedIndex",i)}get focusedGroupIndex(){return this._focusedGroupIndex}set focusedGroupIndex(t){const e=this._focusedGroupIndex;if(this.labels&&0!==this.labels.length){const i=this.labels[e];i&&i.toggleAttribute("focused",!1);const o=this.labels[t];o&&(o.toggleAttribute("focused",!0),o.focus())}this._focusedGroupIndex=t,this.requestUpdate("focusedGroupIndex",e)}firstUpdated(t){super.firstUpdated(t),this.setAttribute("tabindex","0"),this.isCustomContent&&(this.optionId="id",this.optionValue="value",this.setOptionCustomContent()),this.setInitialValue()}updated(t){var e;super.updated(t),t.has("expanded")&&(this.expanded?(this.resizeListbox(),this.checkSelectedOptions()):this.unCheckAllOptions()),t.has("focusedIndex")&&this.focusedIndex>=0&&(this.checkForVirtualScroll()?null===(e=this.virtualizer)||void 0===e||e.scrollToIndex(this.focusedIndex,"center"):this.scrollToOption()),t.has("value")&&0===this.selectedOptions.length&&this.setInitialValue(),t.has("customOptions")&&this.isCustomContent&&(this.setOptionCustomContent(),this.resizeListbox()),t.has("showCustomError")&&this.resizeListbox(),t.has("showLoader")&&this.resizeListbox(),t.has("searchItem")&&this.resizeListbox()}handleFocusIn(t){this.disabled||(this.noClearIcon&&(requestAnimationFrame(()=>{this.input.focus(),this.focusedGroupIndex=-1}),this.selectWhenInFocus&&this.input.select()),super.handleFocusIn&&super.handleFocusIn(t)),this.dispatchEvent(new CustomEvent("combobox-focus-in",{composed:!0,bubbles:!0}))}handleFocusOut(t){super.handleFocusOut&&super.handleFocusOut(t),this.dispatchEvent(new CustomEvent("combobox-focus-out",{composed:!0,bubbles:!0}))}findFilteredOption(t){return this.isOptionObject(t)?this.filteredOptions.findIndex(e=>this.getOptionId(e)===this.getOptionId(t)&&this.getOptionValue(e)===this.getOptionValue(t)):this.filteredOptions.indexOf(t)}setInitialValue(){var t,e;if(this.value.length)if(this.isMulti)this.value.forEach(t=>{-1!==this.findFilteredOption(t)&&this.setSelectedOption(t)});else{const i=this.value[0],o=this.findFilteredOption(i);-1!==o&&(this.setSelectedOption(i),this.setInputValue(this.getOptionValue(i)),null===(t=this.input)||void 0===t||t.setAttribute(s.a.AriaActivedescendant,this.getOptionId(i)),this.focusedIndex=o,null===(e=this.virtualizer)||void 0===e||e.scrollToIndex(this.focusedIndex,"center"),this.focusedGroupIndex=-1)}}isOptionObject(t){return"object"==typeof t&&null!==t}setOptionCustomContent(){if(this.isOptGroup){const t=[...this.querySelectorAll("optgroup")],e=[];for(const i of t){const t=i.getAttribute("label"),o=[...i.querySelectorAll("[slot]")];e.push({isLabel:"true",[this.optionValue]:t,groupName:t});for(const i of o){const o=i.getAttribute("aria-label"),s=i.getAttribute("display-value"),l=i.getAttribute("slot");o&&s&&e.push({[this.optionId]:o,[this.optionValue]:s,isLabel:"false",groupName:t,slot:l})}}this.options=e}else this.customContent=[...this.querySelectorAll("[slot]")],this.customContent&&this.customContent.length?this.options=this.customContent.map(t=>{const e=t.getAttribute("aria-label"),i=t.getAttribute("display-value");if(e&&i)return{[this.optionId]:e,[this.optionValue]:i}}):this.options=[]}getOptionValue(t){return this.isOptionObject(t)?t[this.optionValue]:t}getOptionGroupName(t){return null==t?void 0:t.groupName}getOptionId(t){return this.isOptionObject(t)?t[this.optionId]:t}getFocusedItem(t){if(t>=0)return this.filteredOptions[t]}setupEvents(){document.addEventListener("click",this.handleOutsideClick),this.addEventListener("remove-all-selected",this.removeAllSelected),this.addEventListener("selected-changed",this.selectedChange)}teardownEvents(){document.removeEventListener("click",this.handleOutsideClick),this.removeEventListener("remove-all-selected",this.removeAllSelected),this.removeEventListener("selected-changed",this.selectedChange)}setVisualListbox(t){this.expanded=t}setGroupList(t){this.groupExpandedList.includes(t)?(this.groupExpandedList.splice(this.groupExpandedList.indexOf(t),1),this.groupExpandedList=[...this.groupExpandedList]):this.searchItem?this.groupExpandedList.push(t):this.groupExpandedList=[t]}findSelectedOption(t){return this.optionId&&t?this.selectedOptions.findIndex(e=>e&&e[this.optionId]===t[this.optionId]):this.selectedOptions.indexOf(t)}findOptionIndex(t){const e=t.composedPath();if(this.checkForVirtualScroll()){let t="";return[...this.lists].forEach(i=>{e.includes(i)&&(t=i.id)}),this.filteredOptions.findIndex(e=>this.getOptionId(e)===t)}return[...this.lists].findIndex(t=>e.includes(t))}checkSelectedOptions(){if(this.checkForVirtualScroll()){const t=this.selectedOptions.map(t=>this.getOptionId(t)),e=[...this.lists].filter(t=>"selectAll"!==t.id);null==e||e.forEach(e=>{t.includes(e.id)?(this.isMulti&&(null==e||e.setAttribute("aria-checked","true")),null==e||e.setAttribute("aria-selected","true")):this.isMulti&&(null==e||e.setAttribute("aria-checked","false"))})}}unCheckAllOptions(){var t;this.checkForVirtualScroll()&&this.isMulti&&(null===(t=[...this.lists])||void 0===t||t.forEach(t=>{"selectAll"!==(null==t?void 0:t.id)&&(null==t||t.setAttribute("aria-checked","false"))}))}setSelectedOption(t){this.isMulti||(this.selectedOptions=[]);const e=this.findSelectedOption(t);if(-1!==e){const t=this.selectedOptions[e];this.selectedOptions.splice(e,1),this.notifySelectedChange({value:t,selected:this.selectedOptions})}else this.selectedOptions.push(t),this.notifySelectedChange({value:t,selected:this.selectedOptions});this.checkSelectedOptions(),this.isMulti&&this.allowSelectAll&&(this.isSelectAllChecked=this.isSelectAllSelected()),this.requestUpdate()}filterOptions(t){if(t&&t.length){const e=this.options.filter(e=>this.isOptGroup&&"string"!=typeof e&&"true"===e.isLabel?e:(this.isCustomContent?this.getOptionId(e):this.getOptionValue(e)).toLowerCase().includes(t.toLowerCase()));return this.isOptGroup?this.handleGroupFilter(e):e}return this.searchItem=!1,this.options}resizeListbox(){this.updateOnNextFrame(()=>{var t;let e=0,i=0,o=0;if(this.lists){const t=this.checkForVirtualScroll()?[...this.lists].filter(t=>0!==t.offsetHeight):[...this.lists];e=t.slice(0,this.visibleOptions).reduce((t,e)=>t+e.offsetHeight,0),o=this.checkForVirtualScroll()&&this.allowSelectAll?t.slice(1,this.visibleOptions).reduce((t,e)=>t+e.offsetHeight,0):t.slice(0,this.visibleOptions).reduce((t,e)=>t+e.offsetHeight,0)}if(this.labels&&(i=[...this.labels].slice(0,this.visibleOptions).reduce((t,e)=>t+e.offsetHeight,0)),this.listBox&&(this.listBox.style.maxHeight=e+i+10+"px"),this.virtualizer&&(this.virtualizer.style.height=o+10+"px"),this.showCustomError||this.showLoader){const e=null===(t=this.listBox)||void 0===t?void 0:t.querySelector("[slot]");this.listBox&&e&&(this.listBox.style.height=e.clientHeight+2+"px",this.listBox.style.maxHeight=e.clientHeight+2+"px")}})}setInputValue(t=""){this.input.value=t}updateOnNextFrame(t){requestAnimationFrame(t)}unCheckedAllOptions(){this.isMulti&&(this.lists.forEach((t,e)=>this.unCheckedOption(e)),this.isSelectAllChecked=!1)}unCheckedOption(t){this.isMulti&&(this.lists[t].setAttribute("aria-checked","false"),this.notifySelectedChange({value:this.filteredOptions[t],selected:this.selectedOptions}))}checkAllOptions(){this.isMulti&&this.lists.forEach((t,e)=>this.checkOption(e))}checkOption(t){this.isMulti&&(this.lists[t].setAttribute("aria-checked","true"),this.notifySelectedChange({value:this.filteredOptions[t],selected:this.selectedOptions}))}isSelectAllSelected(){return this.selectedOptions.length===this.options.length}setFocusOnHost(t){this.setFocus&&this.setFocus(t)}isOptionFocused(t){return this.focusedIndex===t}getAriaState(t){return this.isOptionFocused(t)}scrollToOption(){var t,e;let i=0;const{top:o,bottom:s}=this.listBox.getBoundingClientRect(),l=this.lists[this.focusedIndex],n=null===(t=this.lists[this.focusedIndex+1]||l)||void 0===t?void 0:t.getBoundingClientRect(),r=null===(e=this.lists[this.focusedIndex-1]||l)||void 0===e?void 0:e.getBoundingClientRect();(null==n?void 0:n.bottom)>s?i=n.bottom-s+2:(null==r?void 0:r.top)<o&&(i=r.top-o-2),this.updateOnNextFrame(()=>{this.listBox.scrollTop+=i})}getCustomContentName(t){const e=this.options.indexOf(t);if(this.isOptGroup){const t=this.options[e];if(t&&"string"!=typeof t)return t.slot}else if(-1!==e)return this.customContent[e].slot}setInputSelectionRange(t,e){this.input.setSelectionRange(t,e)}isOptionChecked(t){return-1!==this.findSelectedOption(t)?"true":"false"}getInputSelection(){return this.input.selectionStart}canMultiSelect(){return 0===this.getInputSelection()&&0!==this.selectedOptions.length&&this.isMulti}removeMultiTag(){this.selected&&this.multiSelected.forEach(t=>{const e=this.selected[t];e&&e.hasAttribute("selected")&&this.removeSelected(this.selectedOptions[t])})}unselectedAllMultiTag(){this.selected&&this.selected.forEach(t=>t.removeAttribute("selected")),this.multiSelectedIndex=-1}findLastMultiSelected(){return this.selected[this.multiSelectedIndex]}toggleMultiSelectedTag(t,e){t&&t.toggleAttribute("selected",e)}selectMultiTag(t){if(this.canMultiSelect()){if(!t){this.multiSelected=[];const t=this.findLastMultiSelected();this.toggleMultiSelectedTag(t,!1)}this.multiSelectedIndex<=0?this.multiSelectedIndex=this.selectedOptions.length-1:this.multiSelectedIndex--,this.multiSelected.push(this.multiSelectedIndex);const e=this.findLastMultiSelected();this.toggleMultiSelectedTag(e,!0)}}handleListClick(t){return f(this,void 0,void 0,(function*(){this.dispatchEvent(new CustomEvent("selected-changed",{detail:{event:t}})),yield this.updateComplete,this.isMulti?this.setVisualListbox(!0):this.setVisualListbox(!1),this.updateOnNextFrame(()=>{this.input.focus(),this.focusedGroupIndex=-1})}))}handleSelectAll(){return f(this,void 0,void 0,(function*(){this.isSelectAllChecked=!this.isSelectAllChecked,this.isSelectAllChecked?(this.selectedOptions=[...this.options],this.checkAllOptions()):(this.selectedOptions=[],this.unCheckedAllOptions()),yield this.updateComplete,this.setVisualListbox(!0),this.notifySelectedChange({selected:this.selectedOptions})}))}handleInputKeyUp(t){switch(t.code){case s.b.Escape:break;case s.b.Backspace:this.setFocusOnHost(!0),this.setVisualListbox(!0),this.resizeListbox(),this.removeMultiTag();break;case s.b.ArrowLeft:this.isMulti&&(t.shiftKey?this.selectMultiTag(!0):this.selectMultiTag(!1));break;default:this.isMulti&&this.unselectedAllMultiTag()}}handleInput(t){const e=t.target.value;this.inputValue=e.trim(),this.notifyInputValueChanged(e.trim())}removeAllSelected(){var t;this.focusedIndex=-1,this.focusedGroupIndex=-1,this.selectedOptions=[],this.inputValue="",this.setInputValue(),null===(t=this.input)||void 0===t||t.setAttribute(s.a.AriaActivedescendant,""),this.setVisualListbox(!1),this.unCheckedAllOptions(),this.updateOnNextFrame(()=>{this.input.focus()}),this.notifySelectedChange({selected:this.selectedOptions})}removeSelected(t){const e=this.findSelectedOption(t),i=this.filteredOptions.indexOf(t);-1!==i&&this.unCheckedOption(i),-1!==e&&(this.selectedOptions.splice(e,1),this.requestUpdate()),this.updateOnNextFrame(()=>{this.input.focus(),this.focusedGroupIndex=-1})}selectedChange(t){var e;const{event:i}=t.detail;let o=this.findOptionIndex(i);if(-1!==o){this.focusedIndex=this.allowSelectAll&&this.checkForVirtualScroll()?o+1:o,this.isMulti&&this.allowSelectAll&&!this.checkForVirtualScroll()&&(o-=1);const t=this.getFocusedItem(o);t&&(this.setSelectedOption(t),this.isMulti?this.isMulti&&this.allowSelectAll&&(this.isSelectAllChecked=this.isSelectAllSelected()):(this.setInputValue(this.getOptionValue(t)),null===(e=this.input)||void 0===e||e.setAttribute(s.a.AriaActivedescendant,this.getOptionId(t))))}}shouldChangeButton(){const t=this.input&&this.input.value.length>0&&!this.noClearIcon||this.isMulti&&this.selectedOptions.length&&!this.noClearIcon;return t&&document.dispatchEvent(new CustomEvent("on-widget-update")),t}setCustomValue(){this.optionId||this.optionValue||(this.options=[...this.options,this.inputValue],this.setSelectedOption(this.inputValue),this.isMulti||this.updateOnNextFrame(()=>{var t;this.focusedIndex=this.filteredOptions.length-1;const e=this.getFocusedItem(this.focusedIndex);e&&(this.setInputValue(this.getOptionValue(e)),null===(t=this.input)||void 0===t||t.setAttribute(s.a.AriaActivedescendant,this.getOptionId(e)))}),this.dispatchEvent(new CustomEvent("custom-value-add",{composed:!0,bubbles:!0,detail:{value:this.inputValue}}))),this.inputValue=""}handleGroupFocus(){this.setFocusOnHost(!1),this.expanded||this.setVisualListbox(!0),this.filteredGroupOptions.length>0&&-1===this.focusedGroupIndex&&(this.focusedGroupIndex=this.filteredGroupOptions.findIndex(t=>"string"!=typeof t&&t.groupName===this.groupExpandedList[0])),this.updateOnNextFrame(()=>{-1===this.focusedGroupIndex||!this.allowSelectAll&&this.focusedGroupIndex>=this.filteredGroupOptions.length-1||this.allowSelectAll&&this.focusedGroupIndex>=this.filteredGroupOptions.length?this.focusedGroupIndex=0:this.focusedGroupIndex++}),this.focusedIndex=-1}handleInputKeyDown(t){var e,i;switch(t.code){case s.b.Backspace:this.focusedIndex=-1;break;case s.b.Tab:case s.b.Enter:if(this.setFocusOnHost(!0),this.setVisualListbox(!1),t.code===s.b.Tab&&this.isMulti)return;this.updateOnNextFrame(()=>{var t;const e=this.getFocusedItem(this.allowSelectAll?this.focusedIndex-1:this.focusedIndex);if(this.allowCustomValue&&this.input&&this.input.value.length){if(-1===this.findFilteredOption(this.inputValue))return void this.setCustomValue()}e&&(this.setSelectedOption(e),this.showSelectedCount||(this.setInputValue(this.getOptionValue(e)),null===(t=this.input)||void 0===t||t.setAttribute(s.a.AriaActivedescendant,this.getOptionId(e)))),this.isMulti&&this.allowSelectAll&&0===this.focusedIndex&&this.handleSelectAll()});break;case s.b.ArrowDown:if(this.isOptGroup&&0===this.filteredOptions.length)return void this.handleGroupFocus();this.setFocusOnHost(!1),this.expanded||this.setVisualListbox(!0),this.updateOnNextFrame(()=>{var t;-1===this.focusedIndex||!this.allowSelectAll&&this.focusedIndex>=this.filteredOptions.length-1||this.allowSelectAll&&this.focusedIndex>=this.filteredOptions.length?this.focusedIndex=0:this.focusedIndex++;const e=this.getFocusedItem(this.focusedIndex);this.groupExpandedList=[this.getOptionGroupName(e)],!this.showSelectedCount&&e&&(this.setInputValue(this.getOptionValue(e)),null===(t=this.input)||void 0===t||t.setAttribute(s.a.AriaActivedescendant,this.getOptionId(e))),this.focusedGroupIndex=-1});break;case s.b.ArrowUp:if(this.isOptGroup&&0===this.filteredOptions.length)return void this.handleGroupFocus();this.setFocusOnHost(!1),this.expanded||this.setVisualListbox(!0),this.updateOnNextFrame(()=>{var t;this.focusedIndex<=0?this.focusedIndex=this.allowSelectAll?this.filteredOptions.length:this.filteredOptions.length-1:this.focusedIndex--;const e=this.getFocusedItem(this.focusedIndex);this.groupExpandedList=[this.getOptionGroupName(e)],e&&!this.showSelectedCount&&(this.setInputValue(this.getOptionValue(e)),null===(t=this.input)||void 0===t||t.setAttribute(s.a.AriaActivedescendant,this.getOptionId(e)),this.focusedGroupIndex=-1)});break;case s.b.ArrowLeft:case s.b.ArrowRight:t.stopPropagation();break;case s.b.Escape:this.setFocusOnHost(!0),this.expanded?(t.stopPropagation(),this.setVisualListbox(!1)):(this.setInputValue(),null===(e=this.input)||void 0===e||e.setAttribute(s.a.AriaActivedescendant,""),this.focusedIndex=-1,this.focusedGroupIndex=-1,this.removeAllSelected());break;case s.b.Home:this.setInputSelectionRange(0,0);break;case s.b.End:{const{length:t}=this.inputValue;this.setInputSelectionRange(t,t)}break;case s.b.Space:if(this.expanded=!0,this.isMulti){t.preventDefault();const e=this.getFocusedItem(this.allowSelectAll?this.focusedIndex-1:this.focusedIndex);e&&(this.setSelectedOption(e),this.showSelectedCount||(this.setInputValue(),null===(i=this.input)||void 0===i||i.setAttribute(s.a.AriaActivedescendant,""))),0===this.focusedIndex&&this.allowSelectAll&&this.handleSelectAll()}}}handleGroupLabelKeyDown(t,e){switch(t.code){case s.b.Tab:this.handleGroupFocus();break;case s.b.Enter:case s.b.Space:-1!==this.focusedGroupIndex?this.toggleGroupListBox(t,e.value):(this.setFocusOnHost(!0),this.setVisualListbox(!1),this.updateOnNextFrame(()=>{var t;const e=this.getFocusedItem(this.allowSelectAll?this.focusedIndex-1:this.focusedIndex);e&&(this.setSelectedOption(e),this.showSelectedCount||(this.setInputValue(this.getOptionValue(e)),null===(t=this.input)||void 0===t||t.setAttribute(s.a.AriaActivedescendant,this.getOptionId(e)),this.updateOnNextFrame(()=>{this.input.focus(),this.focusedGroupIndex=-1}))),this.isMulti&&this.allowSelectAll&&0===this.focusedIndex&&this.handleSelectAll()}));break;case s.b.ArrowDown:if(0===this.filteredOptions.length)return;this.setFocusOnHost(!1),this.updateOnNextFrame(()=>{var t;-1===this.focusedIndex||!this.allowSelectAll&&this.focusedIndex>=this.filteredOptions.length-1||this.allowSelectAll&&this.focusedIndex>=this.filteredOptions.length?this.focusedIndex=0:this.focusedIndex++;const e=this.getFocusedItem(this.focusedIndex);this.groupExpandedList=[this.getOptionGroupName(e)],!this.showSelectedCount&&e&&(this.setInputValue(this.getOptionValue(e)),null===(t=this.input)||void 0===t||t.setAttribute(s.a.AriaActivedescendant,this.getOptionId(e))),this.focusedGroupIndex=-1});break;case s.b.ArrowUp:if(this.isOptGroup&&0===this.filteredOptions.length)return;this.setFocusOnHost(!1),this.updateOnNextFrame(()=>{var t;this.focusedIndex<=0?this.focusedIndex=this.allowSelectAll?this.filteredOptions.length:this.filteredOptions.length-1:this.focusedIndex--;const e=this.getFocusedItem(this.focusedIndex);this.groupExpandedList=[this.getOptionGroupName(e)],e&&!this.showSelectedCount&&(this.setInputValue(this.getOptionValue(e)),null===(t=this.input)||void 0===t||t.setAttribute(s.a.AriaActivedescendant,this.getOptionId(e)))});break;case s.b.Escape:this.focusedGroupIndex=-1,this.setVisualListbox(!1),this.setFocusOnHost(!0),this.input.focus();break;default:this.setVisualListbox(!0)}}toggleVisualListBox(t){var e,i;if(t.target.classList.contains("md-combobox-listbox"))t.target.focus();else if("md-icon"===t.target.localName){const o=null===(i=null===(e=t.target.parentElement)||void 0===e?void 0:e.parentElement)||void 0===i?void 0:i.parentElement;if(o){const t=o.querySelector(".md-combobox-listbox");Object(m.setTimeout)(()=>{t.focus()},10)}}this.expanded?this.setVisualListbox(!1):(this.dispatchEvent(new CustomEvent("combobox-on-expand",{composed:!0,bubbles:!0})),this.setVisualListbox(!0)),this.input.focus(),this.setGroupList(""),this.focusedGroupIndex=-1}toggleGroupListBox(t,e){t.stopPropagation(),this.focusedGroupIndex=this.filteredGroupOptions.findIndex(t=>"string"!=typeof t&&t.groupName===e),this.setGroupList(e),this.resizeListbox()}handleRemoveAll(t){t.stopPropagation(),this.dispatchEvent(new CustomEvent("remove-all-selected"))}connectedCallback(){super.connectedCallback(),this.setupEvents();this.querySelector("optgroup")&&(this.isOptGroup=!0)}disconnectedCallback(){super.disconnectedCallback(),this.teardownEvents()}static get styles(){return[c.a,g]}get listItemOptionMap(){return{"md-combobox-multiselect":this.isMulti}}get filteredOptions(){return this.filterOptions(this.trimSpace?this.inputValue.replace(/\s+/g,""):this.inputValue).filter(t=>!this.isOptGroup||("string"!=typeof t&&this.groupExpandedList.includes(this.getOptionGroupName(t))?"false"===t.isLabel:void 0))}get filteredGroupOptions(){return this.filterOptions(this.trimSpace?this.inputValue.replace(/\s+/g,""):this.inputValue).filter(t=>!this.isOptGroup||("string"!=typeof t?"true"===t.isLabel:void 0))}get comboBoxTemplateClassMap(){return{["md-combobox--"+this.shape]:!!this.shape,"md-combobox-searchable":this.searchable}}searchIconTemplate(){return a.html`
|
|
2
2
|
<md-icon name="icon-search_16" @click=${this.toggleVisualListBox}></md-icon>
|
|
3
3
|
`}selectedOptionTemplate(t){return a.html`
|
|
4
4
|
<div class="md-combobox-selected-item">
|
package/dist/chunks/md-80.js
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
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=Object(h.nanoid)(10),a="tab_"+s,d="tab_panel_"+s;e.setAttribute("id",a),e.setAttribute("aria-controls",d),e.selected=this.selected===i,"vertical"===this.direction&&(e.vertical=!0);const n=t[i];n?(n.setAttribute("id",d),n.setAttribute("aria-labelledby",a),n.selected=this.selected===i,e.disabled&&(n.hidden=!0,n.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`
|
|
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(","))}}})),this.allElements=[]}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=Object(h.nanoid)(10),a="tab_"+s,d="tab_panel_"+s;e.setAttribute("id",a),e.setAttribute("aria-controls",d),e.selected=this.selected===i,"vertical"===this.direction&&(e.vertical=!0);const l=t[i];l?(l.setAttribute("id",d),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 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,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(","))||[])}updateSelectedTabIndexOnClick(e){const t=this.allElements.indexOf(e.target.id);-1!==t&&this.updateSelectedTab(t)}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
|
-
class="md-tab__list ${Object(
|
|
4
|
+
class="md-tab__list ${Object(n.classMap)({"md-tab__justified":this.justified&&!this.isMoreTabMenuVisible,"no-tabs-visible":this.noTabsVisible})}"
|
|
5
5
|
role="tablist"
|
|
6
|
+
@click=${e=>{this.updateSelectedTabIndexOnClick(e)}}
|
|
6
7
|
>
|
|
7
8
|
<slot
|
|
8
9
|
name="tab"
|
|
9
|
-
class="${Object(
|
|
10
|
+
class="${Object(n.classMap)({"visible-tabs-slot":"horizontal"===this.direction})}"
|
|
10
11
|
></slot>
|
|
11
12
|
<div
|
|
12
13
|
id="visible-tabs-list"
|
|
13
|
-
class="visible-tabs-container ${Object(
|
|
14
|
+
class="visible-tabs-container ${Object(n.classMap)({"md-tab__justified":this.justified&&!this.isMoreTabMenuVisible})}"
|
|
14
15
|
>
|
|
15
|
-
${Object(r.repeat)(this.tabsFilteredAsVisibleList,e=>Object(h.nanoid)(10),e=>{var t;return
|
|
16
|
+
${Object(r.repeat)(this.tabsFilteredAsVisibleList,e=>{Object(h.nanoid)(10),!this.allElements.includes(e.id)&&this.allElements.push(e.id)},e=>{var t;return l.html`
|
|
16
17
|
<md-tab
|
|
17
18
|
.closable="${e.closable}"
|
|
18
19
|
.disabled="${e.disabled}"
|
|
@@ -33,7 +34,7 @@
|
|
|
33
34
|
<md-menu-overlay
|
|
34
35
|
custom-width="${"226px"}"
|
|
35
36
|
max-height="${"288px"}"
|
|
36
|
-
class="md-menu-overlay__more ${Object(
|
|
37
|
+
class="md-menu-overlay__more ${Object(n.classMap)({"md-menu-overlay__more--hidden":this.isMoreTabMenuMeasured&&!this.isMoreTabMenuVisible})}"
|
|
37
38
|
placement="bottom-end"
|
|
38
39
|
@menu-overlay-open="${()=>this.isMoreTabMenuOpen=!0}"
|
|
39
40
|
@menu-overlay-close="${()=>this.isMoreTabMenuOpen=!1}"
|
|
@@ -45,7 +46,7 @@
|
|
|
45
46
|
aria-haspopup="true"
|
|
46
47
|
tabindex="${this.isMoreTabMenuVisible?0:-1}"
|
|
47
48
|
.selected=${!!this.isMoreTabMenuVisible&&this.isMoreTabMenuSelected}
|
|
48
|
-
class="md-menu-overlay__more_tab ${Object(
|
|
49
|
+
class="md-menu-overlay__more_tab ${Object(n.classMap)({"md-menu-overlay__more_tab--hidden":!this.isMoreTabMenuVisible})}"
|
|
49
50
|
>
|
|
50
51
|
<span class="md-menu-overlay__overflow-label">${this.overflowLabel}</span>
|
|
51
52
|
<md-icon name="${this.isMoreTabMenuOpen?"arrow-up_16":"arrow-down_16"}" class="more-icon"></md-icon>
|
|
@@ -56,7 +57,7 @@
|
|
|
56
57
|
class="md-tab__list md-menu-overlay__more_list"
|
|
57
58
|
style="${Object(o.styleMap)(this.isMoreTabMenuScrollable&&this.moreTabMenuMaxHeight?{"overflow-y":"auto",height:this.moreTabMenuMaxHeight,"max-height":this.moreTabMenuMaxHeight}:{})}"
|
|
58
59
|
>
|
|
59
|
-
${Object(r.repeat)(this.tabsFilteredAsHiddenList,e=>Object(h.nanoid)(10),e=>
|
|
60
|
+
${Object(r.repeat)(this.tabsFilteredAsHiddenList,e=>Object(h.nanoid)(10),e=>l.html`
|
|
60
61
|
<md-tab
|
|
61
62
|
slot="draggable-item"
|
|
62
63
|
.disabled="${e.disabled}"
|
|
@@ -79,8 +80,8 @@
|
|
|
79
80
|
</div>
|
|
80
81
|
<div
|
|
81
82
|
part="tabs-content"
|
|
82
|
-
class="md-tab__content ${Object(
|
|
83
|
+
class="md-tab__content ${Object(n.classMap)({"no-tabs-visible":this.noTabsVisible})}"
|
|
83
84
|
>
|
|
84
85
|
<slot name="panel"></slot>
|
|
85
86
|
</div>
|
|
86
|
-
`}};v([Object(
|
|
87
|
+
`}};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={}))}}]);
|
|
@@ -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
|
|
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[];
|
|
@@ -100,6 +100,8 @@ export declare namespace Tabs {
|
|
|
100
100
|
private initializeSortable;
|
|
101
101
|
private initializeTabs;
|
|
102
102
|
connectedCallback(): void;
|
|
103
|
+
private allElements;
|
|
104
|
+
private updateSelectedTabIndexOnClick;
|
|
103
105
|
private selectTabFromStorage;
|
|
104
106
|
disconnectedCallback(): void;
|
|
105
107
|
protected firstUpdated(changedProperties: PropertyValues): void;
|