@govtechsg/sgds-web-component 3.5.6-rc.1 → 3.5.6-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/ComboBox/index.umd.min.js +1 -1
- package/components/ComboBox/index.umd.min.js.map +1 -1
- package/components/ComboBox/sgds-combo-box.js +2 -0
- package/components/ComboBox/sgds-combo-box.js.map +1 -1
- package/components/index.umd.min.js +1 -1
- package/components/index.umd.min.js.map +1 -1
- package/index.umd.min.js +1 -1
- package/index.umd.min.js.map +1 -1
- package/package.json +1 -1
- package/react/components/ComboBox/sgds-combo-box.cjs.js +2 -0
- package/react/components/ComboBox/sgds-combo-box.cjs.js.map +1 -1
- package/react/components/ComboBox/sgds-combo-box.js +2 -0
- package/react/components/ComboBox/sgds-combo-box.js.map +1 -1
|
@@ -2087,7 +2087,7 @@ class extends ct{constructor(e){if(super(e),e.type!==at&&e.type!==ot&&e.type!==n
|
|
|
2087
2087
|
* Copyright 2017 Google LLC
|
|
2088
2088
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
2089
2089
|
*/
|
|
2090
|
-
const ql=(e,t,i)=>{const l=new Map;for(let o=t;o<=i;o++)l.set(e[o],o);return l};const jl=rt(class extends ct{constructor(e){if(super(e),e.type!==st)throw new Error("repeat() can only be used in text expressions")}_getValuesAndKeys(e,t,i){let l;void 0===i?i=t:void 0!==t&&(l=t);const o=[],s=[];let a=0;for(const t of e)o[a]=l?l(t,a):a,s[a]=i(t,a),a++;return{values:s,keys:o}}render(e,t,i){return this._getValuesAndKeys(e,t,i).values}update(e,[t,i,l]){const o=e._$committedValue;const{values:s,keys:a}=this._getValuesAndKeys(t,i,l);if(!Array.isArray(o))return this._itemKeys=a,s;const n=this._itemKeys??=[],r=[];let c,d,h=0,u=o.length-1,v=0,p=s.length-1;for(;h<=u&&v<=p;)if(null===o[h])h++;else if(null===o[u])u--;else if(n[h]===a[v])r[v]=mt(o[h],s[v]),h++,v++;else if(n[u]===a[p])r[p]=mt(o[u],s[p]),u--,p--;else if(n[h]===a[p])r[p]=mt(o[h],s[p]),ft(e,r[p+1],o[h]),h++,p--;else if(n[u]===a[v])r[v]=mt(o[u],s[v]),ft(e,o[h],o[u]),u--,v++;else if(void 0===c&&(c=ql(a,v,p),d=ql(n,h,u)),c.has(n[h]))if(c.has(n[u])){const t=d.get(a[v]),i=void 0!==t?o[t]:null;if(null===i){const t=ft(e,o[h]);mt(t,s[v]),r[v]=t}else r[v]=mt(i,s[v]),ft(e,o[h],i),o[t]=null;v++}else yt(o[u]),u--;else yt(o[h]),h++;for(;v<=p;){const t=ft(e,r[p+1]);mt(t,s[v]),r[v++]=t}for(;h<=u;){const e=o[h++];null!==e&&yt(e)}return this._itemKeys=a,bt(e,r),te}});class Kl extends Cl{constructor(){super(...arguments),this.multiSelect=!1,this.badgeFullWidth=!1,this.filterFunction=(e,t)=>t.label.toLowerCase().startsWith(e.toLowerCase()),this.optionList=[],this.emptyMenu=!1}connectedCallback(){super.connectedCallback(),this.addEventListener("sgds-hide",(async()=>{(await this._input).focus(),this.options.forEach((e=>e.removeAttribute("hidden"))),this.emptyMenu=!1}))}async firstUpdated(e){super.firstUpdated(e),this.menuList.forEach((e=>{const t=document.createElement("sgds-combo-box-option");t.innerText=e.label,t.value=e.value,t.checkbox=this.multiSelect,t.active=this.value.includes(e.value),this.appendChild(t)})),this._setupValidation(this.menuList),this.menuIsOpen&&!this.readonly&&this.showMenu()}async _handleDefaultSlotChange(e){const t=e.target.assignedElements({flatten:!0});t.forEach((e=>{e.addEventListener("i-sgds-select",(t=>{e.hasAttribute("disabled")||this._handleItemSelected(t)})),this.value.includes(e.getAttribute("value"))&&e.setAttribute("active","true"),this.multiSelect&&e.addEventListener("i-sgds-unselect",(e=>{e.target.disabled||this._handleItemUnselect(e)}))})),this.optionList=await this._getMenuListFromOptions(t),this._setupValidation(this.optionList)}async _setupValidation(e){var t;if(this.value&&e.length>0){const i=this.value.split(";"),l=e.filter((({value:e})=>i.includes(e)));this.selectedItems=[...l,...this.selectedItems],this.multiSelect||(this.displayValue=null===(t=l[0])||void 0===t?void 0:t.label),this.multiSelect?this.input=await this._multiSelectInput:this.input=await this._input,this._mixinValidate(this.input)}}async _handleValueChange(){this.emit("sgds-change"),this.options.forEach((e=>e.removeAttribute("hidden"))),this.value&&this.emit("sgds-select");const e=await this._input;this._mixinSetFormValue(),this.multiSelect?this._mixinValidate(this.input):this._mixinValidate(e);this.selectedItems.map((e=>e.value)).join(";")!==this.value&&this._updateValueAndDisplayValue(this.optionList),(this._isTouched||""!==this.value)&&(this.invalid=!this._mixinReportValidity())}_handleOptionListChange(){this._updateValueAndDisplayValue(this.optionList)}_handleMenuListChange(){const e=this.menuList.map((e=>{const t=document.createElement("sgds-combo-box-option");return t.innerText=e.label,t.value=e.value,t.checkbox=this.multiSelect,t.active=this.value.includes(e.value),t}));this.replaceChildren(...e)}_updateValueAndDisplayValue(e){var t,i;const l=this.value.split(";"),o=e.filter((({value:e})=>l.includes(e)));this.selectedItems=[...o];const s=o.map((e=>e.value)).join(";");s!==this.value&&(this.value=s),this.multiSelect||(this.displayValue=null!==(i=null===(t=o[0])||void 0===t?void 0:t.label)&&void 0!==i?i:"")}async _handleInputChange(e){this.emit("sgds-input");const t=e.target;this.displayValue=t.value,this.filteredList=this.optionList.filter((e=>this.filterFunction(this.displayValue,e))),""!==this.displayValue||this.multiSelect||(this.selectedItems=[],this.value=this.selectedItems.join(";"),this.options.forEach((e=>e.active=!1))),this.invalid=!1,this.showMenu(),this.emptyMenu=0===this.filteredList.length;const i=this.filteredList.map((e=>e.value));this.options.forEach((e=>{i.includes(e.value)?e.hidden=!1:e.hidden=!0})),""===this.displayValue&&(this.options.forEach((e=>e.hidden=!1)),await this.updateComplete)}async _handleItemSelected(e){var t,i,l,o;const s=e.target;s.active=!0;const a=null!==(i=null===(t=s.textContent)||void 0===t?void 0:t.trim())&&void 0!==i?i:"",n=null!==(l=s.getAttribute("value"))&&void 0!==l?l:a,r=this.filteredList.find((e=>e.value.toString()===n))||{label:a,value:n};if(this.multiSelect)this.selectedItems.some((e=>e.value===r.value))||(this.selectedItems=[...this.selectedItems,r],setTimeout((()=>this.displayValue=""))),this.hideMenu(),this.value=this.selectedItems.map((e=>e.value)).join(";");else{const e=this.value;null===(o=this.options)||void 0===o||o.forEach((t=>t.value===e?t.active=!1:null)),this.selectedItems=[r],this.value=r.value.toString(),this.displayValue=this.selectedItems[0].label,this.hideMenu()}}_handleItemUnselect(e){var t,i,l;const o=e.target;o.removeAttribute("active");const s=null!==(i=null===(t=o.textContent)||void 0===t?void 0:t.trim())&&void 0!==i?i:"",a=null!==(l=o.getAttribute("value"))&&void 0!==l?l:s,n=this.filteredList.find((e=>e.value.toString()===a))||{label:s,value:a};this.selectedItems=this.selectedItems.filter((e=>e.value!==n.value)),this.value=this.selectedItems.map((e=>e.value)).join(";")}async _handleBadgeDismissed(e,t){var i;e.preventDefault();const l=t.value;null===(i=this.options)||void 0===i||i.forEach((e=>e.value===l?e.active=!1:null)),this.selectedItems=this.selectedItems.filter((e=>e.value!==t.value)),this.value=this.selectedItems.map((e=>e.value)).join(";")}async _handleMultiSelectKeyDown(e){var t;if(this.multiSelect&&"Backspace"===e.key&&this.multiSelect&&""===this.displayValue.trim()&&this.selectedItems.length>0){const e=this.selectedItems[this.selectedItems.length-1].value;null===(t=this.options)||void 0===t||t.forEach((t=>t.value===e?t.active=!1:null)),this.selectedItems=this.selectedItems.slice(0,-1),this.value=this.selectedItems.map((e=>e.value)).join(";")}}_handleFocus(){this.emit("sgds-focus")}async _handleInputBlur(e){if(e.preventDefault(),this.emit("sgds-blur"),this.multiSelect){this.selectedItems.filter((({label:e})=>this.displayValue===e)).length<=0&&(this.displayValue="")}else this.selectedItems.length>0?this.displayValue=this.selectedItems[0].label:this.displayValue=""}async _mixinResetFormControl(){if(this.value=this.defaultValue,this.multiSelect){const e=this.value.split(";"),t=this.optionList.filter((({value:t})=>e.includes(t)));this.selectedItems=t,this._mixinResetValidity(await this._multiSelectInput)}else{const e=this.optionList.filter((({value:e})=>e===this.value));e.length<=0?this.displayValue="":this.displayValue=e[0].label,this._mixinResetValidity(await this._input)}}_renderInput(){const e=this.hasFeedback;return Q`
|
|
2090
|
+
const ql=(e,t,i)=>{const l=new Map;for(let o=t;o<=i;o++)l.set(e[o],o);return l};const jl=rt(class extends ct{constructor(e){if(super(e),e.type!==st)throw new Error("repeat() can only be used in text expressions")}_getValuesAndKeys(e,t,i){let l;void 0===i?i=t:void 0!==t&&(l=t);const o=[],s=[];let a=0;for(const t of e)o[a]=l?l(t,a):a,s[a]=i(t,a),a++;return{values:s,keys:o}}render(e,t,i){return this._getValuesAndKeys(e,t,i).values}update(e,[t,i,l]){const o=e._$committedValue;const{values:s,keys:a}=this._getValuesAndKeys(t,i,l);if(!Array.isArray(o))return this._itemKeys=a,s;const n=this._itemKeys??=[],r=[];let c,d,h=0,u=o.length-1,v=0,p=s.length-1;for(;h<=u&&v<=p;)if(null===o[h])h++;else if(null===o[u])u--;else if(n[h]===a[v])r[v]=mt(o[h],s[v]),h++,v++;else if(n[u]===a[p])r[p]=mt(o[u],s[p]),u--,p--;else if(n[h]===a[p])r[p]=mt(o[h],s[p]),ft(e,r[p+1],o[h]),h++,p--;else if(n[u]===a[v])r[v]=mt(o[u],s[v]),ft(e,o[h],o[u]),u--,v++;else if(void 0===c&&(c=ql(a,v,p),d=ql(n,h,u)),c.has(n[h]))if(c.has(n[u])){const t=d.get(a[v]),i=void 0!==t?o[t]:null;if(null===i){const t=ft(e,o[h]);mt(t,s[v]),r[v]=t}else r[v]=mt(i,s[v]),ft(e,o[h],i),o[t]=null;v++}else yt(o[u]),u--;else yt(o[h]),h++;for(;v<=p;){const t=ft(e,r[p+1]);mt(t,s[v]),r[v++]=t}for(;h<=u;){const e=o[h++];null!==e&&yt(e)}return this._itemKeys=a,bt(e,r),te}});class Kl extends Cl{constructor(){super(...arguments),this.multiSelect=!1,this.badgeFullWidth=!1,this.filterFunction=(e,t)=>t.label.toLowerCase().startsWith(e.toLowerCase()),this.optionList=[],this.emptyMenu=!1}connectedCallback(){super.connectedCallback(),this.addEventListener("sgds-hide",(async()=>{(await this._input).focus(),this.options.forEach((e=>e.removeAttribute("hidden"))),this.emptyMenu=!1}))}async firstUpdated(e){super.firstUpdated(e),this.menuList.forEach((e=>{const t=document.createElement("sgds-combo-box-option");t.innerText=e.label,t.value=e.value,t.checkbox=this.multiSelect,t.active=this.value.includes(e.value),this.appendChild(t)})),this._setupValidation(this.menuList),this.menuIsOpen&&!this.readonly&&this.showMenu()}async _handleDefaultSlotChange(e){const t=e.target.assignedElements({flatten:!0});t.forEach((e=>{e.addEventListener("i-sgds-select",(t=>{e.hasAttribute("disabled")||this._handleItemSelected(t)})),this.value.includes(e.getAttribute("value"))&&e.setAttribute("active","true"),this.multiSelect&&e.addEventListener("i-sgds-unselect",(e=>{e.target.disabled||this._handleItemUnselect(e)}))})),this.optionList=await this._getMenuListFromOptions(t),console.log("optionList",this.optionList),this._setupValidation(this.optionList)}async _setupValidation(e){var t;if(this.value&&e.length>0){const i=this.value.split(";"),l=e.filter((({value:e})=>i.includes(e)));this.selectedItems=[...l,...this.selectedItems],this.multiSelect||(this.displayValue=null===(t=l[0])||void 0===t?void 0:t.label),this.multiSelect?this.input=await this._multiSelectInput:this.input=await this._input,this._mixinValidate(this.input)}}async _handleValueChange(){this.emit("sgds-change"),this.options.forEach((e=>e.removeAttribute("hidden"))),this.value&&this.emit("sgds-select");const e=await this._input;this._mixinSetFormValue(),this.multiSelect?this._mixinValidate(this.input):this._mixinValidate(e);this.selectedItems.map((e=>e.value)).join(";")!==this.value&&this._updateValueAndDisplayValue(this.optionList),(this._isTouched||""!==this.value)&&(this.invalid=!this._mixinReportValidity())}_handleOptionListChange(){this._updateValueAndDisplayValue(this.optionList)}_handleMenuListChange(){const e=this.menuList.map((e=>{const t=document.createElement("sgds-combo-box-option");return t.innerText=e.label,t.value=e.value,t.checkbox=this.multiSelect,t.active=this.value.includes(e.value),t}));this.replaceChildren(...e)}_updateValueAndDisplayValue(e){var t,i;const l=this.value.split(";"),o=e.filter((({value:e})=>l.includes(e)));this.selectedItems=[...o];const s=o.map((e=>e.value)).join(";");s!==this.value&&(this.value=s),this.multiSelect||(this.displayValue=null!==(i=null===(t=o[0])||void 0===t?void 0:t.label)&&void 0!==i?i:"")}async _handleInputChange(e){this.emit("sgds-input");const t=e.target;this.displayValue=t.value,console.log(this.optionList,"handleInputChange"),this.filteredList=this.optionList.filter((e=>this.filterFunction(this.displayValue,e))),""!==this.displayValue||this.multiSelect||(this.selectedItems=[],this.value=this.selectedItems.join(";"),this.options.forEach((e=>e.active=!1))),this.invalid=!1,this.showMenu(),this.emptyMenu=0===this.filteredList.length;const i=this.filteredList.map((e=>e.value));this.options.forEach((e=>{i.includes(e.value)?e.hidden=!1:e.hidden=!0})),""===this.displayValue&&(this.options.forEach((e=>e.hidden=!1)),await this.updateComplete)}async _handleItemSelected(e){var t,i,l,o;const s=e.target;s.active=!0;const a=null!==(i=null===(t=s.textContent)||void 0===t?void 0:t.trim())&&void 0!==i?i:"",n=null!==(l=s.getAttribute("value"))&&void 0!==l?l:a,r=this.filteredList.find((e=>e.value.toString()===n))||{label:a,value:n};if(this.multiSelect)this.selectedItems.some((e=>e.value===r.value))||(this.selectedItems=[...this.selectedItems,r],setTimeout((()=>this.displayValue=""))),this.hideMenu(),this.value=this.selectedItems.map((e=>e.value)).join(";");else{const e=this.value;null===(o=this.options)||void 0===o||o.forEach((t=>t.value===e?t.active=!1:null)),this.selectedItems=[r],this.value=r.value.toString(),this.displayValue=this.selectedItems[0].label,this.hideMenu()}}_handleItemUnselect(e){var t,i,l;const o=e.target;o.removeAttribute("active");const s=null!==(i=null===(t=o.textContent)||void 0===t?void 0:t.trim())&&void 0!==i?i:"",a=null!==(l=o.getAttribute("value"))&&void 0!==l?l:s,n=this.filteredList.find((e=>e.value.toString()===a))||{label:s,value:a};this.selectedItems=this.selectedItems.filter((e=>e.value!==n.value)),this.value=this.selectedItems.map((e=>e.value)).join(";")}async _handleBadgeDismissed(e,t){var i;e.preventDefault();const l=t.value;null===(i=this.options)||void 0===i||i.forEach((e=>e.value===l?e.active=!1:null)),this.selectedItems=this.selectedItems.filter((e=>e.value!==t.value)),this.value=this.selectedItems.map((e=>e.value)).join(";")}async _handleMultiSelectKeyDown(e){var t;if(this.multiSelect&&"Backspace"===e.key&&this.multiSelect&&""===this.displayValue.trim()&&this.selectedItems.length>0){const e=this.selectedItems[this.selectedItems.length-1].value;null===(t=this.options)||void 0===t||t.forEach((t=>t.value===e?t.active=!1:null)),this.selectedItems=this.selectedItems.slice(0,-1),this.value=this.selectedItems.map((e=>e.value)).join(";")}}_handleFocus(){this.emit("sgds-focus")}async _handleInputBlur(e){if(e.preventDefault(),this.emit("sgds-blur"),this.multiSelect){this.selectedItems.filter((({label:e})=>this.displayValue===e)).length<=0&&(this.displayValue="")}else this.selectedItems.length>0?this.displayValue=this.selectedItems[0].label:this.displayValue=""}async _mixinResetFormControl(){if(this.value=this.defaultValue,this.multiSelect){const e=this.value.split(";"),t=this.optionList.filter((({value:t})=>e.includes(t)));this.selectedItems=t,this._mixinResetValidity(await this._multiSelectInput)}else{const e=this.optionList.filter((({value:e})=>e===this.value));e.length<=0?this.displayValue="":this.displayValue=e[0].label,this._mixinResetValidity(await this._input)}}_renderInput(){const e=this.hasFeedback;return Q`
|
|
2091
2091
|
<div
|
|
2092
2092
|
${Lt(this.myDropdown)}
|
|
2093
2093
|
class="form-control-group ${dt({disabled:this.disabled,readonly:this.readonly,"is-invalid":this.invalid&&e})}"
|