@govtechsg/sgds-web-component 3.23.0-rc.0 → 3.23.0-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.
Files changed (138) hide show
  1. package/base/card.js +1 -1
  2. package/base/select-element.d.ts +4 -0
  3. package/base/select-element.js +6 -0
  4. package/base/select-element.js.map +1 -1
  5. package/components/Breadcrumb/index.umd.min.js +34 -33
  6. package/components/Breadcrumb/index.umd.min.js.map +1 -1
  7. package/components/Card/index.umd.min.js +1 -1
  8. package/components/Card/index.umd.min.js.map +1 -1
  9. package/components/Checkbox/index.umd.min.js +3 -3
  10. package/components/Checkbox/index.umd.min.js.map +1 -1
  11. package/components/Checkbox/sgds-checkbox-group.d.ts +5 -0
  12. package/components/Checkbox/sgds-checkbox-group.js +10 -0
  13. package/components/Checkbox/sgds-checkbox-group.js.map +1 -1
  14. package/components/Checkbox/sgds-checkbox.d.ts +5 -1
  15. package/components/Checkbox/sgds-checkbox.js +10 -1
  16. package/components/Checkbox/sgds-checkbox.js.map +1 -1
  17. package/components/ComboBox/index.umd.min.js +7 -6
  18. package/components/ComboBox/index.umd.min.js.map +1 -1
  19. package/components/ComboBox/sgds-combo-box.d.ts +11 -0
  20. package/components/ComboBox/sgds-combo-box.js +34 -0
  21. package/components/ComboBox/sgds-combo-box.js.map +1 -1
  22. package/components/Datepicker/index.umd.min.js +1 -1
  23. package/components/Datepicker/index.umd.min.js.map +1 -1
  24. package/components/Drawer/index.umd.min.js +10 -5
  25. package/components/Drawer/index.umd.min.js.map +1 -1
  26. package/components/Drawer/sgds-drawer.js +5 -4
  27. package/components/Drawer/sgds-drawer.js.map +1 -1
  28. package/components/Dropdown/index.umd.min.js +9 -3
  29. package/components/Dropdown/index.umd.min.js.map +1 -1
  30. package/components/Dropdown/sgds-dropdown-item.d.ts +2 -0
  31. package/components/Dropdown/sgds-dropdown-item.js +7 -0
  32. package/components/Dropdown/sgds-dropdown-item.js.map +1 -1
  33. package/components/FileUpload/index.umd.min.js +1 -1
  34. package/components/FileUpload/index.umd.min.js.map +1 -1
  35. package/components/IconCard/index.umd.min.js +1 -1
  36. package/components/IconCard/index.umd.min.js.map +1 -1
  37. package/components/ImageCard/index.umd.min.js +1 -1
  38. package/components/ImageCard/index.umd.min.js.map +1 -1
  39. package/components/Input/index.umd.min.js +1 -1
  40. package/components/Input/index.umd.min.js.map +1 -1
  41. package/components/Mainnav/index.umd.min.js +6 -3
  42. package/components/Mainnav/index.umd.min.js.map +1 -1
  43. package/components/Mainnav/sgds-mainnav-dropdown.d.ts +4 -0
  44. package/components/Mainnav/sgds-mainnav-dropdown.js +6 -0
  45. package/components/Mainnav/sgds-mainnav-dropdown.js.map +1 -1
  46. package/components/OverflowMenu/index.umd.min.js +9 -3
  47. package/components/OverflowMenu/index.umd.min.js.map +1 -1
  48. package/components/QuantityToggle/index.umd.min.js +1 -1
  49. package/components/QuantityToggle/index.umd.min.js.map +1 -1
  50. package/components/Radio/index.umd.min.js +2 -2
  51. package/components/Radio/index.umd.min.js.map +1 -1
  52. package/components/Radio/sgds-radio-group.d.ts +4 -0
  53. package/components/Radio/sgds-radio-group.js +9 -0
  54. package/components/Radio/sgds-radio-group.js.map +1 -1
  55. package/components/Select/index.umd.min.js +3 -3
  56. package/components/Select/index.umd.min.js.map +1 -1
  57. package/components/Select/sgds-select.d.ts +4 -0
  58. package/components/Select/sgds-select.js +10 -1
  59. package/components/Select/sgds-select.js.map +1 -1
  60. package/components/Textarea/index.umd.min.js +1 -1
  61. package/components/Textarea/index.umd.min.js.map +1 -1
  62. package/components/ThumbnailCard/index.umd.min.js +1 -1
  63. package/components/ThumbnailCard/index.umd.min.js.map +1 -1
  64. package/components/index.umd.min.js +81 -77
  65. package/components/index.umd.min.js.map +1 -1
  66. package/css/fouc.css +1 -1
  67. package/custom-elements.json +965 -665
  68. package/index.umd.min.js +84 -80
  69. package/index.umd.min.js.map +1 -1
  70. package/package.json +1 -1
  71. package/react/base/card.cjs.js +1 -1
  72. package/react/base/card.js +1 -1
  73. package/react/base/select-element.cjs.js +6 -0
  74. package/react/base/select-element.cjs.js.map +1 -1
  75. package/react/base/select-element.js +6 -0
  76. package/react/base/select-element.js.map +1 -1
  77. package/react/checkbox/index.cjs.js +3 -1
  78. package/react/checkbox/index.cjs.js.map +1 -1
  79. package/react/checkbox/index.js +3 -1
  80. package/react/checkbox/index.js.map +1 -1
  81. package/react/checkbox-group/index.cjs.js +3 -1
  82. package/react/checkbox-group/index.cjs.js.map +1 -1
  83. package/react/checkbox-group/index.js +3 -1
  84. package/react/checkbox-group/index.js.map +1 -1
  85. package/react/combo-box/index.cjs.js +1 -0
  86. package/react/combo-box/index.cjs.js.map +1 -1
  87. package/react/combo-box/index.js +1 -0
  88. package/react/combo-box/index.js.map +1 -1
  89. package/react/components/Checkbox/sgds-checkbox-group.cjs.js +10 -0
  90. package/react/components/Checkbox/sgds-checkbox-group.cjs.js.map +1 -1
  91. package/react/components/Checkbox/sgds-checkbox-group.js +10 -0
  92. package/react/components/Checkbox/sgds-checkbox-group.js.map +1 -1
  93. package/react/components/Checkbox/sgds-checkbox.cjs.js +10 -1
  94. package/react/components/Checkbox/sgds-checkbox.cjs.js.map +1 -1
  95. package/react/components/Checkbox/sgds-checkbox.js +10 -1
  96. package/react/components/Checkbox/sgds-checkbox.js.map +1 -1
  97. package/react/components/ComboBox/sgds-combo-box.cjs.js +34 -0
  98. package/react/components/ComboBox/sgds-combo-box.cjs.js.map +1 -1
  99. package/react/components/ComboBox/sgds-combo-box.js +34 -0
  100. package/react/components/ComboBox/sgds-combo-box.js.map +1 -1
  101. package/react/components/Drawer/sgds-drawer.cjs.js +4 -3
  102. package/react/components/Drawer/sgds-drawer.cjs.js.map +1 -1
  103. package/react/components/Drawer/sgds-drawer.js +5 -4
  104. package/react/components/Drawer/sgds-drawer.js.map +1 -1
  105. package/react/components/Dropdown/sgds-dropdown-item.cjs.js +7 -0
  106. package/react/components/Dropdown/sgds-dropdown-item.cjs.js.map +1 -1
  107. package/react/components/Dropdown/sgds-dropdown-item.js +7 -0
  108. package/react/components/Dropdown/sgds-dropdown-item.js.map +1 -1
  109. package/react/components/Mainnav/sgds-mainnav-dropdown.cjs.js +6 -0
  110. package/react/components/Mainnav/sgds-mainnav-dropdown.cjs.js.map +1 -1
  111. package/react/components/Mainnav/sgds-mainnav-dropdown.js +6 -0
  112. package/react/components/Mainnav/sgds-mainnav-dropdown.js.map +1 -1
  113. package/react/components/Radio/sgds-radio-group.cjs.js +9 -0
  114. package/react/components/Radio/sgds-radio-group.cjs.js.map +1 -1
  115. package/react/components/Radio/sgds-radio-group.js +9 -0
  116. package/react/components/Radio/sgds-radio-group.js.map +1 -1
  117. package/react/components/Select/sgds-select.cjs.js +9 -0
  118. package/react/components/Select/sgds-select.cjs.js.map +1 -1
  119. package/react/components/Select/sgds-select.js +10 -1
  120. package/react/components/Select/sgds-select.js.map +1 -1
  121. package/react/index.cjs.js +4 -4
  122. package/react/index.d.ts +1 -1
  123. package/react/index.js +1 -1
  124. package/react/radio-group/index.cjs.js +3 -1
  125. package/react/radio-group/index.cjs.js.map +1 -1
  126. package/react/radio-group/index.js +3 -1
  127. package/react/radio-group/index.js.map +1 -1
  128. package/react/select/index.cjs.js +2 -0
  129. package/react/select/index.cjs.js.map +1 -1
  130. package/react/select/index.js +2 -0
  131. package/react/select/index.js.map +1 -1
  132. package/react/utils/validatorMixin.cjs.js +9 -11
  133. package/react/utils/validatorMixin.cjs.js.map +1 -1
  134. package/react/utils/validatorMixin.js +9 -11
  135. package/react/utils/validatorMixin.js.map +1 -1
  136. package/types/react.d.ts +60 -31
  137. package/utils/validatorMixin.js +9 -11
  138. package/utils/validatorMixin.js.map +1 -1
@@ -92,7 +92,7 @@ window.ShadyDOM?.inUse&&!0===window.ShadyDOM?.noPatch&&window.ShadyDOM.wrap;cons
92
92
  * Copyright 2020 Google LLC
93
93
  * SPDX-License-Identifier: BSD-3-Clause
94
94
  */
95
- class extends Rt{constructor(t){if(super(t),t.type!==Mt&&t.type!==Ut&&t.type!==Nt)throw new Error("The `live` directive is not allowed on child or event bindings");if(void 0!==t.strings)throw new Error("`live` bindings can only contain a single expression")}render(t){return t}update(t,[e]){if(e===et||e===it)return e;const i=t.element,s=t.name;if(t.type===Mt){if(e===i[s])return et}else if(t.type===Nt){if(!!e===i.hasAttribute(s))return et}else if(t.type===Ut&&i.getAttribute(s)===String(e))return et;return((t,e=Zt)=>{t._$committedValue=e})(t),e}});var Gt=o`.invalid-feedback-container{display:flex;gap:var(--sgds-form-gap-sm)}.invalid-feedback,.invalid-feedback-container{color:var(--sgds-form-danger-color-default);line-height:var(--sgds-line-height-20)}.invalid-feedback{font-size:var(--sgds-font-size-14);font-weight:var(--sgds-font-weight-regular)}.valid-icon{color:var(--sgds-form-success-color-default)}`,Kt=o`.form-text{color:var(--sgds-form-color-subtle);font-size:var(--sgds-font-size-label-sm);line-height:var(--sgds-line-height-2-xs)}.form-text.disabled{opacity:var(--sgds-opacity-40)}`,Yt=o`.form-control::placeholder{color:var(--sgds-form-color-subtle);font-family:var(--sgds-font-family-brand);font-weight:var(--sgds-font-weight-light);line-height:var(--sgds-line-height-24)}`;class Xt extends Lt{constructor(){super(...arguments),this.label="",this.hintText="",this.disabled=!1,this.invalid=!1,this._controlId=qt("input"),this._labelId=qt("label")}setInvalid(t){this.invalid=t,t?this.emit("sgds-invalid"):this.emit("sgds-valid")}}Xt.styles=[...Lt.styles,Gt,Kt,Ft,Yt],t([Ct({reflect:!0})],Xt.prototype,"label",void 0),t([Ct({reflect:!0})],Xt.prototype,"hintText",void 0),t([Ct({reflect:!0})],Xt.prototype,"name",void 0),t([Ct({type:Boolean,reflect:!0})],Xt.prototype,"disabled",void 0),t([Ct({type:Boolean,reflect:!0})],Xt.prototype,"invalid",void 0);class Qt{constructor(t,e){(this.host=t).addController(this),this._internals=t._internals||this.host.attachInternals(),this.options=Object.assign({setInvalid:(t,e)=>{t.invalid=e},value:t=>t.value,input:t=>t.input},e)}hostConnected(){this.host.addEventListener("invalid",t=>this.handleInvalid(t))}hostDisconnected(){this.host.removeEventListener("invalid",t=>this.handleInvalid(t))}handleInvalid(t){t.preventDefault(),this.options.setInvalid(this.host,!0)}handleInput(t){const e=t.target;this.options.setInvalid(this.host,!1),this.validateInput(e)}handleChange(t){const e=t.target;this.validateInput(e),this.options.setInvalid(this.host,!this.checkValidity())}get form(){return this._internals.form}get validity(){return this._internals.validity}get validationMessage(){return this._internals.validationMessage}get willValidate(){return this._internals.willValidate}updateInvalidState(){this.options.setInvalid(this.host,!this.checkValidity())}resetValidity(){return this._internals.setValidity({})}checkValidity(){return this._internals.checkValidity()}reportValidity(){return this._internals.reportValidity()}setValidity(t,e,i){return this._internals.setValidity(t,e,i)}setFormValue(){const t=this.options.value(this.host);this._internals.setFormValue(t)}validateInput(t){if(this.options.input(this.host).disabled)return this._internals.setValidity({});const e=t.validity;if(e.valid)this._internals.setValidity({});else for(const i in e)e[i]&&(this.validationError=i.toString(),this._internals.setValidity({[this.validationError]:!0},t.validationMessage,t))}}const te=e=>{class i extends e{constructor(...t){super(...t),this._isTouched=!1,this._internals=this.attachInternals()}connectedCallback(){var t;super.connectedCallback(),this._mixinShouldSkipSgdsValidation()||null!==(t=this.inputValidationController)&&void 0!==t||(this.inputValidationController=new Qt(this))}async firstUpdated(t){super.firstUpdated(t),this.input=this.shadowRoot.querySelector("input")||await this.sgdsInput||this.shadowRoot.querySelector("textarea")||await this.sgdsDatepickerInput,this._mixinSetFormValue(),this._mixinShouldSkipSgdsValidation()||this._mixinValidate(this.input)}formResetCallback(){this._mixinResetFormControl?this._mixinResetFormControl():(this.value=this.defaultValue,this._mixinResetValidity(this.input)),this._mixinSetFormValue()}_mixinHandleChange(t){this._mixinSetFormValue(),this._mixinShouldSkipSgdsValidation()||this.inputValidationController.handleChange(t)}_mixinHandleInputChange(t){this._mixinSetFormValue(),this._mixinShouldSkipSgdsValidation()||this.inputValidationController.handleInput(t)}_mixinResetValidity(t){this._mixinShouldSkipSgdsValidation()||(this.inputValidationController.resetValidity(),this.inputValidationController.updateInvalidState(),this.inputValidationController.validateInput(t),this._isTouched&&(this._isTouched=!1))}_mixinValidate(t){this._mixinShouldSkipSgdsValidation()||this.inputValidationController.validateInput(t)}_mixinSetFormValue(){const t=this.value;this._internals.setFormValue(t)}_mixinCheckValidity(){return!!this._mixinShouldSkipSgdsValidation()||this.inputValidationController.checkValidity()}_mixinReportValidity(){return!!this._mixinShouldSkipSgdsValidation()||this.inputValidationController.reportValidity()}_mixinGetValidity(){return this._internals.validity}_mixinGetValidationMessage(){return this._internals.validationMessage}_mixinSetValidity(t,e,i){if(!this._mixinShouldSkipSgdsValidation())return this.inputValidationController.setValidity(t,e,i)}_mixinShouldSkipSgdsValidation(){const t=this.closest("form");return(null==t?void 0:t.noValidate)||this.noValidate}}return i.formAssociated=!0,t([It("sgds-input")],i.prototype,"sgdsInput",void 0),t([It("sgds-datepicker-input")],i.prototype,"sgdsDatepickerInput",void 0),i};var ee,ie=o`fieldset{border:0;gap:var(--sgds-form-gap-md);margin:0;min-width:0;padding:0}.label-hint-container,fieldset{display:flex;flex-direction:column}.label-hint-container{gap:var(--sgds-form-gap-sm)}.radio-group-validation-input{display:none}.radio-container{display:flex;flex-direction:column;gap:var(--sgds-form-gap-md)}:host([disabled]) .label-hint-container{cursor:not-allowed;opacity:var(--sgds-opacity-40)}`;class se extends(te(Xt)){constructor(){super(...arguments),this.defaultValue="",this.value="",this.invalidFeedback="",this.hasFeedback=!1,this.required=!1,this.autofocus=!1,this._isTouched=!1}_handleValueChange(){this.emit("sgds-change",{detail:{value:this.value}}),this._updateCheckedRadio()}_handleInvalidChange(){this._radios.forEach(t=>t.invalid=this.invalid)}_mixinResetFormControl(){this.value=this.input.value=this.defaultValue,this._updateInputValue("reset"),this._mixinResetValidity(this.input)}connectedCallback(){super.connectedCallback(),this.defaultValue=this.value,this.addEventListener("sgds-blur",()=>{this._isTouched=!0})}firstUpdated(t){super.firstUpdated(t);const e=this._radios;e.forEach((t,i)=>{if(e.length>1)switch(i){case 0:t.setAttribute("first-of-type","");break;case e.length-1:t.setAttribute("last-of-type","");break;default:t.setAttribute("nth-of-type","")}}),this.value&&this._updateInputValue("change")}_handleRadioClick(t){t.preventDefault();const e=t.target;if(e.disabled)return;this.value=e.value,this._updateInputValue();this._radios.forEach(t=>t.checked=t===e)}_updateInputValue(t="change"){this.input.value=this.value,this.input.dispatchEvent(new InputEvent(t))}_handleKeyDown(t){var e;if(!["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"," "].includes(t.key))return;const i=this._radios.filter(t=>!t.disabled),s=null!==(e=i.find(t=>t.checked))&&void 0!==e?e:i[0],n=" "===t.key?0:["ArrowUp","ArrowLeft"].includes(t.key)?-1:1;let r=i.indexOf(s)+n;r<0&&(r=i.length-1),r>i.length-1&&(r=0),this._radios.forEach(t=>{t.checked=!1,t.tabIndex=-1}),this.value=i[r].value,this._updateInputValue(),i[r].checked=!0,i[r].tabIndex=0,t.preventDefault()}_handleSlotChange(){const t=this._radios;t.forEach(t=>(t.autofocus=this.autofocus,t.checked=t.value===this.value,t)),this._disabledChildRadios(),t.some(t=>t.checked)||t[0]&&(t[0].tabIndex=0)}_updateCheckedRadio(){this._radios.forEach(t=>t.checked=t.value===this.value)}_renderHintText(){const t=Q` <div id="${this._controlId}Help" class="form-text">${this.hintText}</div> `;return this.hintText&&t}reportValidity(){return this._mixinReportValidity()}checkValidity(){return this._mixinCheckValidity()}get validity(){return this._mixinGetValidity()}get validationMessage(){return this._mixinGetValidationMessage()}_handleIsTouched(){this._isTouched&&(this.invalid=!this.input.checkValidity())}_handleDisabledChange(){this.setInvalid(!1),this._disabledChildRadios()}_disabledChildRadios(){if(this.disabled){this._radios.forEach(t=>t.disabled=this.disabled)}}render(){const t=Q`
95
+ class extends Rt{constructor(t){if(super(t),t.type!==Mt&&t.type!==Ut&&t.type!==Nt)throw new Error("The `live` directive is not allowed on child or event bindings");if(void 0!==t.strings)throw new Error("`live` bindings can only contain a single expression")}render(t){return t}update(t,[e]){if(e===et||e===it)return e;const i=t.element,s=t.name;if(t.type===Mt){if(e===i[s])return et}else if(t.type===Nt){if(!!e===i.hasAttribute(s))return et}else if(t.type===Ut&&i.getAttribute(s)===String(e))return et;return((t,e=Zt)=>{t._$committedValue=e})(t),e}});var Gt=o`.invalid-feedback-container{display:flex;gap:var(--sgds-form-gap-sm)}.invalid-feedback,.invalid-feedback-container{color:var(--sgds-form-danger-color-default);line-height:var(--sgds-line-height-20)}.invalid-feedback{font-size:var(--sgds-font-size-14);font-weight:var(--sgds-font-weight-regular)}.valid-icon{color:var(--sgds-form-success-color-default)}`,Kt=o`.form-text{color:var(--sgds-form-color-subtle);font-size:var(--sgds-font-size-label-sm);line-height:var(--sgds-line-height-2-xs)}.form-text.disabled{opacity:var(--sgds-opacity-40)}`,Yt=o`.form-control::placeholder{color:var(--sgds-form-color-subtle);font-family:var(--sgds-font-family-brand);font-weight:var(--sgds-font-weight-light);line-height:var(--sgds-line-height-24)}`;class Xt extends Lt{constructor(){super(...arguments),this.label="",this.hintText="",this.disabled=!1,this.invalid=!1,this._controlId=qt("input"),this._labelId=qt("label")}setInvalid(t){this.invalid=t,t?this.emit("sgds-invalid"):this.emit("sgds-valid")}}Xt.styles=[...Lt.styles,Gt,Kt,Ft,Yt],t([Ct({reflect:!0})],Xt.prototype,"label",void 0),t([Ct({reflect:!0})],Xt.prototype,"hintText",void 0),t([Ct({reflect:!0})],Xt.prototype,"name",void 0),t([Ct({type:Boolean,reflect:!0})],Xt.prototype,"disabled",void 0),t([Ct({type:Boolean,reflect:!0})],Xt.prototype,"invalid",void 0);class Qt{constructor(t,e){(this.host=t).addController(this),this._internals=t._internals||this.host.attachInternals(),this.options=Object.assign({setInvalid:(t,e)=>{t.invalid=e},value:t=>t.value,input:t=>t.input},e)}hostConnected(){this.host.addEventListener("invalid",t=>this.handleInvalid(t))}hostDisconnected(){this.host.removeEventListener("invalid",t=>this.handleInvalid(t))}handleInvalid(t){t.preventDefault(),this.options.setInvalid(this.host,!0)}handleInput(t){const e=t.target;this.options.setInvalid(this.host,!1),this.validateInput(e)}handleChange(t){const e=t.target;this.validateInput(e),this.options.setInvalid(this.host,!this.checkValidity())}get form(){return this._internals.form}get validity(){return this._internals.validity}get validationMessage(){return this._internals.validationMessage}get willValidate(){return this._internals.willValidate}updateInvalidState(){this.options.setInvalid(this.host,!this.checkValidity())}resetValidity(){return this._internals.setValidity({})}checkValidity(){return this._internals.checkValidity()}reportValidity(){return this._internals.reportValidity()}setValidity(t,e,i){return this._internals.setValidity(t,e,i)}setFormValue(){const t=this.options.value(this.host);this._internals.setFormValue(t)}validateInput(t){if(this.options.input(this.host).disabled)return this._internals.setValidity({});const e=t.validity;if(e.valid)this._internals.setValidity({});else for(const i in e)e[i]&&(this.validationError=i.toString(),this._internals.setValidity({[this.validationError]:!0},t.validationMessage,t))}}const te=e=>{class i extends e{constructor(...t){super(...t),this._isTouched=!1,this._internals=this.attachInternals()}connectedCallback(){var t;super.connectedCallback(),null!==(t=this.inputValidationController)&&void 0!==t||(this.inputValidationController=new Qt(this))}async firstUpdated(t){super.firstUpdated(t),this.input=this.shadowRoot.querySelector("input")||await this.sgdsInput||this.shadowRoot.querySelector("textarea")||await this.sgdsDatepickerInput,this._mixinSetFormValue(),this._mixinShouldSkipSgdsValidation()||this._mixinValidate(this.input)}formResetCallback(){this._mixinResetFormControl?this._mixinResetFormControl():(this.value=this.defaultValue,this._mixinResetValidity(this.input)),this._mixinSetFormValue()}_mixinHandleChange(t){this._mixinSetFormValue(),this._mixinShouldSkipSgdsValidation()||this.inputValidationController.handleChange(t)}_mixinHandleInputChange(t){this._mixinSetFormValue(),this._mixinShouldSkipSgdsValidation()||this.inputValidationController.handleInput(t)}_mixinResetValidity(t){this.inputValidationController.resetValidity(),this.inputValidationController.updateInvalidState(),this._isTouched&&(this._isTouched=!1),this._mixinShouldSkipSgdsValidation()||this.inputValidationController.validateInput(t)}_mixinValidate(t){this._mixinShouldSkipSgdsValidation()||this.inputValidationController.validateInput(t)}_mixinSetFormValue(){const t=this.value;this._internals.setFormValue(t)}_mixinCheckValidity(){return!!this._mixinShouldSkipSgdsValidation()||this.inputValidationController.checkValidity()}_mixinReportValidity(){return!!this._mixinShouldSkipSgdsValidation()||this.inputValidationController.reportValidity()}_mixinGetValidity(){return this._internals.validity}_mixinGetValidationMessage(){return this._internals.validationMessage}_mixinSetValidity(t,e,i){if(!this._mixinShouldSkipSgdsValidation())return this.inputValidationController.setValidity(t,e,i)}_mixinShouldSkipSgdsValidation(){const t=this.closest("form");return(null==t?void 0:t.noValidate)||this.noValidate}}return i.formAssociated=!0,t([It("sgds-input")],i.prototype,"sgdsInput",void 0),t([It("sgds-datepicker-input")],i.prototype,"sgdsDatepickerInput",void 0),i};var ee,ie=o`fieldset{border:0;gap:var(--sgds-form-gap-md);margin:0;min-width:0;padding:0}.label-hint-container,fieldset{display:flex;flex-direction:column}.label-hint-container{gap:var(--sgds-form-gap-sm)}.radio-group-validation-input{display:none}.radio-container{display:flex;flex-direction:column;gap:var(--sgds-form-gap-md)}:host([disabled]) .label-hint-container{cursor:not-allowed;opacity:var(--sgds-opacity-40)}`;class se extends(te(Xt)){constructor(){super(...arguments),this.defaultValue="",this.value="",this.invalidFeedback="",this.hasFeedback=!1,this.required=!1,this.noValidate=!1,this.autofocus=!1,this._isTouched=!1}_handleValueChange(){this.emit("sgds-change",{detail:{value:this.value}}),this._updateCheckedRadio()}_handleInvalidChange(){this._radios.forEach(t=>t.invalid=this.invalid)}_mixinResetFormControl(){this.value=this.input.value=this.defaultValue,this._updateInputValue("reset"),this._mixinResetValidity(this.input)}connectedCallback(){super.connectedCallback(),this.defaultValue=this.value,this.addEventListener("sgds-blur",()=>{this._isTouched=!0})}firstUpdated(t){super.firstUpdated(t);const e=this._radios;e.forEach((t,i)=>{if(e.length>1)switch(i){case 0:t.setAttribute("first-of-type","");break;case e.length-1:t.setAttribute("last-of-type","");break;default:t.setAttribute("nth-of-type","")}}),this.value&&this._updateInputValue("change")}_handleRadioClick(t){t.preventDefault();const e=t.target;if(e.disabled)return;this.value=e.value,this._updateInputValue();this._radios.forEach(t=>t.checked=t===e)}_updateInputValue(t="change"){this.input.value=this.value,this.input.dispatchEvent(new InputEvent(t))}_handleKeyDown(t){var e;if(!["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"," "].includes(t.key))return;const i=this._radios.filter(t=>!t.disabled),s=null!==(e=i.find(t=>t.checked))&&void 0!==e?e:i[0],n=" "===t.key?0:["ArrowUp","ArrowLeft"].includes(t.key)?-1:1;let r=i.indexOf(s)+n;r<0&&(r=i.length-1),r>i.length-1&&(r=0),this._radios.forEach(t=>{t.checked=!1,t.tabIndex=-1}),this.value=i[r].value,this._updateInputValue(),i[r].checked=!0,i[r].tabIndex=0,t.preventDefault()}_handleSlotChange(){const t=this._radios;t.forEach(t=>(t.autofocus=this.autofocus,t.checked=t.value===this.value,t)),this._disabledChildRadios(),t.some(t=>t.checked)||t[0]&&(t[0].tabIndex=0)}_updateCheckedRadio(){this._radios.forEach(t=>t.checked=t.value===this.value)}_renderHintText(){const t=Q` <div id="${this._controlId}Help" class="form-text">${this.hintText}</div> `;return this.hintText&&t}reportValidity(){return this._mixinReportValidity()}checkValidity(){return this._mixinCheckValidity()}get validity(){return this._mixinGetValidity()}get validationMessage(){return this._mixinGetValidationMessage()}_handleIsTouched(){this._mixinShouldSkipSgdsValidation()||this._isTouched&&(this.invalid=!this.input.checkValidity())}_handleDisabledChange(){this.setInvalid(!1),this._disabledChildRadios()}_disabledChildRadios(){if(this.disabled){this._radios.forEach(t=>t.disabled=this.disabled)}}render(){const t=Q`
96
96
  <slot
97
97
  class="radio-container"
98
98
  @click=${this._handleRadioClick}
@@ -136,5 +136,5 @@ class extends Rt{constructor(t){if(super(t),t.type!==Mt&&t.type!==Ut&&t.type!==N
136
136
  </div>
137
137
  `:it}
138
138
  </fieldset>
139
- `}}function ne(t,e){customElements.get(t)||customElements.define(t,e)}se.styles=[...Xt.styles,ie],t([Tt("slot:not([name])")],se.prototype,"defaultSlot",void 0),t([Vt()],se.prototype,"defaultValue",void 0),t([Ct({reflect:!0})],se.prototype,"value",void 0),t([Ct({type:String,reflect:!0})],se.prototype,"invalidFeedback",void 0),t([Ct({type:Boolean,reflect:!0})],se.prototype,"hasFeedback",void 0),t([Ct({type:Boolean,reflect:!0})],se.prototype,"required",void 0),t([Ct({type:Boolean,reflect:!0})],se.prototype,"autofocus",void 0),t([jt("value",{waitUntilFirstUpdate:!0})],se.prototype,"_handleValueChange",null),t([jt("invalid",{waitUntilFirstUpdate:!0})],se.prototype,"_handleInvalidChange",null),t([Vt()],se.prototype,"_isTouched",void 0),t([(t,e)=>{const{slot:i,selector:s}=ee??{},n="slot"+(i?`[name=${i}]`:":not([name])");return Pt(t,e,{get(){const t=this.renderRoot?.querySelector(n),e=t?.assignedElements(ee)??[];return void 0===s?e:e.filter(t=>t.matches(s))}})}],se.prototype,"_radios",void 0),t([jt("_isTouched",{waitUntilFirstUpdate:!0})],se.prototype,"_handleIsTouched",null),t([jt("disabled",{waitUntilFirstUpdate:!0})],se.prototype,"_handleDisabledChange",null),ne("sgds-radio",Ht),ne("sgds-radio-group",se)});
139
+ `}}function ne(t,e){customElements.get(t)||customElements.define(t,e)}se.styles=[...Xt.styles,ie],t([Tt("slot:not([name])")],se.prototype,"defaultSlot",void 0),t([Vt()],se.prototype,"defaultValue",void 0),t([Ct({reflect:!0})],se.prototype,"value",void 0),t([Ct({type:String,reflect:!0})],se.prototype,"invalidFeedback",void 0),t([Ct({type:Boolean,reflect:!0})],se.prototype,"hasFeedback",void 0),t([Ct({type:Boolean,reflect:!0})],se.prototype,"required",void 0),t([Ct({type:Boolean,reflect:!0})],se.prototype,"noValidate",void 0),t([Ct({type:Boolean,reflect:!0})],se.prototype,"autofocus",void 0),t([jt("value",{waitUntilFirstUpdate:!0})],se.prototype,"_handleValueChange",null),t([jt("invalid",{waitUntilFirstUpdate:!0})],se.prototype,"_handleInvalidChange",null),t([Vt()],se.prototype,"_isTouched",void 0),t([(t,e)=>{const{slot:i,selector:s}=ee??{},n="slot"+(i?`[name=${i}]`:":not([name])");return Pt(t,e,{get(){const t=this.renderRoot?.querySelector(n),e=t?.assignedElements(ee)??[];return void 0===s?e:e.filter(t=>t.matches(s))}})}],se.prototype,"_radios",void 0),t([jt("_isTouched",{waitUntilFirstUpdate:!0})],se.prototype,"_handleIsTouched",null),t([jt("disabled",{waitUntilFirstUpdate:!0})],se.prototype,"_handleDisabledChange",null),ne("sgds-radio",Ht),ne("sgds-radio-group",se)});
140
140
  //# sourceMappingURL=index.umd.min.js.map