@govtechsg/sgds-web-component 3.5.7-rc.1 → 3.5.7-rc.3
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 +2 -2
- package/components/ComboBox/index.umd.min.js.map +1 -1
- package/components/ComboBox/sgds-combo-box-option.js +1 -1
- package/components/ComboBox/sgds-combo-box-option.js.map +1 -1
- package/components/ComboBox/sgds-combo-box.js +0 -1
- package/components/ComboBox/sgds-combo-box.js.map +1 -1
- package/components/index.umd.min.js +2 -2
- package/components/index.umd.min.js.map +1 -1
- package/index.umd.min.js +2 -2
- package/index.umd.min.js.map +1 -1
- package/package.json +1 -1
- package/react/components/ComboBox/sgds-combo-box-option.cjs.js +1 -1
- package/react/components/ComboBox/sgds-combo-box-option.cjs.js.map +1 -1
- package/react/components/ComboBox/sgds-combo-box-option.js +1 -1
- package/react/components/ComboBox/sgds-combo-box-option.js.map +1 -1
- package/react/components/ComboBox/sgds-combo-box.cjs.js +0 -1
- package/react/components/ComboBox/sgds-combo-box.cjs.js.map +1 -1
- package/react/components/ComboBox/sgds-combo-box.js +0 -1
- package/react/components/ComboBox/sgds-combo-box.js.map +1 -1
|
@@ -2080,13 +2080,13 @@ function wt(e){return(t,i)=>ft(t,i,{async get(){return await this.updateComplete
|
|
|
2080
2080
|
<slot></slot>
|
|
2081
2081
|
${this.active?S` <sgds-icon name="check"></sgds-icon> `:A}
|
|
2082
2082
|
</div>
|
|
2083
|
-
`}connectedCallback(){super.connectedCallback(),this.addEventListener("keydown",(e=>{"Enter"===e.key&&(this.checkbox?this._handleCheckboxClick():this._handleNonCheckboxClick())})),this.shadowRoot.addEventListener("click",(e=>{e.target.classList.contains("dropdown-item")&&this._handleCheckboxClick()}))}firstUpdated(e){super.firstUpdated(e);const t=this.closest("sgds-combo-box");(null==t?void 0:t.multiSelect)&&(this.checkbox=!0)}_handleNonCheckboxClick(){this.checkbox||this.emit("i-sgds-select")}_handleCheckboxClick(){this.shadowRoot.querySelector("sgds-checkbox").click()}_handleCheckboxChange(e){const t=e.target;this.active=t.checked,this.active?this.emit("i-sgds-select"):this.emit("i-sgds-unselect")}}Wl.dependencies={"sgds-icon":El,"sgds-checkbox":Fl},e([pt({type:Boolean,reflect:!0})],Wl.prototype,"checkbox",void 0);
|
|
2083
|
+
`}connectedCallback(){super.connectedCallback(),this.addEventListener("keydown",(e=>{"Enter"===e.key&&(this.checkbox?this._handleCheckboxClick():this._handleNonCheckboxClick())})),this.shadowRoot.addEventListener("click",(e=>{e.target.classList.contains("dropdown-item")&&(this.checkbox?this._handleCheckboxClick():this._handleNonCheckboxClick())}))}firstUpdated(e){super.firstUpdated(e);const t=this.closest("sgds-combo-box");(null==t?void 0:t.multiSelect)&&(this.checkbox=!0)}_handleNonCheckboxClick(){this.checkbox||this.emit("i-sgds-select")}_handleCheckboxClick(){this.shadowRoot.querySelector("sgds-checkbox").click()}_handleCheckboxChange(e){const t=e.target;this.active=t.checked,this.active?this.emit("i-sgds-select"):this.emit("i-sgds-unselect")}}Wl.dependencies={"sgds-icon":El,"sgds-checkbox":Fl},e([pt({type:Boolean,reflect:!0})],Wl.prototype,"checkbox",void 0);
|
|
2084
2084
|
/**
|
|
2085
2085
|
* @license
|
|
2086
2086
|
* Copyright 2017 Google LLC
|
|
2087
2087
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
2088
2088
|
*/
|
|
2089
|
-
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=te(class extends ie{constructor(e){if(super(e),e.type!==Y)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=[],a=[];let s=0;for(const t of e)o[s]=l?l(t,s):s,a[s]=i(t,s),s++;return{values:a,keys:o}}render(e,t,i){return this._getValuesAndKeys(e,t,i).values}update(e,[t,i,l]){const o=e._$committedValue;const{values:a,keys:s}=this._getValuesAndKeys(t,i,l);if(!Array.isArray(o))return this._itemKeys=s,a;const n=this._itemKeys??=[],r=[];let c,d,h=0,u=o.length-1,v=0,p=a.length-1;for(;h<=u&&v<=p;)if(null===o[h])h++;else if(null===o[u])u--;else if(n[h]===s[v])r[v]=re(o[h],a[v]),h++,v++;else if(n[u]===s[p])r[p]=re(o[u],a[p]),u--,p--;else if(n[h]===s[p])r[p]=re(o[h],a[p]),ne(e,r[p+1],o[h]),h++,p--;else if(n[u]===s[v])r[v]=re(o[u],a[v]),ne(e,o[h],o[u]),u--,v++;else if(void 0===c&&(c=ql(s,v,p),d=ql(n,h,u)),c.has(n[h]))if(c.has(n[u])){const t=d.get(s[v]),i=void 0!==t?o[t]:null;if(null===i){const t=ne(e,o[h]);re(t,a[v]),r[v]=t}else r[v]=re(i,a[v]),ne(e,o[h],i),o[t]=null;v++}else he(o[u]),u--;else he(o[h]),h++;for(;v<=p;){const t=ne(e,r[p+1]);re(t,a[v]),r[v++]=t}for(;h<=u;){const e=o[h++];null!==e&&he(e)}return this._itemKeys=s,de(e,r),L}});class Kl extends Cl{constructor(){super(...arguments),this.multiSelect=!1,this.badgeFullWidth=!1,this.clearable=!1,this.filterFunction=(e,t)=>t.label.toLowerCase().startsWith(e.toLowerCase()),this.optionList=[],this.emptyMenu=!1,this.isFocused=!1}connectedCallback(){super.connectedCallback(),this.addEventListener("focus",(async()=>{this.isFocused=!0})),this.addEventListener("blur",(async()=>{this.isFocused=!1})),this.addEventListener("keydown",(e=>{var t,i;"Enter"===e.key&&(null===(i=null===(t=e.target.shadowRoot)||void 0===t?void 0:t.querySelector(".form-clearable"))||void 0===i?void 0:i.matches(":focus"))&&this._handleClear()})),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)}))})),await this.updateComplete,this.optionList=await this._getMenuListFromOptions(t),
|
|
2089
|
+
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=te(class extends ie{constructor(e){if(super(e),e.type!==Y)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=[],a=[];let s=0;for(const t of e)o[s]=l?l(t,s):s,a[s]=i(t,s),s++;return{values:a,keys:o}}render(e,t,i){return this._getValuesAndKeys(e,t,i).values}update(e,[t,i,l]){const o=e._$committedValue;const{values:a,keys:s}=this._getValuesAndKeys(t,i,l);if(!Array.isArray(o))return this._itemKeys=s,a;const n=this._itemKeys??=[],r=[];let c,d,h=0,u=o.length-1,v=0,p=a.length-1;for(;h<=u&&v<=p;)if(null===o[h])h++;else if(null===o[u])u--;else if(n[h]===s[v])r[v]=re(o[h],a[v]),h++,v++;else if(n[u]===s[p])r[p]=re(o[u],a[p]),u--,p--;else if(n[h]===s[p])r[p]=re(o[h],a[p]),ne(e,r[p+1],o[h]),h++,p--;else if(n[u]===s[v])r[v]=re(o[u],a[v]),ne(e,o[h],o[u]),u--,v++;else if(void 0===c&&(c=ql(s,v,p),d=ql(n,h,u)),c.has(n[h]))if(c.has(n[u])){const t=d.get(s[v]),i=void 0!==t?o[t]:null;if(null===i){const t=ne(e,o[h]);re(t,a[v]),r[v]=t}else r[v]=re(i,a[v]),ne(e,o[h],i),o[t]=null;v++}else he(o[u]),u--;else he(o[h]),h++;for(;v<=p;){const t=ne(e,r[p+1]);re(t,a[v]),r[v++]=t}for(;h<=u;){const e=o[h++];null!==e&&he(e)}return this._itemKeys=s,de(e,r),L}});class Kl extends Cl{constructor(){super(...arguments),this.multiSelect=!1,this.badgeFullWidth=!1,this.clearable=!1,this.filterFunction=(e,t)=>t.label.toLowerCase().startsWith(e.toLowerCase()),this.optionList=[],this.emptyMenu=!1,this.isFocused=!1}connectedCallback(){super.connectedCallback(),this.addEventListener("focus",(async()=>{this.isFocused=!0})),this.addEventListener("blur",(async()=>{this.isFocused=!1})),this.addEventListener("keydown",(e=>{var t,i;"Enter"===e.key&&(null===(i=null===(t=e.target.shadowRoot)||void 0===t?void 0:t.querySelector(".form-clearable"))||void 0===i?void 0:i.matches(":focus"))&&this._handleClear()})),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)}))})),await this.updateComplete,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 a=o.map((e=>e.value)).join(";");a!==this.value&&(this.value=a),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;const i=this.options.map((e=>({value:e.value,label:e.textContent.trim()})));this.filteredList=i.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 l=this.filteredList.map((e=>e.value));this.options.forEach((e=>{l.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;const o=e.target,a=null!==(i=null===(t=o.textContent)||void 0===t?void 0:t.trim())&&void 0!==i?i:"",s=null!==(l=o.getAttribute("value"))&&void 0!==l?l:a,n=this.filteredList.find((e=>e.value.toString()===s))||{label:a,value:s};this.multiSelect?(this.selectedItems.some((e=>e.value===n.value))||(this.selectedItems=[...this.selectedItems,n],setTimeout((()=>this.displayValue=""))),this.hideMenu(),this.value=this.selectedItems.map((e=>e.value)).join(";")):0!==this.selectedItems.length&&this.selectedItems[0].value===n.value||(this.options.forEach((e=>e.active=!1)),o.active=!0,this.selectedItems=[n],this.value=n.value.toString(),this.displayValue=n.label,this.hideMenu())}_handleItemUnselect(e){var t,i,l;const o=e.target;o.removeAttribute("active");const a=null!==(i=null===(t=o.textContent)||void 0===t?void 0:t.trim())&&void 0!==i?i:"",s=null!==(l=o.getAttribute("value"))&&void 0!==l?l:a,n=this.filteredList.find((e=>e.value.toString()===s))||{label:a,value:s};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 _handleClear(){var e;this.value="",null===(e=this.options)||void 0===e||e.forEach((e=>e.active=!1));(await this._input).focus(),this.showMenu()}async _mixinResetFormControl(){if(this.value=this.defaultValue,this.multiSelect){const e=this.value.split(";");this.options.forEach((t=>{t.active=e.includes(t.value)}));const t=this.options.filter((t=>e.includes(t.value)));this.selectedItems=t.map((e=>({value:e.value,label:e.textContent.trim()}))),this._mixinResetValidity(await this._multiSelectInput)}else{this.options.forEach((e=>{e.active=e.value===this.value}));const e=this.options.filter((e=>e.value===this.value));e.length<=0?this.displayValue="":this.displayValue=e[0].textContent.trim(),this._mixinResetValidity(await this._input)}}_renderInput(){const e=this.hasFeedback,t=(this.isFocused||this.menuIsOpen)&&""!==this.value&&this.clearable;return S`
|
|
2090
2090
|
<div
|
|
2091
2091
|
${Lt(this.myDropdown)}
|
|
2092
2092
|
class="form-control-group ${yt({disabled:this.disabled,readonly:this.readonly,"is-invalid":this.invalid&&e})}"
|