@govtechsg/sgds-web-component 3.7.0-rc.4 → 3.7.0
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 +4 -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/css/fouc.css +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 +4 -0
- package/react/components/ComboBox/sgds-combo-box.cjs.js.map +1 -1
- package/react/components/ComboBox/sgds-combo-box.js +4 -0
- package/react/components/ComboBox/sgds-combo-box.js.map +1 -1
- package/react/index.cjs.js +6 -6
- package/react/index.d.ts +1 -1
- package/react/index.js +1 -1
package/css/fouc.css
CHANGED
|
@@ -4,9 +4,9 @@ sgds-alert-link:not(:defined),
|
|
|
4
4
|
sgds-alert:not(:defined),
|
|
5
5
|
sgds-badge:not(:defined),
|
|
6
6
|
sgds-button:not(:defined),
|
|
7
|
-
sgds-card:not(:defined),
|
|
8
7
|
sgds-breadcrumb-item:not(:defined),
|
|
9
8
|
sgds-breadcrumb:not(:defined),
|
|
9
|
+
sgds-card:not(:defined),
|
|
10
10
|
sgds-checkbox-group:not(:defined),
|
|
11
11
|
sgds-checkbox:not(:defined),
|
|
12
12
|
sgds-close-button:not(:defined),
|
package/index.umd.min.js
CHANGED
|
@@ -2344,7 +2344,7 @@ const xa=(e,t,s)=>{const i=new Map;for(let a=t;a<=s;a++)i.set(e[a],a);return i};
|
|
|
2344
2344
|
`}}Ca.styles=[...Pe.styles,Wi,_a],e([De({type:String,reflect:!0})],Ca.prototype,"variant",void 0),e([De({type:String,reflect:!0})],Ca.prototype,"tone",void 0),e([De({type:String,reflect:!0})],Ca.prototype,"size",void 0),e([De({reflect:!0,type:String})],Ca.prototype,"label",void 0),e([De({type:String,reflect:!0})],Ca.prototype,"orientation",void 0);class Ma extends ca{constructor(){super(...arguments),this.multiSelect=!1,this.badgeFullWidth=!1,this.clearable=!1,this.async=!1,this.emptyMenuAsync=!1,this.filterFunction=(e,t)=>t.label.toLowerCase().startsWith(e.toLowerCase()),this.optionList=[],this.emptyMenuAfterFiltering=!1,this.isFocused=!1,this.suffixIconTemplate=ee`<sgds-icon
|
|
2345
2345
|
name=${this.menuIsOpen?"chevron-up":"chevron-down"}
|
|
2346
2346
|
size="md"
|
|
2347
|
-
></sgds-icon>`,this.prefixIconTemplate=ee`${ie}`}connectedCallback(){super.connectedCallback(),this.addEventListener("focus",async()=>{this.isFocused=!0}),this.addEventListener("blur",async()=>{this.isFocused=!1}),this.addEventListener("keydown",e=>{var t,s;"Enter"===e.key&&(null===(s=null===(t=e.target.shadowRoot)||void 0===t?void 0:t.querySelector(".form-clearable"))||void 0===s?void 0:s.matches(":focus"))&&this._handleClear()}),this.addEventListener("sgds-hide",async e=>{if(!e.detail.isOutside){(await this._input).focus()}this.options.forEach(e=>e.removeAttribute("hidden")),this.emptyMenuAfterFiltering=!1})}async firstUpdated(e){super.firstUpdated(e),this.async&&(this.filterFunction=()=>!0),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.hasAttribute("disabled")&&(!e.clickEventAdded&&(e.addEventListener("click",e=>{e.preventDefault();const t=e.target;return this.multiSelect&&t.active?this._handleItemUnselect(e):this._handleItemSelected(e),!1}),e.clickEventAdded=!0,void e.addEventListener("keydown",e=>{if("Enter"===e.key){this.close="outside";e.target.click()}})))),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 s=this.value.split(";"),i=e.filter(({value:e})=>s.includes(e));this.selectedItems=[...i,...this.selectedItems],this.multiSelect||(this.displayValue=null===(t=i[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;const s=this.value.split(";"),i=e.filter(({value:e})=>s.includes(e));this.selectedItems=[...i];const a=i.map(e=>e.value).join(";");a!==this.value&&(this.value=a),this.multiSelect||this.async||(this.displayValue=(null===(t=i[0])||void 0===t?void 0:t.label)||""),this.options.forEach(e=>e.active=s.includes(e.value))}async _handleInputChange(e){const t=e.target;this.displayValue=t.value,this.emit("sgds-input",{detail:{displayValue:this.displayValue}}),this.invalid=!1,this.showMenu(),""!==this.displayValue||this.multiSelect||(this.selectedItems=[],this.value=this.selectedItems.join(";"),this.options.forEach(e=>e.active=!1));const s=this.options.map(e=>({value:e.value,label:e.textContent.trim()}));this.filteredList=s.filter(e=>this.filterFunction(this.displayValue,e)),this.emptyMenuAfterFiltering=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})}async _handleItemSelected(e){var t,s,i;const a=e.target
|
|
2347
|
+
></sgds-icon>`,this.prefixIconTemplate=ee`${ie}`}connectedCallback(){super.connectedCallback(),this.addEventListener("focus",async()=>{this.isFocused=!0}),this.addEventListener("blur",async()=>{this.isFocused=!1}),this.addEventListener("keydown",e=>{var t,s;"Enter"===e.key&&(null===(s=null===(t=e.target.shadowRoot)||void 0===t?void 0:t.querySelector(".form-clearable"))||void 0===s?void 0:s.matches(":focus"))&&this._handleClear()}),this.addEventListener("sgds-hide",async e=>{if(!e.detail.isOutside){(await this._input).focus()}this.options.forEach(e=>e.removeAttribute("hidden")),this.emptyMenuAfterFiltering=!1})}async firstUpdated(e){super.firstUpdated(e),this.async&&(this.filterFunction=()=>!0),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.hasAttribute("disabled")&&(!e.clickEventAdded&&(e.addEventListener("click",e=>{e.preventDefault();const t=e.target;return this.multiSelect&&t.active?this._handleItemUnselect(e):this._handleItemSelected(e),!1}),e.clickEventAdded=!0,void e.addEventListener("keydown",e=>{if("Enter"===e.key){this.close="outside";e.target.click()}})))),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 s=this.value.split(";"),i=e.filter(({value:e})=>s.includes(e));this.selectedItems=[...i,...this.selectedItems],this.multiSelect||(this.displayValue=null===(t=i[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;const s=this.value.split(";"),i=e.filter(({value:e})=>s.includes(e));this.selectedItems=[...i];const a=i.map(e=>e.value).join(";");a!==this.value&&(this.value=a),this.multiSelect||this.async||(this.displayValue=(null===(t=i[0])||void 0===t?void 0:t.label)||""),this.options.forEach(e=>e.active=s.includes(e.value))}async _handleInputChange(e){const t=e.target;this.displayValue=t.value,this.emit("sgds-input",{detail:{displayValue:this.displayValue}}),this.invalid=!1,this.showMenu(),""!==this.displayValue||this.multiSelect||(this.selectedItems=[],this.value=this.selectedItems.join(";"),this.options.forEach(e=>e.active=!1));const s=this.options.map(e=>({value:e.value,label:e.textContent.trim()}));this.filteredList=s.filter(e=>this.filterFunction(this.displayValue,e)),this.emptyMenuAfterFiltering=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})}async _handleItemSelected(e){var t,s,i;const a=e.target;if(a.disabled)return;const o=null!==(s=null===(t=a.textContent)||void 0===t?void 0:t.trim())&&void 0!==s?s:"",n=null!==(i=a.getAttribute("value"))&&void 0!==i?i:o,r=this.filteredList.find(e=>e.value.toString()===n)||{label:o,value:n};this.multiSelect?(this.selectedItems.some(e=>e.value===r.value)||(this.selectedItems=[...this.selectedItems,r]),this.value=this.selectedItems.map(e=>e.value).join(";"),a.active=!0):0!==this.selectedItems.length&&this.selectedItems[0].value===r.value||(this.options.forEach(e=>e.active=!1),a.active=!0,this.selectedItems=[r],this.value=r.value.toString(),this.displayValue=r.label,this.hideMenu())}_handleItemUnselect(e){var t,s,i;const a=e.target;if(a.disabled)return;a.removeAttribute("active");const o=null!==(s=null===(t=a.textContent)||void 0===t?void 0:t.trim())&&void 0!==s?s:"",n=null!==(i=a.getAttribute("value"))&&void 0!==i?i:o,r=this.filteredList.find(e=>e.value.toString()===n)||{label:o,value:n};this.selectedItems=this.selectedItems.filter(e=>e.value!==r.value),this.value=this.selectedItems.map(e=>e.value).join(";")}async _handleBadgeDismissed(e,t){var s;e.preventDefault();const i=t.value;null===(s=this.options)||void 0===s||s.forEach(e=>e.value===i?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=this.displayValue="",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(e){const t=this.hasFeedback,s=e;return ee`
|
|
2348
2348
|
<div
|
|
2349
2349
|
${Yt(this.myDropdown)}
|
|
2350
2350
|
class="form-control-group ${We({disabled:this.disabled,readonly:this.readonly,"is-invalid":this.invalid&&t})}"
|