@momentum-design/components 0.142.3 → 0.142.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.
@@ -6234,7 +6234,7 @@
6234
6234
  :host([soft-disabled])::part(base-text) {
6235
6235
  --mdc-select-text-color: var(--mds-color-theme-text-primary-disabled);
6236
6236
  }
6237
- `,eE=[yI,...At(!0)];var vr=class extends Ti(Lt(xi(Ve(ve(oe(ee)))))){constructor(){super();this.placement=Mt.BOTTOM_START;this.boundary=Et.BOUNDARY;this.strategy=Et.STRATEGY;this.popoverZIndex=void 0;this.disableFlip=tE.DISABLE_FLIP;this.displayPopover=!1;this.initialSelectedOption=null;this.debounceTime=500;this.searchString="";this.onStoreUpdate=(t,e,i,a)=>{switch(e){case"added":t.setAttribute("tabindex",i===0&&a.length===0?"0":"-1"),t.hasAttribute("selected")&&this.resetTabIndexes(i);break;case"removed":{if(i===-1||a.length===0)return;let d=i+1;if(d>=a.length&&(d=i-1),d===-1&&this.displayPopover){this.displayPopover=!1,this.handleNativeInputFocus();return}if(t.tabIndex===0&&this.resetTabIndexes(d),t.hasAttribute("selected")){let f=null;this.placeholder||(f=i===0?a[d]:a[0]),this.setSelectedOption(f)}break}default:break}};this.isValidItem=t=>t.matches(`${Cr}:not([disabled])`);this.addEventListener(Qt.MODIFIED,this.handleModifiedEvent),this.itemsStore=new Dr(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,e,i){var a;if(super.attributeChangedCallback(t,e,i),t==="value"&&i!==""&&i!==e&&i!==((a=this.selectedOption)==null?void 0:a.value)&&this.navItems.length){let d=this.getFirstSelectedOption(),f=this.getFirstOption(),v=this.navItems.find(R=>R.value===i),S=null;if(v)S=v;else if(this.placeholder)S=null;else if(f)S=f;else if(d)S=d;else return;this.updateComplete.then(()=>{this.setSelectedOption(S)}).catch(R=>{this.onerror&&this.onerror(R)})}}getFirstSelectedOption(){return this.navItems.find(t=>t.hasAttribute("selected"))}getFirstOption(){return this.navItems[0]}handleModifiedEvent(t){let e=t.target,i=this.getFirstSelectedOption();switch(t.detail.change){case"selected":{i&&i!==this.selectedOption?this.setSelectedOption(i):this.setSelectedOption(e);break}case"unselected":{i?this.setSelectedOption(i):this.setSelectedOption(this.placeholder?null:this.getFirstOption());break}case"enabled":{this.itemsStore.add(e);break}case"disabled":{this.itemsStore.delete(e);break}default:break}}async firstUpdated(t){await this.updateComplete;let e=this.getFirstSelectedOption();if(e)this.initialSelectedOption=e,this.setSelectedOption(e);else if(this.placeholder)this.placeholder&&this.setInputValidity();else{let i=this.getFirstOption();this.setSelectedOption(i),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 e=t.target;e&&e.tagName===Cr.toUpperCase()&&!e.hasAttribute("disabled")&&!e.hasAttribute("soft-disabled")&&(this.setSelectedOption(e),e.isKeyDownEventHandled&&this.keyDownEventHandled(),this.displayPopover=!1,this.fireEvents())}setSelectedOption(t){var e,i,a;t!==this.selectedOption&&(this.updateSelectedInChildOptions(t),this.resetTabIndexes(this.navItems.indexOf(t)),this.selectedOption=t,this.value=(i=(e=this.selectedOption)==null?void 0:e.value)!=null?i:"",this.internals.setFormValue(this.value),(a=this.inputElement)==null||a.setAttribute("value",this.value),this.setInputValidity())}updateSelectedInChildOptions(t){t==null||t.setAttribute("selected","true"),this.navItems.forEach(e=>{e!==t&&e.removeAttribute("selected")})}fireEvents(){this.dispatchInput(this.selectedOption),this.dispatchChange(this.selectedOption)}setInputValidity(){var t,e;!this.selectedOption&&this.required&&this.validationMessage?(t=this.inputElement)==null||t.setCustomValidity(this.validationMessage):(e=this.inputElement)==null||e.setCustomValidity(""),this.setValidity()}formResetCallback(){var e;let t=this.initialSelectedOption||null;((e=this.selectedOption)==null?void 0:e.value)!==(t==null?void 0:t.value)&&(this.setSelectedOption(t),this.fireEvents())}formStateRestoreCallback(t){var i;let e=this.navItems.find(a=>a.value===t||a.label===t);((i=this.selectedOption)==null?void 0:i.value)!==(e==null?void 0:e.value)&&(this.setSelectedOption(e||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=qd(()=>{this.searchString=""},this.debounceTime)}debounceSearchKey(t){var e;return(e=this.debounceSearch)==null||e.call(this),this.searchString+=t,this.searchString}filterOptionsBySearchKey(t,e){return t.filter(i=>{var a;return(a=i.getAttribute("label"))==null?void 0:a.toLowerCase().startsWith(e.toLowerCase())})}handleSelectedOptionBasedOnFilter(t){let e=this.navItems.findIndex(f=>f.tabIndex===0)+1,i=[...this.navItems.slice(e),...this.navItems.slice(0,e)],a=this.filterOptionsBySearchKey(i,t),d=null;if(a.length)[d]=a;else if(t.split("").every(f=>f===t[0])){let f=this.navItems[e],v=this.filterOptionsBySearchKey(i,t[0]),S=v.filter(R=>R===f);d=S.length?S[0]:v[0]}this.navItems.indexOf(d)!==-1&&this.resetTabIndexAndSetFocusAfterUpdate(this.navItems.indexOf(d))}handleKeydownCombobox(t){if(this.disabled||this.softDisabled||this.readonly)return;let e=this.getActionForKeyEvent(t);if(this.getKeyboardNavMode()===re.DEFAULT)switch(e){case H.DOWN:case H.UP:case H.ENTER:this.displayPopover||this.keyDownEventHandled(),this.displayPopover=!0,t.preventDefault(),t.stopPropagation();break;case H.SPACE:t.preventDefault(),t.stopPropagation();break;case H.HOME:{this.displayPopover=!0,this.resetTabIndexAndSetFocusAfterUpdate(0),t.preventDefault(),t.stopPropagation();break}case H.END:{this.displayPopover=!0,this.resetTabIndexAndSetFocusAfterUpdate(this.navItems.length-1),t.preventDefault(),t.stopPropagation();break}default:{t.key.length===1&&!t.metaKey&&!t.ctrlKey&&!t.altKey&&(this.displayPopover=!0,this.handleSelectedOptionByKeyInput(t.key),t.preventDefault(),t.stopPropagation());break}}else e===H.ENTER&&(this.displayPopover=!0,t.preventDefault(),t.stopPropagation())}handleKeyupCombobox(t){if(this.disabled||this.softDisabled||this.readonly)return;let e=this.getActionForKeyEvent(t);this.getKeyboardNavMode()===re.DEFAULT&&e===H.SPACE&&(this.displayPopover||this.keyDownEventHandled(),this.displayPopover=!0,t.preventDefault(),t.stopPropagation())}resetTabIndexAndSetFocusAfterUpdate(t){this.displayPopover&&(this.animationFrameId=window.requestAnimationFrame(()=>{this.resetTabIndexAndSetFocus(t)}))}handleNativeInputFocus(){this.visualCombobox.focus()}handleSelectedOptionByKeyInput(t){let e=this.debounceSearchKey(t);this.handleSelectedOptionBasedOnFilter(e)}handleKeydownPopover(t){this.getKeyboardNavMode()===re.DEFAULT&&t.key.length===1&&this.handleSelectedOptionByKeyInput(t.key)}render(){var t,e,i,a,d,f;return A`
6237
+ `,eE=[yI,...At(!0)];var vr=class extends Ti(Lt(xi(Ve(ve(oe(ee)))))){constructor(){super();this.placement=Mt.BOTTOM_START;this.boundary=Et.BOUNDARY;this.strategy=Et.STRATEGY;this.popoverZIndex=void 0;this.disableFlip=tE.DISABLE_FLIP;this.displayPopover=!1;this.initialSelectedOption=null;this.debounceTime=500;this.searchString="";this.onStoreUpdate=(t,e,i,a)=>{switch(e){case"added":t.setAttribute("tabindex",i===0&&a.length===0?"0":"-1"),t.hasAttribute("selected")&&this.resetTabIndexes(i);break;case"removed":{if(i===-1||a.length===0)return;let d=i+1;if(d>=a.length&&(d=i-1),d===-1&&this.displayPopover){this.displayPopover=!1,this.handleNativeInputFocus();return}if(t.tabIndex===0&&this.resetTabIndexes(d),t.hasAttribute("selected")){let f=null;this.placeholder||(f=i===0?a[d]:a[0]),this.setSelectedOption(f)}break}default:break}};this.isValidItem=t=>t.matches(`${Cr}:not([disabled])`);this.addEventListener(Qt.MODIFIED,this.handleModifiedEvent),this.itemsStore=new Dr(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,e,i){var a;if(super.attributeChangedCallback(t,e,i),t==="value"&&i!==""&&i!==e&&i!==((a=this.selectedOption)==null?void 0:a.value)&&this.navItems.length){let d=this.getFirstSelectedOption(),f=this.getFirstOption(),v=this.navItems.find(R=>R.value===i),S=null;if(v)S=v;else if(this.placeholder)S=null;else if(f)S=f;else if(d)S=d;else return;this.updateComplete.then(()=>{this.setSelectedOption(S)}).catch(R=>{this.onerror&&this.onerror(R)})}}getFirstSelectedOption(){return this.navItems.find(t=>t.hasAttribute("selected"))}getFirstOption(){return this.navItems[0]}handleModifiedEvent(t){let e=t.target,i=this.getFirstSelectedOption();switch(t.detail.change){case"selected":{i&&i!==this.selectedOption?this.setSelectedOption(i):this.setSelectedOption(e);break}case"unselected":{if(e!==this.selectedOption)break;i?this.setSelectedOption(i):this.setSelectedOption(this.placeholder?null:this.getFirstOption());break}case"enabled":{this.itemsStore.add(e);break}case"disabled":{this.itemsStore.delete(e);break}default:break}}async firstUpdated(t){await this.updateComplete;let e=this.getFirstSelectedOption();if(e)this.initialSelectedOption=e,this.setSelectedOption(e);else if(this.placeholder)this.placeholder&&this.setInputValidity();else{let i=this.getFirstOption();this.setSelectedOption(i),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 e=t.target;e&&e.tagName===Cr.toUpperCase()&&!e.hasAttribute("disabled")&&!e.hasAttribute("soft-disabled")&&(this.setSelectedOption(e),e.isKeyDownEventHandled&&this.keyDownEventHandled(),this.displayPopover=!1,this.fireEvents())}setSelectedOption(t){var e,i,a;t!==this.selectedOption&&(this.updateSelectedInChildOptions(t),this.resetTabIndexes(this.navItems.indexOf(t)),this.selectedOption=t,this.value=(i=(e=this.selectedOption)==null?void 0:e.value)!=null?i:"",this.internals.setFormValue(this.value),(a=this.inputElement)==null||a.setAttribute("value",this.value),this.setInputValidity())}updateSelectedInChildOptions(t){t==null||t.setAttribute("selected","true"),this.navItems.forEach(e=>{e!==t&&e.removeAttribute("selected")})}fireEvents(){this.dispatchInput(this.selectedOption),this.dispatchChange(this.selectedOption)}setInputValidity(){var t,e;!this.selectedOption&&this.required&&this.validationMessage?(t=this.inputElement)==null||t.setCustomValidity(this.validationMessage):(e=this.inputElement)==null||e.setCustomValidity(""),this.setValidity()}formResetCallback(){var e;let t=this.initialSelectedOption||null;((e=this.selectedOption)==null?void 0:e.value)!==(t==null?void 0:t.value)&&(this.setSelectedOption(t),this.fireEvents())}formStateRestoreCallback(t){var i;let e=this.navItems.find(a=>a.value===t||a.label===t);((i=this.selectedOption)==null?void 0:i.value)!==(e==null?void 0:e.value)&&(this.setSelectedOption(e||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=qd(()=>{this.searchString=""},this.debounceTime)}debounceSearchKey(t){var e;return(e=this.debounceSearch)==null||e.call(this),this.searchString+=t,this.searchString}filterOptionsBySearchKey(t,e){return t.filter(i=>{var a;return(a=i.getAttribute("label"))==null?void 0:a.toLowerCase().startsWith(e.toLowerCase())})}handleSelectedOptionBasedOnFilter(t){let e=this.navItems.findIndex(f=>f.tabIndex===0)+1,i=[...this.navItems.slice(e),...this.navItems.slice(0,e)],a=this.filterOptionsBySearchKey(i,t),d=null;if(a.length)[d]=a;else if(t.split("").every(f=>f===t[0])){let f=this.navItems[e],v=this.filterOptionsBySearchKey(i,t[0]),S=v.filter(R=>R===f);d=S.length?S[0]:v[0]}this.navItems.indexOf(d)!==-1&&this.resetTabIndexAndSetFocusAfterUpdate(this.navItems.indexOf(d))}handleKeydownCombobox(t){if(this.disabled||this.softDisabled||this.readonly)return;let e=this.getActionForKeyEvent(t);if(this.getKeyboardNavMode()===re.DEFAULT)switch(e){case H.DOWN:case H.UP:case H.ENTER:this.displayPopover||this.keyDownEventHandled(),this.displayPopover=!0,t.preventDefault(),t.stopPropagation();break;case H.SPACE:t.preventDefault(),t.stopPropagation();break;case H.HOME:{this.displayPopover=!0,this.resetTabIndexAndSetFocusAfterUpdate(0),t.preventDefault(),t.stopPropagation();break}case H.END:{this.displayPopover=!0,this.resetTabIndexAndSetFocusAfterUpdate(this.navItems.length-1),t.preventDefault(),t.stopPropagation();break}default:{t.key.length===1&&!t.metaKey&&!t.ctrlKey&&!t.altKey&&(this.displayPopover=!0,this.handleSelectedOptionByKeyInput(t.key),t.preventDefault(),t.stopPropagation());break}}else e===H.ENTER&&(this.displayPopover=!0,t.preventDefault(),t.stopPropagation())}handleKeyupCombobox(t){if(this.disabled||this.softDisabled||this.readonly)return;let e=this.getActionForKeyEvent(t);this.getKeyboardNavMode()===re.DEFAULT&&e===H.SPACE&&(this.displayPopover||this.keyDownEventHandled(),this.displayPopover=!0,t.preventDefault(),t.stopPropagation())}resetTabIndexAndSetFocusAfterUpdate(t){this.displayPopover&&(this.animationFrameId=window.requestAnimationFrame(()=>{this.resetTabIndexAndSetFocus(t)}))}handleNativeInputFocus(){this.visualCombobox.focus()}handleSelectedOptionByKeyInput(t){let e=this.debounceSearchKey(t);this.handleSelectedOptionBasedOnFilter(e)}handleKeydownPopover(t){this.getKeyboardNavMode()===re.DEFAULT&&t.key.length===1&&this.handleSelectedOptionByKeyInput(t.key)}render(){var t,e,i,a,d,f;return A`
6238
6238
  ${this.renderLabel()}
6239
6239
  <div part="container">
6240
6240
  <div