@momentum-design/components 0.123.3 → 0.123.4

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.
@@ -5208,7 +5208,7 @@
5208
5208
  :host([soft-disabled])::part(base-text) {
5209
5209
  --mdc-select-text-color: var(--mds-color-theme-text-primary-disabled);
5210
5210
  }
5211
- `,fg=[Qx,...At(!0)];var He=class extends Rs(Yi(ye(Ae(Ut(se))))){constructor(){super();this.placement=wt.BOTTOM_START;this.boundary=It.BOUNDARY;this.strategy=It.STRATEGY;this.popoverZIndex=It.Z_INDEX;this.disableFlip=ug.DISABLE_FLIP;this.displayPopover=!1;this.initialSelectedOption=null;this.debounceTime=500;this.searchString="";this.onStoreUpdate=(t,r,s,d)=>{switch(r){case"added":t.setAttribute("tabindex","-1");break;case"removed":{if(s===-1||d.length===0)return;let m=s+1;if(m>=d.length&&(m=s-1),m===-1&&this.displayPopover){this.displayPopover=!1,this.handleNativeInputFocus();return}if(t.tabIndex===0&&this.resetTabIndexes(m),t.hasAttribute("selected")){let g=null;this.placeholder||(g=s===0?d[m]:d[0]),this.setSelectedOption(g)}break}default:break}};this.isValidItem=t=>t.matches(`${mr}:not([disabled])`);this.addEventListener(Ht.MODIFIED,this.handleModifiedEvent),this.itemsStore=new Hr(this,{isValidItem:this.isValidItem,onStoreUpdate:this.onStoreUpdate})}connectedCallback(){super.connectedCallback(),this.loop="false",this.initialFocus=0,this.setupDebounceSearch()}disconnectedCallback(){var t;super.disconnectedCallback(),(t=this.debounceSearch)==null||t.cancel(),window.cancelAnimationFrame(this.animationFrameId)}get navItems(){return this.itemsStore.items}attributeChangedCallback(t,r,s){var d;if(super.attributeChangedCallback(t,r,s),t==="value"&&s!==""&&s!==r&&s!==((d=this.selectedOption)==null?void 0:d.value)&&this.navItems.length){let m=this.getFirstSelectedOption(),g=this.getFirstOption(),x=this.navItems.find(B=>B.value===s),L=null;if(x)L=x;else if(this.placeholder)L=null;else if(g)L=g;else if(m)L=m;else return;this.updateComplete.then(()=>{this.setSelectedOption(L)}).catch(B=>{this.onerror&&this.onerror(B)})}}getFirstSelectedOption(){return this.navItems.find(t=>t.hasAttribute("selected"))}getFirstOption(){return this.navItems[0]}handleModifiedEvent(t){let r=t.target,s=this.getFirstSelectedOption();switch(t.detail.change){case"selected":{s?this.setSelectedOption(s):this.setSelectedOption(r);break}case"unselected":{s?this.setSelectedOption(s):this.setSelectedOption(this.placeholder?null:this.getFirstOption());break}case"enabled":{this.itemsStore.add(r);break}case"disabled":{this.itemsStore.delete(r);break}default:break}}async firstUpdated(t){await this.updateComplete;let r=this.getFirstSelectedOption();if(r)this.initialSelectedOption=r,this.setSelectedOption(r);else if(this.placeholder)this.placeholder&&this.setInputValidity();else{let s=this.getFirstOption();this.setSelectedOption(s),this.fireEvents()}this.inputElement&&this.autoFocusOnMount&&(this.elementToAutoFocus=this.inputElement),super.firstUpdated(t)}updated(t){super.updated(t),(t.has("disabled")||t.has("softDisabled")||t.has("readonly"))&&(this.disabled||this.softDisabled||this.readonly)&&(this.displayPopover=!1)}handleOptionsClick(t){let r=t.target;r&&r.tagName===mr.toUpperCase()&&!r.hasAttribute("disabled")&&!r.hasAttribute("soft-disabled")&&(this.setSelectedOption(r),this.displayPopover=!1,this.fireEvents())}setSelectedOption(t){var r,s,d;t!==this.selectedOption&&(this.updateSelectedInChildOptions(t),this.resetTabIndexes(this.navItems.indexOf(t)),this.selectedOption=t,this.value=(s=(r=this.selectedOption)==null?void 0:r.value)!=null?s:"",this.internals.setFormValue(this.value),(d=this.inputElement)==null||d.setAttribute("value",this.value),this.setInputValidity())}updateSelectedInChildOptions(t){t==null||t.setAttribute("selected","true"),this.navItems.forEach(r=>{r!==t&&r.removeAttribute("selected")})}fireEvents(){this.dispatchInput(this.selectedOption),this.dispatchChange(this.selectedOption)}setInputValidity(){var t,r;!this.selectedOption&&this.required&&this.validationMessage?(t=this.inputElement)==null||t.setCustomValidity(this.validationMessage):(r=this.inputElement)==null||r.setCustomValidity(""),this.setValidity()}formResetCallback(){var r;let t=this.initialSelectedOption||null;((r=this.selectedOption)==null?void 0:r.value)!==(t==null?void 0:t.value)&&(this.setSelectedOption(t),this.fireEvents())}formStateRestoreCallback(t){var s;let r=this.navItems.find(d=>d.value===t||d.label===t);((s=this.selectedOption)==null?void 0:s.value)!==(r==null?void 0:r.value)&&(this.setSelectedOption(r||null),this.fireEvents())}dispatchChange(t){this.dispatchEvent(new CustomEvent("change",{detail:{value:t==null?void 0:t.value,label:t==null?void 0:t.label},composed:!0,bubbles:!0}))}dispatchInput(t){this.dispatchEvent(new CustomEvent("input",{detail:{value:t==null?void 0:t.value,label:t==null?void 0:t.label},composed:!0,bubbles:!0}))}handleClickCombobox(t){this.disabled||this.softDisabled||this.readonly||(this.displayPopover=!this.displayPopover,t.stopPropagation())}setupDebounceSearch(){this.debounceSearch=Vl(()=>{this.searchString=""},this.debounceTime)}debounceSearchKey(t){var r;return(r=this.debounceSearch)==null||r.call(this),this.searchString+=t,this.searchString}filterOptionsBySearchKey(t,r){return t.filter(s=>{var d;return(d=s.getAttribute("label"))==null?void 0:d.toLowerCase().startsWith(r.toLowerCase())})}handleSelectedOptionBasedOnFilter(t){let r=this.navItems.findIndex(g=>g.tabIndex===0)+1,s=[...this.navItems.slice(r),...this.navItems.slice(0,r)],d=this.filterOptionsBySearchKey(s,t),m=null;if(d.length)[m]=d;else if(t.split("").every(g=>g===t[0])){let g=this.navItems[r],x=this.filterOptionsBySearchKey(s,t[0]),L=x.filter(B=>B===g);m=L.length?L[0]:x[0]}this.navItems.indexOf(m)!==-1&&this.resetTabIndexAndSetFocusAfterUpdate(this.navItems.indexOf(m))}handleKeydownCombobox(t){if(!(this.disabled||this.softDisabled||this.readonly)){switch(t.key){case Q.ARROW_DOWN:case Q.ARROW_UP:case Q.ENTER:case Q.SPACE:this.displayPopover=!0,t.stopPropagation();break;case Q.HOME:{this.displayPopover=!0,this.resetTabIndexAndSetFocusAfterUpdate(0);break}case Q.END:{this.displayPopover=!0,this.resetTabIndexAndSetFocusAfterUpdate(this.navItems.length-1);break}default:{t.key.length===1&&(this.displayPopover=!0,this.handleSelectedOptionByKeyInput(t.key));break}}t.preventDefault(),t.stopPropagation()}}resetTabIndexAndSetFocusAfterUpdate(t){this.displayPopover&&(this.animationFrameId=window.requestAnimationFrame(()=>{this.resetTabIndexAndSetFocus(t)}))}handleNativeInputFocus(){this.visualCombobox.focus()}handleSelectedOptionByKeyInput(t){let r=this.debounceSearchKey(t);this.handleSelectedOptionBasedOnFilter(r)}handleKeydownPopover(t){t.key.length===1&&this.handleSelectedOptionByKeyInput(t.key)}render(){var t,r,s,d,m,g;return _`
5211
+ `,fg=[Qx,...At(!0)];var He=class extends Rs(Yi(ye(Ae(Ut(se))))){constructor(){super();this.placement=wt.BOTTOM_START;this.boundary=It.BOUNDARY;this.strategy=It.STRATEGY;this.popoverZIndex=It.Z_INDEX;this.disableFlip=ug.DISABLE_FLIP;this.displayPopover=!1;this.initialSelectedOption=null;this.debounceTime=500;this.searchString="";this.onStoreUpdate=(t,r,s,d)=>{switch(r){case"added":t.setAttribute("tabindex","-1");break;case"removed":{if(s===-1||d.length===0)return;let m=s+1;if(m>=d.length&&(m=s-1),m===-1&&this.displayPopover){this.displayPopover=!1,this.handleNativeInputFocus();return}if(t.tabIndex===0&&this.resetTabIndexes(m),t.hasAttribute("selected")){let g=null;this.placeholder||(g=s===0?d[m]:d[0]),this.setSelectedOption(g)}break}default:break}};this.isValidItem=t=>t.matches(`${mr}:not([disabled])`);this.addEventListener(Ht.MODIFIED,this.handleModifiedEvent),this.itemsStore=new Hr(this,{isValidItem:this.isValidItem,onStoreUpdate:this.onStoreUpdate})}connectedCallback(){super.connectedCallback(),this.loop="false",this.initialFocus=0,this.setupDebounceSearch()}disconnectedCallback(){var t;super.disconnectedCallback(),(t=this.debounceSearch)==null||t.cancel(),window.cancelAnimationFrame(this.animationFrameId)}get navItems(){return this.itemsStore.items}attributeChangedCallback(t,r,s){var d;if(super.attributeChangedCallback(t,r,s),t==="value"&&s!==""&&s!==r&&s!==((d=this.selectedOption)==null?void 0:d.value)&&this.navItems.length){let m=this.getFirstSelectedOption(),g=this.getFirstOption(),x=this.navItems.find(B=>B.value===s),L=null;if(x)L=x;else if(this.placeholder)L=null;else if(g)L=g;else if(m)L=m;else return;this.updateComplete.then(()=>{this.setSelectedOption(L)}).catch(B=>{this.onerror&&this.onerror(B)})}}getFirstSelectedOption(){return this.navItems.find(t=>t.hasAttribute("selected"))}getFirstOption(){return this.navItems[0]}handleModifiedEvent(t){let r=t.target,s=this.getFirstSelectedOption();switch(t.detail.change){case"selected":{s?this.setSelectedOption(s):this.setSelectedOption(r);break}case"unselected":{s?this.setSelectedOption(s):this.setSelectedOption(this.placeholder?null:this.getFirstOption());break}case"enabled":{this.itemsStore.add(r);break}case"disabled":{this.itemsStore.delete(r);break}default:break}}async firstUpdated(t){await this.updateComplete;let r=this.getFirstSelectedOption();if(r)this.initialSelectedOption=r,this.setSelectedOption(r);else if(this.placeholder)this.placeholder&&this.setInputValidity();else{let s=this.getFirstOption();this.setSelectedOption(s),this.fireEvents()}this.inputElement&&this.autoFocusOnMount&&(this.elementToAutoFocus=this.inputElement),super.firstUpdated(t)}updated(t){super.updated(t),(t.has("disabled")||t.has("softDisabled")||t.has("readonly"))&&(this.disabled||this.softDisabled||this.readonly)&&(this.displayPopover=!1)}handleOptionsClick(t){let r=t.target;r&&r.tagName===mr.toUpperCase()&&!r.hasAttribute("disabled")&&!r.hasAttribute("soft-disabled")&&(this.setSelectedOption(r),this.displayPopover=!1,this.fireEvents())}setSelectedOption(t){var r,s,d;t!==this.selectedOption&&(this.updateSelectedInChildOptions(t),this.resetTabIndexes(this.navItems.indexOf(t)),this.selectedOption=t,this.value=(s=(r=this.selectedOption)==null?void 0:r.value)!=null?s:"",this.internals.setFormValue(this.value),(d=this.inputElement)==null||d.setAttribute("value",this.value),this.setInputValidity())}updateSelectedInChildOptions(t){t==null||t.setAttribute("selected","true"),this.navItems.forEach(r=>{r!==t&&r.removeAttribute("selected")})}fireEvents(){this.dispatchInput(this.selectedOption),this.dispatchChange(this.selectedOption)}setInputValidity(){var t,r;!this.selectedOption&&this.required&&this.validationMessage?(t=this.inputElement)==null||t.setCustomValidity(this.validationMessage):(r=this.inputElement)==null||r.setCustomValidity(""),this.setValidity()}formResetCallback(){var r;let t=this.initialSelectedOption||null;((r=this.selectedOption)==null?void 0:r.value)!==(t==null?void 0:t.value)&&(this.setSelectedOption(t),this.fireEvents())}formStateRestoreCallback(t){var s;let r=this.navItems.find(d=>d.value===t||d.label===t);((s=this.selectedOption)==null?void 0:s.value)!==(r==null?void 0:r.value)&&(this.setSelectedOption(r||null),this.fireEvents())}dispatchChange(t){this.dispatchEvent(new CustomEvent("change",{detail:{value:t==null?void 0:t.value,label:t==null?void 0:t.label},composed:!0,bubbles:!0}))}dispatchInput(t){this.dispatchEvent(new CustomEvent("input",{detail:{value:t==null?void 0:t.value,label:t==null?void 0:t.label},composed:!0,bubbles:!0}))}handleClickCombobox(t){this.disabled||this.softDisabled||this.readonly||(this.displayPopover=!this.displayPopover,t.stopPropagation())}setupDebounceSearch(){this.debounceSearch=Vl(()=>{this.searchString=""},this.debounceTime)}debounceSearchKey(t){var r;return(r=this.debounceSearch)==null||r.call(this),this.searchString+=t,this.searchString}filterOptionsBySearchKey(t,r){return t.filter(s=>{var d;return(d=s.getAttribute("label"))==null?void 0:d.toLowerCase().startsWith(r.toLowerCase())})}handleSelectedOptionBasedOnFilter(t){let r=this.navItems.findIndex(g=>g.tabIndex===0)+1,s=[...this.navItems.slice(r),...this.navItems.slice(0,r)],d=this.filterOptionsBySearchKey(s,t),m=null;if(d.length)[m]=d;else if(t.split("").every(g=>g===t[0])){let g=this.navItems[r],x=this.filterOptionsBySearchKey(s,t[0]),L=x.filter(B=>B===g);m=L.length?L[0]:x[0]}this.navItems.indexOf(m)!==-1&&this.resetTabIndexAndSetFocusAfterUpdate(this.navItems.indexOf(m))}handleKeydownCombobox(t){if(!(this.disabled||this.softDisabled||this.readonly))switch(t.key){case Q.ARROW_DOWN:case Q.ARROW_UP:case Q.ENTER:case Q.SPACE:this.displayPopover=!0,t.preventDefault(),t.stopPropagation();break;case Q.HOME:{this.displayPopover=!0,this.resetTabIndexAndSetFocusAfterUpdate(0),t.preventDefault(),t.stopPropagation();break}case Q.END:{this.displayPopover=!0,this.resetTabIndexAndSetFocusAfterUpdate(this.navItems.length-1),t.preventDefault(),t.stopPropagation();break}default:{t.key.length===1&&(this.displayPopover=!0,this.handleSelectedOptionByKeyInput(t.key),t.preventDefault(),t.stopPropagation());break}}}resetTabIndexAndSetFocusAfterUpdate(t){this.displayPopover&&(this.animationFrameId=window.requestAnimationFrame(()=>{this.resetTabIndexAndSetFocus(t)}))}handleNativeInputFocus(){this.visualCombobox.focus()}handleSelectedOptionByKeyInput(t){let r=this.debounceSearchKey(t);this.handleSelectedOptionBasedOnFilter(r)}handleKeydownPopover(t){t.key.length===1&&this.handleSelectedOptionByKeyInput(t.key)}render(){var t,r,s,d,m,g;return _`
5212
5212
  ${this.renderLabel()}
5213
5213
  <div part="container">
5214
5214
  <div