@momentum-ui/web-components 2.9.0 → 2.9.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.
@@ -1,16 +1,15 @@
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(6),r=i(18),c=i(5),a=i(0),d=i(2),h=i(4),u=i(3),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`
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(6),r=i(18),a=i(5),c=i(0),d=i(2),h=i(4),u=i(3),p=i(14),b=i(9),m=(i(69),i(125)),g=c.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{a(o.next(t))}catch(t){l(t)}}function r(t){try{a(o.throw(t))}catch(t){l(t)}}function a(t){var e;t.done?s(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(n,r)}a((o=o.apply(t,e||[])).next())}))};!function(t){let e=class extends(Object(l.a)(c.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="",this.searchResultAriaLabel="",this.ariaLabelForComboBox="",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.notifySearchResultCount(),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)}notifySearchResultCount(){if(this.searchResultAriaLabel){let t=/{{.*?}}/g;this.ariaLabelForComboBox=this.searchResultAriaLabel.replace(t,this.filteredOptions.length.toString())}else this.ariaLabel?this.ariaLabelForComboBox=`${this.ariaLabel}, ${this.filteredOptions.length} results found.`:this.ariaLabelForComboBox=`ComboBox Element, ${this.filteredOptions.length} results found.`}firstUpdated(t){this.ariaLabelForComboBox=this.ariaLabel?this.ariaLabel:"ComboBox Element",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.notifySearchResultCount(),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[a.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 c.html`
2
2
  <md-icon name="icon-search_16" @click=${this.toggleVisualListBox}></md-icon>
3
- `}selectedOptionTemplate(t){return a.html`
3
+ `}selectedOptionTemplate(t){return c.html`
4
4
  <div class="md-combobox-selected-item">
5
5
  <span>${this.getOptionValue(t)}</span>
6
6
  <md-icon class="remove-item" name="cancel_8" @click=${()=>this.removeSelected(t)}></md-icon>
7
7
  </div>
8
- `}clearButtonTemplate(){return a.html`
8
+ `}clearButtonTemplate(){return c.html`
9
9
  <button
10
10
  type="button"
11
11
  class="md-combobox-button clear"
12
12
  aria-label=${this.clearAriaLabel}
13
- aria-expanded=${this.expanded}
14
13
  aria-controls="md-combobox-listbox"
15
14
  tabindex="0"
16
15
  ?disabled=${this.disabled}
@@ -24,7 +23,7 @@
24
23
  ></md-icon
25
24
  ></span>
26
25
  </button>
27
- `}arrowButtonTemplate(){return a.html`
26
+ `}arrowButtonTemplate(){return c.html`
28
27
  <button
29
28
  type="button"
30
29
  class="md-combobox-button arrow-down"
@@ -37,7 +36,7 @@
37
36
  >
38
37
  <span><md-icon name="icon-arrow-down_16"></md-icon> </span>
39
38
  </button>
40
- `}groupArrowButtonTemplate(t){const e=this.groupExpandedList.includes(t)?"icon-arrow-up_12":"icon-arrow-down_12";return a.html`
39
+ `}groupArrowButtonTemplate(t){const e=this.groupExpandedList.includes(t)?"icon-arrow-up_12":"icon-arrow-down_12";return c.html`
41
40
  <button
42
41
  type="button"
43
42
  class="md-combobox-button"
@@ -49,7 +48,7 @@
49
48
  >
50
49
  <span><md-icon name=${e}></md-icon> </span>
51
50
  </button>
52
- `}getSelectAllOption(){return a.html`
51
+ `}getSelectAllOption(){return c.html`
53
52
  <li
54
53
  id="selectAll"
55
54
  part="combobox-option"
@@ -65,13 +64,13 @@
65
64
 
66
65
  <span part="label" class="select-label">${this.selectAllTextLocalization}</span>
67
66
  </li>
68
- `}getSelctedCount(){return 0===this.selectedOptions.length?d.nothing:this.isSelectAllSelected()?a.html`
67
+ `}getSelctedCount(){return 0===this.selectedOptions.length?d.nothing:this.isSelectAllSelected()?c.html`
69
68
  <md-span class="selected-count">${this.allTextLocalization}</md-span>
70
- `:a.html`
69
+ `:c.html`
71
70
  <md-span class="selected-count">${this.selectedOptions.length} ${this.selectedTextLocalization}</md-span>
72
- `}checkForVirtualScroll(){return this.useVirtualScroll&&!this.isOptGroup}rangeChanged(){this.focusedIndex=this.focusedIndex,this.checkSelectedOptions(),this.resizeListbox()}getCustomErrorContent(){const t=this.querySelector("[slot]")||this.shadowRoot.querySelector("[slot]");return document.createRange().createContextualFragment(""+(null==t?void 0:t.outerHTML))}getCustomContent(t){const e=this.getCustomContentName(t);if(this.isOptGroup){const t=[...this.querySelectorAll("[slot]")].find(t=>t.slot===e);return t?document.createRange().createContextualFragment(""+t.outerHTML):a.html``}return a.html`
71
+ `}checkForVirtualScroll(){return this.useVirtualScroll&&!this.isOptGroup}rangeChanged(){this.focusedIndex=this.focusedIndex,this.checkSelectedOptions(),this.resizeListbox()}getCustomErrorContent(){const t=this.querySelector("[slot]")||this.shadowRoot.querySelector("[slot]");return document.createRange().createContextualFragment(""+(null==t?void 0:t.outerHTML))}getCustomContent(t){const e=this.getCustomContentName(t);if(this.isOptGroup){const t=[...this.querySelectorAll("[slot]")].find(t=>t.slot===e);return t?document.createRange().createContextualFragment(""+t.outerHTML):c.html``}return c.html`
73
72
  <slot name=${Object(u.ifDefined)(e)}></slot>
74
- `}renderGroupLabelHeader(t,e){return a.html`
73
+ `}renderGroupLabelHeader(t,e){return c.html`
75
74
  <div
76
75
  part="group-label"
77
76
  class="group-label"
@@ -86,11 +85,11 @@
86
85
  <span part="group-label">${t.value}</span>
87
86
  ${this.groupArrowButtonTemplate(t.value)}
88
87
  </div>
89
- `}renderWithoutVirtualScroll(){return Object(p.repeat)(this.filterOptions(this.trimSpace?this.inputValue.replace(/\s+/g,""):this.inputValue),t=>this.getOptionId(t),(t,e)=>"string"!=typeof t&&this.isOptGroup&&"true"===t.isLabel?this.renderGroupLabelHeader(t,e):!this.isOptGroup||this.groupExpandedList.includes(this.getOptionGroupName(t))?this.renderItem(t,e):void 0)}highlightingSearchedText(t){return Object(r.c)(this.getOptionValue(t),this.trimSpace?this.inputValue.replace(/\s+/g,""):this.inputValue).map(({text:t,matching:e})=>e?a.html`
88
+ `}renderWithoutVirtualScroll(){return Object(p.repeat)(this.filterOptions(this.trimSpace?this.inputValue.replace(/\s+/g,""):this.inputValue),t=>this.getOptionId(t),(t,e)=>"string"!=typeof t&&this.isOptGroup&&"true"===t.isLabel?this.renderGroupLabelHeader(t,e):!this.isOptGroup||this.groupExpandedList.includes(this.getOptionGroupName(t))?this.renderItem(t,e):void 0)}highlightingSearchedText(t){return Object(r.c)(this.getOptionValue(t),this.trimSpace?this.inputValue.replace(/\s+/g,""):this.inputValue).map(({text:t,matching:e})=>e?c.html`
90
89
  <span class="highlight-text">${t}</span>
91
- `:a.html`
90
+ `:c.html`
92
91
  <span class="selected-label-text">${t}</span>
93
- `)}addStyle(){const t=!this.expanded||this.options.length&&0===this.filteredOptions.length&&this.inputValue&&this.allowCustomValue;return this.checkForVirtualScroll()?Object(b.styleMap)({visibility:t?"hidden":"visible","z-index":t?"-1":"99",opacity:t?"0":"1",overflow:"hidden"}):Object(b.styleMap)({display:t?"none":"block","z-index":"99",overflow:"auto"})}renderItem(t,e){return a.html`
92
+ `)}addStyle(){const t=!this.expanded||this.options.length&&0===this.filteredOptions.length&&this.inputValue&&this.allowCustomValue;return this.checkForVirtualScroll()?Object(b.styleMap)({visibility:t?"hidden":"visible","z-index":t?"-1":"99",opacity:t?"0":"1",overflow:"hidden"}):Object(b.styleMap)({display:t?"none":"block","z-index":"99",overflow:"auto"})}renderItem(t,e){return c.html`
94
93
  <li
95
94
  id=${this.getOptionId(t)}
96
95
  title="${this.getOptionValue(t)}"
@@ -103,7 +102,7 @@
103
102
  @click=${this.handleListClick.bind(this)}
104
103
  aria-checked=${Object(u.ifDefined)(this.isMulti?this.isOptionChecked.call(this,t):void 0)}
105
104
  >
106
- ${this.isMulti?a.html`
105
+ ${this.isMulti?c.html`
107
106
  <span class="select-option">
108
107
  <md-icon name="icon-check_14"></md-icon>
109
108
  </span>
@@ -112,10 +111,10 @@
112
111
  ${this.isCustomContent?this.getCustomContent(t):this.highlightingSearchedText(t)}
113
112
  </span>
114
113
  </li>
115
- `}inputTitle(){return this.isMulti?this.selectedOptions.length>0?`${this.selectedOptions.length} ${this.selectedTextLocalization}`:this.placeholder:this.selectedOptions.length>0?this.getOptionValue(this.selectedOptions[0]):this.placeholder}render(){return a.html`
114
+ `}inputTitle(){return this.isMulti?this.selectedOptions.length>0?`${this.selectedOptions.length} ${this.selectedTextLocalization}`:this.placeholder:this.selectedOptions.length>0?this.getOptionValue(this.selectedOptions[0]):this.placeholder}render(){return c.html`
116
115
  <div
117
116
  part="combobox"
118
- aria-label=${this.ariaLabel}
117
+ aria-label=${this.ariaLabelForComboBox}
119
118
  class="md-combobox md-combobox-list ${Object(h.classMap)(this.comboBoxTemplateClassMap)}"
120
119
  >
121
120
  <div part="group" class="group ${Object(h.classMap)(this.listItemOptionMap)}">
@@ -127,7 +126,7 @@
127
126
  type="text"
128
127
  role="combobox"
129
128
  aria-autocomplete="both"
130
- aria-label=${this.ariaLabel}
129
+ aria-label=${this.ariaLabelForComboBox}
131
130
  part="multiwrap-input"
132
131
  aria-expanded=${this.expanded}
133
132
  placeholder=${this.isMulti&&this.showSelectedCount&&0!==this.selectedOptions.length?"":this.placeholder}
@@ -145,7 +144,7 @@
145
144
  </div>
146
145
  ${this.compact?d.nothing:this.shouldChangeButton()?this.clearButtonTemplate():this.arrowButtonTemplate()}
147
146
  </div>
148
- ${this.showLoader||this.showCustomError?a.html`
147
+ ${this.showLoader||this.showCustomError?c.html`
149
148
  <ul
150
149
  id="md-combobox-listbox"
151
150
  part="combobox-options"
@@ -155,7 +154,7 @@
155
154
  >
156
155
  ${this.getCustomErrorContent()}
157
156
  </ul>
158
- `:a.html`
157
+ `:c.html`
159
158
  <ul
160
159
  id="md-combobox-listbox"
161
160
  part="combobox-options"
@@ -164,7 +163,7 @@
164
163
  style=${this.addStyle()}
165
164
  >
166
165
  ${this.isMulti&&this.allowSelectAll&&this.expanded?this.getSelectAllOption():d.nothing}
167
- ${this.checkForVirtualScroll()?0!==this.options.length&&this.filterOptions(this.trimSpace?this.inputValue.replace(/\s+/g,""):this.inputValue).length>0?a.html`
166
+ ${this.checkForVirtualScroll()?0!==this.options.length&&this.filterOptions(this.trimSpace?this.inputValue.replace(/\s+/g,""):this.inputValue).length>0?c.html`
168
167
  <lit-virtualizer
169
168
  class="virtual-scroll"
170
169
  .items=${this.filterOptions(this.trimSpace?this.inputValue.replace(/\s+/g,""):this.inputValue)}
@@ -172,12 +171,12 @@
172
171
  @rangechange=${this.rangeChanged.bind(this)}
173
172
  ></lit-virtualizer>
174
173
  `:d.nothing:this.renderWithoutVirtualScroll()}
175
- ${this.options.length&&0===this.filteredOptions.length&&this.inputValue&&!this.allowCustomValue?a.html`
174
+ ${this.options.length&&0===this.filteredOptions.length&&this.inputValue&&!this.allowCustomValue?c.html`
176
175
  <li class="no-result" role="option" aria-selected="false" tabindex="-1">
177
176
  ${this.resultsTextLocalization.trim()}
178
177
  </li>
179
178
  `:d.nothing}
180
- ${0===this.options.length?a.html`
179
+ ${0===this.options.length?c.html`
181
180
  <li class="no-result" role="option" aria-selected="false" tabindex="-1">
182
181
  ${this.optionsTextLocalization.trim()}
183
182
  </li>
@@ -185,9 +184,9 @@
185
184
  </ul>
186
185
  `}
187
186
  </div>
188
- ${this.invalid?a.html`
187
+ ${this.invalid?c.html`
189
188
  <div part="message" class="md-combobox-error">
190
189
  <md-help-text .message=${this.invalidText} messageType="error"></md-help-text>
191
190
  </div>
192
191
  `:d.nothing}
193
- `}};x([Object(a.property)({type:String})],e.prototype,"label",void 0),x([Object(a.property)({type:Array})],e.prototype,"options",void 0),x([Object(a.property)({type:Array,attribute:"custom-options"})],e.prototype,"customOptions",void 0),x([Object(a.property)({type:String})],e.prototype,"placeholder",void 0),x([Object(a.property)({type:Boolean,attribute:"is-multi"})],e.prototype,"isMulti",void 0),x([Object(a.property)({type:Boolean,attribute:"use-virtual-scroll"})],e.prototype,"useVirtualScroll",void 0),x([Object(a.property)({type:Boolean,reflect:!0})],e.prototype,"disabled",void 0),x([Object(a.property)({type:Boolean,reflect:!0})],e.prototype,"ordered",void 0),x([Object(a.property)({type:Boolean,reflect:!0})],e.prototype,"expanded",void 0),x([Object(a.property)({type:Array,reflect:!0})],e.prototype,"groupExpandedList",void 0),x([Object(a.property)({type:Boolean,reflect:!0})],e.prototype,"searchItem",void 0),x([Object(a.property)({type:Boolean,reflect:!0})],e.prototype,"compact",void 0),x([Object(a.property)({type:Boolean,attribute:"no-clear-icon"})],e.prototype,"noClearIcon",void 0),x([Object(a.property)({type:Boolean,attribute:"select-when-in-focus"})],e.prototype,"selectWhenInFocus",void 0),x([Object(a.property)({type:Array})],e.prototype,"selectedOptions",void 0),x([Object(a.property)({type:Number,attribute:"visible-option",reflect:!0})],e.prototype,"visibleOptions",void 0),x([Object(a.property)({type:String,attribute:"option-id",reflect:!0})],e.prototype,"optionId",void 0),x([Object(a.property)({type:String,attribute:"option-value",reflect:!0})],e.prototype,"optionValue",void 0),x([Object(a.property)({type:Boolean,attribute:"with-custom-content"})],e.prototype,"isCustomContent",void 0),x([Object(a.property)({type:Boolean,reflect:!0})],e.prototype,"searchable",void 0),x([Object(a.property)({type:String})],e.prototype,"shape",void 0),x([Object(a.property)({type:Array})],e.prototype,"value",void 0),x([Object(a.property)({type:String,attribute:"input-value",reflect:!0})],e.prototype,"inputValue",void 0),x([Object(a.property)({type:Boolean,attribute:"allow-custom-value",reflect:!0})],e.prototype,"allowCustomValue",void 0),x([Object(a.property)({type:Boolean,reflect:!0})],e.prototype,"autofocus",void 0),x([Object(a.property)({type:String,attribute:"no-results-i18n"})],e.prototype,"resultsTextLocalization",void 0),x([Object(a.property)({type:String,attribute:"no-options-i18n"})],e.prototype,"optionsTextLocalization",void 0),x([Object(a.property)({type:Boolean,reflect:!0,attribute:"search-trim-space"})],e.prototype,"trimSpace",void 0),x([Object(a.property)({type:Boolean,reflect:!0})],e.prototype,"invalid",void 0),x([Object(a.property)({type:String,reflect:!0,attribute:"invalid-text-i18n"})],e.prototype,"invalidText",void 0),x([Object(a.property)({type:String,attribute:"aria-label"})],e.prototype,"ariaLabel",void 0),x([Object(a.property)({type:String,attribute:"clear-aria-label"})],e.prototype,"clearAriaLabel",void 0),x([Object(a.property)({type:String,attribute:"arrow-aria-label"})],e.prototype,"arrowAriaLabel",void 0),x([Object(a.property)({type:String,attribute:"clear-icon-height"})],e.prototype,"clearIconHeight",void 0),x([Object(a.property)({type:String,attribute:"all-i18n"})],e.prototype,"allTextLocalization",void 0),x([Object(a.property)({type:String,attribute:"select-all-i18n"})],e.prototype,"selectAllTextLocalization",void 0),x([Object(a.property)({type:String,attribute:"selected-all-i18n"})],e.prototype,"selectedTextLocalization",void 0),x([Object(a.property)({type:Boolean,attribute:"allow-select-all",reflect:!0})],e.prototype,"allowSelectAll",void 0),x([Object(a.property)({type:Boolean,attribute:"show-custom-error",reflect:!0})],e.prototype,"showCustomError",void 0),x([Object(a.property)({type:Boolean,attribute:"show-loader",reflect:!0})],e.prototype,"showLoader",void 0),x([Object(a.property)({type:Boolean,attribute:"show-selected-count",reflect:!0})],e.prototype,"showSelectedCount",void 0),x([Object(a.property)({type:Number,attribute:!1}),Object(a.internalProperty)()],e.prototype,"isOptGroup",void 0),x([Object(a.internalProperty)()],e.prototype,"isSelectAllChecked",void 0),x([Object(a.query)(".group")],e.prototype,"group",void 0),x([Object(a.query)(".md-combobox-listbox")],e.prototype,"input",void 0),x([Object(a.query)(".md-combobox-button")],e.prototype,"button",void 0),x([Object(a.query)("ul[role='listbox'")],e.prototype,"listBox",void 0),x([Object(a.query)(".virtual-scroll")],e.prototype,"virtualizer",void 0),x([Object(a.queryAll)("li[role='option']")],e.prototype,"lists",void 0),x([Object(a.queryAll)(".group-label")],e.prototype,"labels",void 0),x([Object(a.queryAll)(".md-combobox-selected-item")],e.prototype,"selected",void 0),e=x([Object(n.a)("md-combobox")],e),t.ELEMENT=e}(o||(o={}))}}]);
192
+ `}};x([Object(c.property)({type:String})],e.prototype,"label",void 0),x([Object(c.property)({type:Array})],e.prototype,"options",void 0),x([Object(c.property)({type:Array,attribute:"custom-options"})],e.prototype,"customOptions",void 0),x([Object(c.property)({type:String})],e.prototype,"placeholder",void 0),x([Object(c.property)({type:Boolean,attribute:"is-multi"})],e.prototype,"isMulti",void 0),x([Object(c.property)({type:Boolean,attribute:"use-virtual-scroll"})],e.prototype,"useVirtualScroll",void 0),x([Object(c.property)({type:Boolean,reflect:!0})],e.prototype,"disabled",void 0),x([Object(c.property)({type:Boolean,reflect:!0})],e.prototype,"ordered",void 0),x([Object(c.property)({type:Boolean,reflect:!0})],e.prototype,"expanded",void 0),x([Object(c.property)({type:Array,reflect:!0})],e.prototype,"groupExpandedList",void 0),x([Object(c.property)({type:Boolean,reflect:!0})],e.prototype,"searchItem",void 0),x([Object(c.property)({type:Boolean,reflect:!0})],e.prototype,"compact",void 0),x([Object(c.property)({type:Boolean,attribute:"no-clear-icon"})],e.prototype,"noClearIcon",void 0),x([Object(c.property)({type:Boolean,attribute:"select-when-in-focus"})],e.prototype,"selectWhenInFocus",void 0),x([Object(c.property)({type:Array})],e.prototype,"selectedOptions",void 0),x([Object(c.property)({type:Number,attribute:"visible-option",reflect:!0})],e.prototype,"visibleOptions",void 0),x([Object(c.property)({type:String,attribute:"option-id",reflect:!0})],e.prototype,"optionId",void 0),x([Object(c.property)({type:String,attribute:"option-value",reflect:!0})],e.prototype,"optionValue",void 0),x([Object(c.property)({type:Boolean,attribute:"with-custom-content"})],e.prototype,"isCustomContent",void 0),x([Object(c.property)({type:Boolean,reflect:!0})],e.prototype,"searchable",void 0),x([Object(c.property)({type:String})],e.prototype,"shape",void 0),x([Object(c.property)({type:Array})],e.prototype,"value",void 0),x([Object(c.property)({type:String,attribute:"input-value",reflect:!0})],e.prototype,"inputValue",void 0),x([Object(c.property)({type:Boolean,attribute:"allow-custom-value",reflect:!0})],e.prototype,"allowCustomValue",void 0),x([Object(c.property)({type:Boolean,reflect:!0})],e.prototype,"autofocus",void 0),x([Object(c.property)({type:String,attribute:"no-results-i18n"})],e.prototype,"resultsTextLocalization",void 0),x([Object(c.property)({type:String,attribute:"no-options-i18n"})],e.prototype,"optionsTextLocalization",void 0),x([Object(c.property)({type:Boolean,reflect:!0,attribute:"search-trim-space"})],e.prototype,"trimSpace",void 0),x([Object(c.property)({type:Boolean,reflect:!0})],e.prototype,"invalid",void 0),x([Object(c.property)({type:String,reflect:!0,attribute:"invalid-text-i18n"})],e.prototype,"invalidText",void 0),x([Object(c.property)({type:String,attribute:"aria-label"})],e.prototype,"ariaLabel",void 0),x([Object(c.property)({type:String,attribute:"search-result-aria-label"})],e.prototype,"searchResultAriaLabel",void 0),x([Object(c.internalProperty)()],e.prototype,"ariaLabelForComboBox",void 0),x([Object(c.property)({type:String,attribute:"clear-aria-label"})],e.prototype,"clearAriaLabel",void 0),x([Object(c.property)({type:String,attribute:"arrow-aria-label"})],e.prototype,"arrowAriaLabel",void 0),x([Object(c.property)({type:String,attribute:"clear-icon-height"})],e.prototype,"clearIconHeight",void 0),x([Object(c.property)({type:String,attribute:"all-i18n"})],e.prototype,"allTextLocalization",void 0),x([Object(c.property)({type:String,attribute:"select-all-i18n"})],e.prototype,"selectAllTextLocalization",void 0),x([Object(c.property)({type:String,attribute:"selected-all-i18n"})],e.prototype,"selectedTextLocalization",void 0),x([Object(c.property)({type:Boolean,attribute:"allow-select-all",reflect:!0})],e.prototype,"allowSelectAll",void 0),x([Object(c.property)({type:Boolean,attribute:"show-custom-error",reflect:!0})],e.prototype,"showCustomError",void 0),x([Object(c.property)({type:Boolean,attribute:"show-loader",reflect:!0})],e.prototype,"showLoader",void 0),x([Object(c.property)({type:Boolean,attribute:"show-selected-count",reflect:!0})],e.prototype,"showSelectedCount",void 0),x([Object(c.property)({type:Number,attribute:!1}),Object(c.internalProperty)()],e.prototype,"isOptGroup",void 0),x([Object(c.internalProperty)()],e.prototype,"isSelectAllChecked",void 0),x([Object(c.query)(".group")],e.prototype,"group",void 0),x([Object(c.query)(".md-combobox-listbox")],e.prototype,"input",void 0),x([Object(c.query)(".md-combobox-button")],e.prototype,"button",void 0),x([Object(c.query)("ul[role='listbox'")],e.prototype,"listBox",void 0),x([Object(c.query)(".virtual-scroll")],e.prototype,"virtualizer",void 0),x([Object(c.queryAll)("li[role='option']")],e.prototype,"lists",void 0),x([Object(c.queryAll)(".group-label")],e.prototype,"labels",void 0),x([Object(c.queryAll)(".md-combobox-selected-item")],e.prototype,"selected",void 0),e=x([Object(n.a)("md-combobox")],e),t.ELEMENT=e}(o||(o={}))}}]);
@@ -48,6 +48,8 @@ export declare namespace ComboBox {
48
48
  invalid: boolean;
49
49
  invalidText: string;
50
50
  ariaLabel: string;
51
+ searchResultAriaLabel: string;
52
+ ariaLabelForComboBox: string;
51
53
  clearAriaLabel: string;
52
54
  arrowAriaLabel: string;
53
55
  clearIconHeight: string;
@@ -67,6 +69,7 @@ export declare namespace ComboBox {
67
69
  private multiSelectedIndex;
68
70
  private multiSelected;
69
71
  private customContent;
72
+ private notifySearchResultCount;
70
73
  group?: HTMLDivElement;
71
74
  input?: HTMLInputElement;
72
75
  button?: HTMLButtonElement;
@@ -160,7 +163,7 @@ export declare namespace ComboBox {
160
163
  checkForVirtualScroll(): boolean;
161
164
  rangeChanged(): void;
162
165
  getCustomErrorContent(): DocumentFragment;
163
- getCustomContent(option: string | OptionMember): DocumentFragment | import("lit-element").TemplateResult;
166
+ getCustomContent(option: string | OptionMember): import("lit-element").TemplateResult | DocumentFragment;
164
167
  renderGroupLabelHeader(option: OptionMember, optionIndex: number): import("lit-element").TemplateResult;
165
168
  renderWithoutVirtualScroll(): import("lit-html").DirectiveFn;
166
169
  highlightingSearchedText(option: OptionMember | string): import("lit-element").TemplateResult[];
@@ -36,7 +36,7 @@ export declare namespace TimePicker {
36
36
  handleTimeBlur(event: CustomEvent, unit: TimePicker.TimeUnit): void;
37
37
  static get styles(): import("lit-element").CSSResult[];
38
38
  formatTimeUnit: (unit: TimePicker.TimeUnit) => void;
39
- messageType: (isValid: boolean) => "error" | "";
39
+ messageType: (isValid: boolean) => "" | "error";
40
40
  generateTimeBox: (unit: TimePicker.TimeUnit) => import("lit-element").TemplateResult;
41
41
  generateAmPmComboBox: () => import("lit-element").TemplateResult;
42
42
  render(): import("lit-element").TemplateResult;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@momentum-ui/web-components",
3
- "version": "2.9.0",
3
+ "version": "2.9.1",
4
4
  "author": "Yana Harris",
5
5
  "license": "MIT",
6
6
  "repository": "https://github.com/momentum-design/momentum-ui.git",