@govtechsg/sgds-web-component 3.30.1-rc.5 → 3.30.1-rc.7

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 (76) hide show
  1. package/components/Checkbox/index.umd.min.js +2 -2
  2. package/components/Checkbox/index.umd.min.js.map +1 -1
  3. package/components/Checkbox/sgds-checkbox.d.ts +7 -1
  4. package/components/Checkbox/sgds-checkbox.js +14 -0
  5. package/components/Checkbox/sgds-checkbox.js.map +1 -1
  6. package/components/ComboBox/index.umd.min.js +266 -266
  7. package/components/ComboBox/index.umd.min.js.map +1 -1
  8. package/components/DataTable/index.umd.min.js +301 -301
  9. package/components/DataTable/index.umd.min.js.map +1 -1
  10. package/components/Datepicker/index.umd.min.js +3 -3
  11. package/components/Datepicker/index.umd.min.js.map +1 -1
  12. package/components/Datepicker/sgds-datepicker.d.ts +1 -1
  13. package/components/Datepicker/sgds-datepicker.js +5 -1
  14. package/components/Datepicker/sgds-datepicker.js.map +1 -1
  15. package/components/FileUpload/index.umd.min.js +1 -1
  16. package/components/FileUpload/index.umd.min.js.map +1 -1
  17. package/components/Input/index.umd.min.js +3 -3
  18. package/components/Input/index.umd.min.js.map +1 -1
  19. package/components/Input/sgds-input.d.ts +1 -0
  20. package/components/Input/sgds-input.js +7 -0
  21. package/components/Input/sgds-input.js.map +1 -1
  22. package/components/QuantityToggle/index.umd.min.js +230 -230
  23. package/components/QuantityToggle/index.umd.min.js.map +1 -1
  24. package/components/QuantityToggle/sgds-quantity-toggle.d.ts +1 -0
  25. package/components/QuantityToggle/sgds-quantity-toggle.js +9 -0
  26. package/components/QuantityToggle/sgds-quantity-toggle.js.map +1 -1
  27. package/components/Radio/index.umd.min.js +1 -1
  28. package/components/Radio/index.umd.min.js.map +1 -1
  29. package/components/Radio/sgds-radio-group.d.ts +1 -1
  30. package/components/Radio/sgds-radio-group.js +5 -1
  31. package/components/Radio/sgds-radio-group.js.map +1 -1
  32. package/components/Select/index.umd.min.js +1 -1
  33. package/components/Select/index.umd.min.js.map +1 -1
  34. package/components/Textarea/index.umd.min.js +1 -1
  35. package/components/Textarea/index.umd.min.js.map +1 -1
  36. package/components/Textarea/sgds-textarea.d.ts +1 -1
  37. package/components/Textarea/sgds-textarea.js +6 -2
  38. package/components/Textarea/sgds-textarea.js.map +1 -1
  39. package/components/index.umd.min.js +9 -9
  40. package/components/index.umd.min.js.map +1 -1
  41. package/custom-elements.json +20 -3
  42. package/index.umd.min.js +722 -722
  43. package/index.umd.min.js.map +1 -1
  44. package/package.json +1 -1
  45. package/react/components/Checkbox/sgds-checkbox.cjs.js +14 -0
  46. package/react/components/Checkbox/sgds-checkbox.cjs.js.map +1 -1
  47. package/react/components/Checkbox/sgds-checkbox.js +14 -0
  48. package/react/components/Checkbox/sgds-checkbox.js.map +1 -1
  49. package/react/components/Datepicker/sgds-datepicker.cjs.js +5 -1
  50. package/react/components/Datepicker/sgds-datepicker.cjs.js.map +1 -1
  51. package/react/components/Datepicker/sgds-datepicker.js +5 -1
  52. package/react/components/Datepicker/sgds-datepicker.js.map +1 -1
  53. package/react/components/Input/sgds-input.cjs.js +7 -0
  54. package/react/components/Input/sgds-input.cjs.js.map +1 -1
  55. package/react/components/Input/sgds-input.js +7 -0
  56. package/react/components/Input/sgds-input.js.map +1 -1
  57. package/react/components/QuantityToggle/sgds-quantity-toggle.cjs.js +9 -0
  58. package/react/components/QuantityToggle/sgds-quantity-toggle.cjs.js.map +1 -1
  59. package/react/components/QuantityToggle/sgds-quantity-toggle.js +9 -0
  60. package/react/components/QuantityToggle/sgds-quantity-toggle.js.map +1 -1
  61. package/react/components/Radio/sgds-radio-group.cjs.js +5 -1
  62. package/react/components/Radio/sgds-radio-group.cjs.js.map +1 -1
  63. package/react/components/Radio/sgds-radio-group.js +5 -1
  64. package/react/components/Radio/sgds-radio-group.js.map +1 -1
  65. package/react/components/Textarea/sgds-textarea.cjs.js +6 -2
  66. package/react/components/Textarea/sgds-textarea.cjs.js.map +1 -1
  67. package/react/components/Textarea/sgds-textarea.js +6 -2
  68. package/react/components/Textarea/sgds-textarea.js.map +1 -1
  69. package/react/utils/validatorMixin.cjs.js +2 -3
  70. package/react/utils/validatorMixin.cjs.js.map +1 -1
  71. package/react/utils/validatorMixin.js +2 -3
  72. package/react/utils/validatorMixin.js.map +1 -1
  73. package/types/react.d.ts +1 -1
  74. package/utils/validatorMixin.d.ts +1 -1
  75. package/utils/validatorMixin.js +2 -3
  76. package/utils/validatorMixin.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"sgds-radio-group.js","names":["radioGroupStyles"],"sources":["../../../src/components/Radio/sgds-radio-group.ts"],"sourcesContent":["import { html, nothing, PropertyValueMap } from \"lit\";\nimport { property, query, queryAssignedElements, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { live } from \"lit/directives/live.js\";\nimport FormControlElement from \"../../base/form-control-element\";\nimport { SgdsFormValidatorMixin } from \"../../utils/validatorMixin\";\nimport { watch } from \"../../utils/watch\";\nimport radioGroupStyles from \"./radio-group.css\";\nimport SgdsRadio from \"./sgds-radio\";\nimport type { ISgdsRadioGroupChangeEventDetail } from \"./types\";\nexport type { ISgdsRadioGroupChangeEventDetail };\n\n/**\n * @summary RadioGroup group multiple radios so they function as a single form control.\n *\n * @slot default - The default slot where sgds-radio are placed.\n * @slot invalidIcon - The slot for invalid icon\n *\n * @event sgds-change - Emitted when the radio group's selected value changes.\n * @eventDetail {ISgdsRadioGroupChangeEventDetail} sgds-change\n * @event sgds-invalid - Emitted when the radio group's invalid state is set to true.\n * @event sgds-valid - Emitted when the radio group's invalid state is set to false.\n *\n */\nexport class SgdsRadioGroup extends SgdsFormValidatorMixin(FormControlElement) {\n static styles = [...FormControlElement.styles, radioGroupStyles];\n\n /**@internal */\n @query(\"slot:not([name])\") defaultSlot: HTMLSlotElement;\n\n /**@internal */\n @state() defaultValue = \"\";\n\n /** The selected value of the control. */\n @property({ reflect: true }) value = \"\";\n\n /**Feedback text for error state when validated */\n @property({ type: String, reflect: true }) invalidFeedback = \"\";\n\n /** Allows invalidFeedback, invalid and valid styles to be visible with the input */\n @property({ type: Boolean, reflect: true }) hasFeedback = false;\n\n /** Makes the input as a required field. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n /** Disables native and sgds validation for the radio group. */\n @property({ type: Boolean, reflect: true }) noValidate = false;\n\n /** Automatically focuses the selected radio input in the group when it becomes checked. */\n @property({ type: Boolean, reflect: true }) autofocus = false;\n\n @watch(\"value\", { waitUntilFirstUpdate: true })\n _handleValueChange() {\n this._updateCheckedRadio();\n }\n @watch(\"invalid\", { waitUntilFirstUpdate: true })\n _handleInvalidChange() {\n this._radios.forEach(r => (r.invalid = this.invalid));\n }\n\n @state() private _isTouched = false;\n /**\n * radio requries a custom _mixinResetFormControl as the update of input value\n * requires to fire a reset event manually\n * */\n private _mixinResetFormControl() {\n this.value = this.input.value = this.defaultValue;\n this._updateInputValue(\"reset\");\n this._mixinResetValidity(this.input);\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.defaultValue = this.value;\n this.addEventListener(\"sgds-blur\", () => {\n this._isTouched = true;\n });\n }\n\n firstUpdated(changedProperties: PropertyValueMap<this>) {\n super.firstUpdated(changedProperties);\n const radios = this._radios;\n radios.forEach((item, index) => {\n if (radios.length > 1) {\n switch (index) {\n case 0:\n item.setAttribute(\"first-of-type\", \"\");\n break;\n\n case radios.length - 1:\n item.setAttribute(\"last-of-type\", \"\");\n break;\n\n default:\n item.setAttribute(\"nth-of-type\", \"\");\n }\n }\n });\n if (this.value) {\n this._updateInputValue(\"change\");\n }\n }\n\n @queryAssignedElements()\n private _radios!: Array<SgdsRadio>;\n\n private _handleRadioClick(event: MouseEvent) {\n event.preventDefault();\n const target = event.target as SgdsRadio;\n\n if (target.disabled) {\n return;\n }\n\n this.value = target.value;\n this.emit<ISgdsRadioGroupChangeEventDetail>(\"sgds-change\", { detail: { value: this.value } });\n\n this._updateInputValue();\n\n const radios = this._radios;\n\n radios.forEach(radio => {\n return (radio.checked = radio === target);\n });\n }\n /**\n * when input value is set programatically, need to manually dispatch a change event\n * In order to prevent race conditions and ensure sequence of events, set input's value here instead of binding to value prop of input\n */\n private _updateInputValue(eventName = \"change\") {\n this.input.value = this.value;\n this.input.dispatchEvent(new InputEvent(eventName));\n }\n\n private _handleKeyDown(event: KeyboardEvent) {\n if (![\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\", \" \"].includes(event.key)) {\n return;\n }\n\n const radios = this._radios.filter(radio => !radio.disabled);\n const checkedRadio = radios.find(radio => radio.checked) ?? radios[0];\n //if eventkey is space, index increment is 0, if eventkey arrowup/arrowleft, index is -1, arrowright/arrowdown, index incr is 1\n const incr = event.key === \" \" ? 0 : [\"ArrowUp\", \"ArrowLeft\"].includes(event.key) ? -1 : 1;\n let index = radios.indexOf(checkedRadio) + incr;\n if (index < 0) {\n index = radios.length - 1;\n }\n if (index > radios.length - 1) {\n index = 0;\n }\n\n this._radios.forEach(radio => {\n radio.checked = false;\n radio.tabIndex = -1;\n });\n\n this.value = radios[index].value;\n this.emit<ISgdsRadioGroupChangeEventDetail>(\"sgds-change\", { detail: { value: this.value } });\n this._updateInputValue();\n radios[index].checked = true;\n radios[index].tabIndex = 0;\n // preventDefault at the end to allow Tab\n event.preventDefault();\n }\n\n private _handleSlotChange() {\n const radios = this._radios;\n\n radios.forEach(radio => {\n radio.autofocus = this.autofocus;\n radio.checked = radio.value === this.value;\n\n return radio;\n });\n this._disabledChildRadios();\n if (!radios.some(radio => radio.checked)) {\n if (radios[0]) radios[0].tabIndex = 0;\n }\n }\n\n private _updateCheckedRadio() {\n const radios = this._radios;\n radios.forEach(radio => (radio.checked = radio.value === this.value));\n }\n\n protected _renderHintText() {\n const hintTextTemplate = html` <div id=\"${this._controlId}Help\" class=\"form-text\">${this.hintText}</div> `;\n return this.hintText && hintTextTemplate;\n }\n /**\n * Checks for validity. Under the hood, HTMLFormElement's reportValidity method calls this method to check for component's validity state\n * Note that the native error popup is prevented for SGDS form components by default. Instead the validation message shows up in the feedback container of SgdsInput\n */\n public reportValidity(): boolean {\n return this._mixinReportValidity();\n }\n /**\n * Checks for validity without any native error popup message\n */\n public checkValidity(): boolean {\n return this._mixinCheckValidity();\n }\n\n /**\n * Returns the ValidityState object\n */\n public get validity(): ValidityState {\n return this._mixinGetValidity();\n }\n /**\n * Returns the validation message based on the ValidityState\n */\n public get validationMessage() {\n return this._mixinGetValidationMessage();\n }\n\n @watch(\"_isTouched\", { waitUntilFirstUpdate: true })\n _handleIsTouched() {\n if (this._mixinShouldSkipSgdsValidation()) return;\n if (this._isTouched) {\n this.invalid = !this.input.checkValidity();\n }\n }\n\n @watch(\"disabled\", { waitUntilFirstUpdate: true })\n _handleDisabledChange() {\n // Disabled form controls are always valid, so we need to recheck validity when the state changes\n this.setInvalid(false);\n this._disabledChildRadios();\n }\n\n private _disabledChildRadios() {\n if (this.disabled) {\n const radios = this._radios;\n radios.forEach(radio => (radio.disabled = this.disabled));\n }\n }\n\n render() {\n const defaultSlot = html`\n <slot\n class=\"radio-container\"\n @click=${this._handleRadioClick}\n @keydown=${this._handleKeyDown}\n @slotchange=${this._handleSlotChange}\n role=\"presentation\"\n ></slot>\n `;\n return html`\n <fieldset name=${this.name}>\n <div class=\"label-hint-container\">\n <label\n class=${classMap({\n \"form-label\": true,\n required: this.required\n })}\n >\n ${this.label}\n </label>\n ${this._renderHintText()}\n </div>\n ${defaultSlot}\n <input\n type=\"text\"\n class=\"radio-group-validation-input ${classMap({\n \"is-invalid\": this.hasFeedback && this.invalid\n })}\"\n ?required=${this.required}\n tabindex=\"-1\"\n @change=${(e: Event) => super._mixinHandleChange(e)}\n .value=${live(this.value)}\n aria-describedby=${this.invalid && this.hasFeedback ? \"radio-group-feedback\" : `${this._controlId}Help`}\n />\n ${this.invalid && this.hasFeedback\n ? html`\n <div class=\"invalid-feedback-container\">\n <slot name=\"invalidIcon\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path\n d=\"M17.5 10C17.5 14.1421 14.1421 17.5 10 17.5C5.85786 17.5 2.5 14.1421 2.5 10C2.5 5.85786 5.85786 2.5 10 2.5C14.1421 2.5 17.5 5.85786 17.5 10ZM10 6.25C9.49805 6.25 9.10584 6.68339 9.15578 7.18285L9.48461 10.4711C9.51109 10.7359 9.7339 10.9375 10 10.9375C10.2661 10.9375 10.4889 10.7359 10.5154 10.4711L10.8442 7.18285C10.8942 6.68339 10.5019 6.25 10 6.25ZM10.0014 11.875C9.48368 11.875 9.06394 12.2947 9.06394 12.8125C9.06394 13.3303 9.48368 13.75 10.0014 13.75C10.5192 13.75 10.9389 13.3303 10.9389 12.8125C10.9389 12.2947 10.5192 11.875 10.0014 11.875Z\"\n fill=\"currentColor\"\n />\n </svg>\n </slot>\n <div id=\"radio-group-feedback\" class=\"invalid-feedback\">\n ${this.invalidFeedback ? this.invalidFeedback : this.input.validationMessage}\n </div>\n </div>\n `\n : nothing}\n </fieldset>\n `;\n }\n}\n\nexport default SgdsRadioGroup;\n"],"mappings":"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"}
1
+ {"version":3,"file":"sgds-radio-group.js","names":["radioGroupStyles"],"sources":["../../../src/components/Radio/sgds-radio-group.ts"],"sourcesContent":["import { html, nothing, PropertyValueMap } from \"lit\";\nimport { property, query, queryAssignedElements, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { live } from \"lit/directives/live.js\";\nimport FormControlElement from \"../../base/form-control-element\";\nimport { SgdsFormValidatorMixin } from \"../../utils/validatorMixin\";\nimport { watch } from \"../../utils/watch\";\nimport radioGroupStyles from \"./radio-group.css\";\nimport SgdsRadio from \"./sgds-radio\";\nimport type { ISgdsRadioGroupChangeEventDetail } from \"./types\";\nexport type { ISgdsRadioGroupChangeEventDetail };\n\n/**\n * @summary RadioGroup group multiple radios so they function as a single form control.\n *\n * @slot default - The default slot where sgds-radio are placed.\n * @slot invalidIcon - The slot for invalid icon\n *\n * @event sgds-change - Emitted when the radio group's selected value changes.\n * @eventDetail {ISgdsRadioGroupChangeEventDetail} sgds-change\n * @event sgds-invalid - Emitted when the radio group's invalid state is set to true.\n * @event sgds-valid - Emitted when the radio group's invalid state is set to false.\n *\n */\nexport class SgdsRadioGroup extends SgdsFormValidatorMixin(FormControlElement) {\n static styles = [...FormControlElement.styles, radioGroupStyles];\n\n /**@internal */\n @query(\"slot:not([name])\") defaultSlot: HTMLSlotElement;\n\n /**@internal */\n @state() defaultValue = \"\";\n\n /** The selected value of the control. */\n @property({ reflect: true }) value = \"\";\n\n /**Feedback text for error state when validated */\n @property({ type: String, reflect: true }) invalidFeedback = \"\";\n\n /** Allows invalidFeedback, invalid and valid styles to be visible with the input */\n @property({ type: Boolean, reflect: true }) hasFeedback = false;\n\n /** Makes the input as a required field. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n /** Disables native and sgds validation for the radio group. */\n @property({ type: Boolean, reflect: true }) noValidate = false;\n\n /** Automatically focuses the selected radio input in the group when it becomes checked. */\n @property({ type: Boolean, reflect: true }) autofocus = false;\n\n @watch(\"value\", { waitUntilFirstUpdate: true })\n async _handleValueChange() {\n this._updateCheckedRadio();\n this._mixinSetFormValue();\n await this.updateComplete;\n if (this._mixinShouldSkipSgdsValidation()) return;\n this._mixinValidate(this.input);\n }\n @watch(\"invalid\", { waitUntilFirstUpdate: true })\n _handleInvalidChange() {\n this._radios.forEach(r => (r.invalid = this.invalid));\n }\n\n @state() private _isTouched = false;\n /**\n * radio requries a custom _mixinResetFormControl as the update of input value\n * requires to fire a reset event manually\n * */\n private _mixinResetFormControl() {\n this.value = this.input.value = this.defaultValue;\n this._updateInputValue(\"reset\");\n this._mixinResetValidity(this.input);\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.defaultValue = this.value;\n this.addEventListener(\"sgds-blur\", () => {\n this._isTouched = true;\n });\n }\n\n firstUpdated(changedProperties: PropertyValueMap<this>) {\n super.firstUpdated(changedProperties);\n const radios = this._radios;\n radios.forEach((item, index) => {\n if (radios.length > 1) {\n switch (index) {\n case 0:\n item.setAttribute(\"first-of-type\", \"\");\n break;\n\n case radios.length - 1:\n item.setAttribute(\"last-of-type\", \"\");\n break;\n\n default:\n item.setAttribute(\"nth-of-type\", \"\");\n }\n }\n });\n if (this.value) {\n this._updateInputValue(\"change\");\n }\n }\n\n @queryAssignedElements()\n private _radios!: Array<SgdsRadio>;\n\n private _handleRadioClick(event: MouseEvent) {\n event.preventDefault();\n const target = event.target as SgdsRadio;\n\n if (target.disabled) {\n return;\n }\n\n this.value = target.value;\n this.emit<ISgdsRadioGroupChangeEventDetail>(\"sgds-change\", { detail: { value: this.value } });\n\n this._updateInputValue();\n\n const radios = this._radios;\n\n radios.forEach(radio => {\n return (radio.checked = radio === target);\n });\n }\n /**\n * when input value is set programatically, need to manually dispatch a change event\n * In order to prevent race conditions and ensure sequence of events, set input's value here instead of binding to value prop of input\n */\n private _updateInputValue(eventName = \"change\") {\n this.input.value = this.value;\n this.input.dispatchEvent(new InputEvent(eventName));\n }\n\n private _handleKeyDown(event: KeyboardEvent) {\n if (![\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\", \" \"].includes(event.key)) {\n return;\n }\n\n const radios = this._radios.filter(radio => !radio.disabled);\n const checkedRadio = radios.find(radio => radio.checked) ?? radios[0];\n //if eventkey is space, index increment is 0, if eventkey arrowup/arrowleft, index is -1, arrowright/arrowdown, index incr is 1\n const incr = event.key === \" \" ? 0 : [\"ArrowUp\", \"ArrowLeft\"].includes(event.key) ? -1 : 1;\n let index = radios.indexOf(checkedRadio) + incr;\n if (index < 0) {\n index = radios.length - 1;\n }\n if (index > radios.length - 1) {\n index = 0;\n }\n\n this._radios.forEach(radio => {\n radio.checked = false;\n radio.tabIndex = -1;\n });\n\n this.value = radios[index].value;\n this.emit<ISgdsRadioGroupChangeEventDetail>(\"sgds-change\", { detail: { value: this.value } });\n this._updateInputValue();\n radios[index].checked = true;\n radios[index].tabIndex = 0;\n // preventDefault at the end to allow Tab\n event.preventDefault();\n }\n\n private _handleSlotChange() {\n const radios = this._radios;\n\n radios.forEach(radio => {\n radio.autofocus = this.autofocus;\n radio.checked = radio.value === this.value;\n\n return radio;\n });\n this._disabledChildRadios();\n if (!radios.some(radio => radio.checked)) {\n if (radios[0]) radios[0].tabIndex = 0;\n }\n }\n\n private _updateCheckedRadio() {\n const radios = this._radios;\n radios.forEach(radio => (radio.checked = radio.value === this.value));\n }\n\n protected _renderHintText() {\n const hintTextTemplate = html` <div id=\"${this._controlId}Help\" class=\"form-text\">${this.hintText}</div> `;\n return this.hintText && hintTextTemplate;\n }\n /**\n * Checks for validity. Under the hood, HTMLFormElement's reportValidity method calls this method to check for component's validity state\n * Note that the native error popup is prevented for SGDS form components by default. Instead the validation message shows up in the feedback container of SgdsInput\n */\n public reportValidity(): boolean {\n return this._mixinReportValidity();\n }\n /**\n * Checks for validity without any native error popup message\n */\n public checkValidity(): boolean {\n return this._mixinCheckValidity();\n }\n\n /**\n * Returns the ValidityState object\n */\n public get validity(): ValidityState {\n return this._mixinGetValidity();\n }\n /**\n * Returns the validation message based on the ValidityState\n */\n public get validationMessage() {\n return this._mixinGetValidationMessage();\n }\n\n @watch(\"_isTouched\", { waitUntilFirstUpdate: true })\n _handleIsTouched() {\n if (this._mixinShouldSkipSgdsValidation()) return;\n if (this._isTouched) {\n this.invalid = !this.input.checkValidity();\n }\n }\n\n @watch(\"disabled\", { waitUntilFirstUpdate: true })\n _handleDisabledChange() {\n // Disabled form controls are always valid, so we need to recheck validity when the state changes\n this.setInvalid(false);\n this._disabledChildRadios();\n }\n\n private _disabledChildRadios() {\n if (this.disabled) {\n const radios = this._radios;\n radios.forEach(radio => (radio.disabled = this.disabled));\n }\n }\n\n render() {\n const defaultSlot = html`\n <slot\n class=\"radio-container\"\n @click=${this._handleRadioClick}\n @keydown=${this._handleKeyDown}\n @slotchange=${this._handleSlotChange}\n role=\"presentation\"\n ></slot>\n `;\n return html`\n <fieldset name=${this.name}>\n <div class=\"label-hint-container\">\n <label\n class=${classMap({\n \"form-label\": true,\n required: this.required\n })}\n >\n ${this.label}\n </label>\n ${this._renderHintText()}\n </div>\n ${defaultSlot}\n <input\n type=\"text\"\n class=\"radio-group-validation-input ${classMap({\n \"is-invalid\": this.hasFeedback && this.invalid\n })}\"\n ?required=${this.required}\n tabindex=\"-1\"\n @change=${(e: Event) => super._mixinHandleChange(e)}\n .value=${live(this.value)}\n aria-describedby=${this.invalid && this.hasFeedback ? \"radio-group-feedback\" : `${this._controlId}Help`}\n />\n ${this.invalid && this.hasFeedback\n ? html`\n <div class=\"invalid-feedback-container\">\n <slot name=\"invalidIcon\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path\n d=\"M17.5 10C17.5 14.1421 14.1421 17.5 10 17.5C5.85786 17.5 2.5 14.1421 2.5 10C2.5 5.85786 5.85786 2.5 10 2.5C14.1421 2.5 17.5 5.85786 17.5 10ZM10 6.25C9.49805 6.25 9.10584 6.68339 9.15578 7.18285L9.48461 10.4711C9.51109 10.7359 9.7339 10.9375 10 10.9375C10.2661 10.9375 10.4889 10.7359 10.5154 10.4711L10.8442 7.18285C10.8942 6.68339 10.5019 6.25 10 6.25ZM10.0014 11.875C9.48368 11.875 9.06394 12.2947 9.06394 12.8125C9.06394 13.3303 9.48368 13.75 10.0014 13.75C10.5192 13.75 10.9389 13.3303 10.9389 12.8125C10.9389 12.2947 10.5192 11.875 10.0014 11.875Z\"\n fill=\"currentColor\"\n />\n </svg>\n </slot>\n <div id=\"radio-group-feedback\" class=\"invalid-feedback\">\n ${this.invalidFeedback ? this.invalidFeedback : this.input.validationMessage}\n </div>\n </div>\n `\n : nothing}\n </fieldset>\n `;\n }\n}\n\nexport default SgdsRadioGroup;\n"],"mappings":"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"}
@@ -93,7 +93,7 @@ let n=e._$AN;if(n===void 0)return!1;for(let e of n)e._$AO?.(t,!1),tt(e,t);return
93
93
  * @license
94
94
  * Copyright 2020 Google LLC
95
95
  * SPDX-License-Identifier: BSD-3-Clause
96
- */let ct=()=>new lt;var lt=class{};let ut=/* @__PURE__ */ new WeakMap,dt=Xe(class extends st{render(e){return j}update(e,[t]){let n=t!==this.G;return n&&this.G!==void 0&&this.rt(void 0),(n||this.lt!==this.ct)&&(this.G=t,this.ht=e.options?.host,this.rt(this.ct=e.element)),j}rt(e){if(this.isConnected||(e=void 0),typeof this.G==`function`){let t=this.ht??globalThis,n=ut.get(t);n===void 0&&(n=/* @__PURE__ */ new WeakMap,ut.set(t,n)),n.get(this.G)!==void 0&&this.G.call(this.ht,void 0),n.set(this.G,e),e!==void 0&&this.G.call(this.ht,e)}else this.G.value=e}get lt(){return typeof this.G==`function`?ut.get(this.ht??globalThis)?.get(this.G):this.G?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}}),ft=Math.min,R=Math.max,pt=Math.round,mt=Math.floor,z=e=>({x:e,y:e}),ht={left:`right`,right:`left`,bottom:`top`,top:`bottom`},gt={start:`end`,end:`start`};function _t(e,t,n){return R(e,ft(t,n))}function vt(e,t){return typeof e==`function`?e(t):e}function B(e){return e.split(`-`)[0]}function yt(e){return e.split(`-`)[1]}function bt(e){return e===`x`?`y`:`x`}function xt(e){return e===`y`?`height`:`width`}let St=/*#__PURE__*/ new Set([`top`,`bottom`]);function V(e){return St.has(B(e))?`y`:`x`}function Ct(e){return bt(V(e))}function wt(e,t,n){n===void 0&&(n=!1);let r=yt(e),i=Ct(e),a=xt(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Nt(o)),[o,Nt(o)]}function Tt(e){let t=Nt(e);return[Et(e),t,Et(t)]}function Et(e){return e.replace(/start|end/g,e=>gt[e])}let Dt=[`left`,`right`],Ot=[`right`,`left`],kt=[`top`,`bottom`],At=[`bottom`,`top`];function jt(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Ot:Dt:t?Dt:Ot;case`left`:case`right`:return t?kt:At;default:return[]}}function Mt(e,t,n,r){let i=yt(e),a=jt(B(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Et)))),a}function Nt(e){return e.replace(/left|right|bottom|top/g,e=>ht[e])}function Pt(e){return{top:0,right:0,bottom:0,left:0,...e}}function Ft(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Pt(e)}function It(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function Lt(e,t,n){let{reference:r,floating:i}=e,a=V(t),o=Ct(t),s=xt(o),c=B(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(yt(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1)}return p}let Rt=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=a.filter(Boolean),c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Lt(l,r,c),f=r,p={},m=0;for(let n=0;n<s.length;n++){let{name:a,fn:h}=s[n],{x:g,y:_,data:v,reset:y}=await h({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:p,rects:l,platform:o,elements:{reference:e,floating:t}});u=g??u,d=_??d,p={...p,[a]:{...p[a],...v}},y&&m<=50&&(m++,typeof y==`object`&&(y.placement&&(f=y.placement),y.rects&&(l=y.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):y.rects),{x:u,y:d}=Lt(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:p}};async function zt(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=vt(t,e),p=Ft(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=It(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=It(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}let Bt=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=vt(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=B(r),_=V(o),v=B(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Nt(o)]:Tt(o)),ee=p!==`none`;!d&&ee&&b.push(...Mt(o,m,p,y));let te=[o,...b],x=await zt(t,h),S=[],C=i.flip?.overflows||[];if(l&&S.push(x[g]),u){let e=wt(r,a,y);S.push(x[e[0]],x[e[1]])}if(C=[...C,{placement:r,overflows:S}],!S.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=te[e];if(t&&(u!==`alignment`||_===V(t)||C.every(e=>V(e.placement)!==_||e.overflows[0]>0)))return{data:{index:e,overflows:C},reset:{placement:t}};let n=C.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=C.filter(e=>{if(ee){let t=V(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o}if(r!==n)return{reset:{placement:n}}}return{}}}},Vt=/*#__PURE__*/ new Set([`left`,`top`]);async function Ht(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=B(n),s=yt(n),c=V(n)===`y`,l=Vt.has(o)?-1:1,u=a&&c?-1:1,d=vt(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}let Ut=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await Ht(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},Wt=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i}=t,{mainAxis:a=!0,crossAxis:o=!1,limiter:s={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...c}=vt(e,t),l={x:n,y:r},u=await zt(t,c),d=V(B(i)),f=bt(d),p=l[f],m=l[d];if(a){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=p+u[e],r=p-u[t];p=_t(n,p,r)}if(o){let e=d===`y`?`top`:`left`,t=d===`y`?`bottom`:`right`,n=m+u[e],r=m-u[t];m=_t(n,m,r)}let h=s.fn({...t,[f]:p,[d]:m});return{...h,data:{x:h.x-n,y:h.y-r,enabled:{[f]:a,[d]:o}}}}}},Gt=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=vt(e,t),u=await zt(t,l),d=B(i),f=yt(i),p=V(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=ft(h-u[g],v),ee=ft(m-u[_],y),te=!t.middlewareData.shift,x=b,S=ee;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(S=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(x=v),te&&!f){let e=R(u.left,0),t=R(u.right,0),n=R(u.top,0),r=R(u.bottom,0);p?S=m-2*(e!==0||t!==0?e+t:R(u.left,u.right)):x=h-2*(n!==0||r!==0?n+r:R(u.top,u.bottom))}await c({...t,availableWidth:S,availableHeight:x});let C=await o.getDimensions(s.floating);return m!==C.width||h!==C.height?{reset:{rects:!0}}:{}}}};function Kt(){return typeof window<`u`}function qt(e){return Jt(e)?(e.nodeName||``).toLowerCase():`#document`}function H(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function U(e){return((Jt(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Jt(e){return Kt()?e instanceof Node||e instanceof H(e).Node:!1}function W(e){return Kt()?e instanceof Element||e instanceof H(e).Element:!1}function G(e){return Kt()?e instanceof HTMLElement||e instanceof H(e).HTMLElement:!1}function Yt(e){return!Kt()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof H(e).ShadowRoot}let Xt=/*#__PURE__*/ new Set([`inline`,`contents`]);function Zt(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=K(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!Xt.has(i)}let Qt=/*#__PURE__*/ new Set([`table`,`td`,`th`]);function $t(e){return Qt.has(qt(e))}let en=[`:popover-open`,`:modal`];function tn(e){return en.some(t=>{try{return e.matches(t)}catch{return!1}})}let nn=[`transform`,`translate`,`scale`,`rotate`,`perspective`],rn=[`transform`,`translate`,`scale`,`rotate`,`perspective`,`filter`],an=[`paint`,`layout`,`strict`,`content`];function on(e){let t=cn(),n=W(e)?K(e):e;return nn.some(e=>n[e]?n[e]!==`none`:!1)||(n.containerType?n.containerType!==`normal`:!1)||!t&&(n.backdropFilter?n.backdropFilter!==`none`:!1)||!t&&(n.filter?n.filter!==`none`:!1)||rn.some(e=>(n.willChange||``).includes(e))||an.some(e=>(n.contain||``).includes(e))}function sn(e){let t=q(e);for(;G(t)&&!un(t);){if(on(t))return t;if(tn(t))return null;t=q(t)}return null}function cn(){return typeof CSS>`u`||!CSS.supports?!1:CSS.supports(`-webkit-backdrop-filter`,`none`)}let ln=/*#__PURE__*/ new Set([`html`,`body`,`#document`]);function un(e){return ln.has(qt(e))}function K(e){return H(e).getComputedStyle(e)}function dn(e){return W(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function q(e){if(qt(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Yt(e)&&e.host||U(e);return Yt(t)?t.host:t}function fn(e){let t=q(e);return un(t)?e.ownerDocument?e.ownerDocument.body:e.body:G(t)&&Zt(t)?t:fn(t)}function pn(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=fn(e),i=r===e.ownerDocument?.body,a=H(r);if(i){let e=mn(a);return t.concat(a,a.visualViewport||[],Zt(r)?r:[],e&&n?pn(e):[])}return t.concat(r,pn(r,[],n))}function mn(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function hn(e){let t=K(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=G(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=pt(n)!==a||pt(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function gn(e){return W(e)?e:e.contextElement}function _n(e){let t=gn(e);if(!G(t))return z(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=hn(t),o=(a?pt(n.width):n.width)/r,s=(a?pt(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}let vn=/*#__PURE__*/ z(0);function yn(e){let t=H(e);return!cn()||!t.visualViewport?vn:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function bn(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==H(e)?!1:t}function J(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=gn(e),o=z(1);t&&(r?W(r)&&(o=_n(r)):o=_n(e));let s=bn(a,n,r)?yn(a):z(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=H(a),t=r&&W(r)?H(r):r,n=e,i=mn(n);for(;i&&r&&t!==n;){let e=_n(i),t=i.getBoundingClientRect(),r=K(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=H(i),i=mn(n)}}return It({width:u,height:d,x:c,y:l})}function xn(e,t){let n=dn(e).scrollLeft;return t?t.left+n:J(U(e)).left+n}function Sn(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-xn(e,n),y:n.top+t.scrollTop}}function Cn(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=U(r),s=t?tn(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=z(1),u=z(0),d=G(r);if((d||!d&&!a)&&((qt(r)!==`body`||Zt(o))&&(c=dn(r)),G(r))){let e=J(r);l=_n(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Sn(o,c):z(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function wn(e){return Array.from(e.getClientRects())}function Tn(e){let t=U(e),n=dn(e),r=e.ownerDocument.body,i=R(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=R(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+xn(e),s=-n.scrollTop;return K(r).direction===`rtl`&&(o+=R(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}function En(e,t){let n=H(e),r=U(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=cn();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=xn(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=25&&(a-=o)}else l<=25&&(a+=l);return{width:a,height:o,x:s,y:c}}let Dn=/*#__PURE__*/ new Set([`absolute`,`fixed`]);function On(e,t){let n=J(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=G(e)?_n(e):z(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function kn(e,t,n){let r;if(t===`viewport`)r=En(e,n);else if(t===`document`)r=Tn(U(e));else if(W(t))r=On(t,n);else{let n=yn(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return It(r)}function An(e,t){let n=q(e);return n===t||!W(n)||un(n)?!1:K(n).position===`fixed`||An(n,t)}function jn(e,t){let n=t.get(e);if(n)return n;let r=pn(e,[],!1).filter(e=>W(e)&&qt(e)!==`body`),i=null,a=K(e).position===`fixed`,o=a?q(e):e;for(;W(o)&&!un(o);){let t=K(o),n=on(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&Dn.has(i.position)||Zt(o)&&!n&&An(e,o))?r=r.filter(e=>e!==o):i=t,o=q(o)}return t.set(e,r),r}function Mn(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?tn(t)?[]:jn(t,this._c):[].concat(n),r],o=a[0],s=a.reduce((e,n)=>{let r=kn(t,n,i);return e.top=R(r.top,e.top),e.right=ft(r.right,e.right),e.bottom=ft(r.bottom,e.bottom),e.left=R(r.left,e.left),e},kn(t,o,i));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}}function Nn(e){let{width:t,height:n}=hn(e);return{width:t,height:n}}function Pn(e,t,n){let r=G(t),i=U(t),a=n===`fixed`,o=J(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=z(0);function l(){c.x=xn(i)}if(r||!r&&!a){if((qt(t)!==`body`||Zt(i))&&(s=dn(t)),r){let e=J(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l()}a&&!r&&i&&l();let u=i&&!r&&!a?Sn(i,s):z(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function Fn(e){return K(e).position===`static`}function In(e,t){if(!G(e)||K(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return U(e)===n&&(n=n.ownerDocument.body),n}function Ln(e,t){let n=H(e);if(tn(e))return n;if(!G(e)){let t=q(e);for(;t&&!un(t);){if(W(t)&&!Fn(t))return t;t=q(t)}return n}let r=In(e,t);for(;r&&$t(r)&&Fn(r);)r=In(r,t);return r&&un(r)&&Fn(r)&&!on(r)?n:r||sn(e)||n}let Rn=async function(e){let t=this.getOffsetParent||Ln,n=this.getDimensions,r=await n(e.floating);return{reference:Pn(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function zn(e){return K(e).direction===`rtl`}let Bn={convertOffsetParentRelativeRectToViewportRelativeRect:Cn,getDocumentElement:U,getClippingRect:Mn,getOffsetParent:Ln,getElementRects:Rn,getClientRects:wn,getDimensions:Nn,getScale:_n,isElement:W,isRTL:zn};function Vn(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Hn(e,t){let n=null,r,i=U(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=mt(d),h=mt(i.clientWidth-(u+f)),g=mt(i.clientHeight-(d+p)),_=mt(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:R(0,ft(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!Vn(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function Un(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=gn(e),u=i||a?[...l?pn(l):[],...pn(t)]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?Hn(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),p.observe(t));let m,h=c?J(e):null;c&&g();function g(){let t=J(e);h&&!Vn(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}let Wn=Ut,Gn=Wt,Kn=Bt,qn=Gt,Jn=(e,t,n)=>{let r=/* @__PURE__ */ new Map,i={platform:Bn,...n},a={...i.platform,_c:r};return Rt(e,t,{...i,platform:a})};var Yn=u`:host([menuisopen]:not([disabled]):not([readonly])) .dropdown-menu{display:block}.dropdown-menu{background-clip:padding-box;background-color:var(--sgds-surface-default);border-radius:var(--sgds-overlay-border-radius);box-shadow:0 0 1px 0 hsla(0,0%,5%,.12),0 4px 8px 0 hsla(0,0%,5%,.12);color:var(--sgds-color-default);display:none;list-style:none;margin:0;max-height:var(--sgds-dimension-480);min-width:var(--sgds-dimension-192);overflow-y:auto;padding:var(--sgds-padding-xs) 0;position:absolute;text-align:left;z-index:var(--sgds-z-index-floating)}.nav-tabs .dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:calc(var(--sgds-nav-tabs-border-width)*-1)}@media (min-width:512px){.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}}@media (min-width:768px){.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}}@media (min-width:1024px){.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}}@media (min-width:1280px){.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}}@media (min-width:1440px){.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.sgds.navbar .dropdown-menu.megamenu{left:0;right:0;width:100%}.sgds.combobox>.dropdown-menu{min-width:100%}`;F();var Xn=u`.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-label-sm);font-weight:var(--sgds-font-weight-regular)}.valid-icon{color:var(--sgds-form-success-color-default)}`;F();var Zn=u`.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)}`;F();var Qn=u`.form-control-container{display:flex;flex-direction:column;gap:var(--sgds-form-gap-md)}.m-width-160{min-width:var(--sgds-dimension-160)}.m-width-256{min-width:var(--sgds-dimension-256)}.form-label{color:var(--sgds-form-color-default);font-size:var(--sgds-font-size-label-md);font-weight:var(--sgds-font-weight-semibold)}.form-control-group{align-items:center;background-color:var(--sgds-form-surface-default);border:var(--sgds-form-border-width-default) solid var(--sgds-border-color-default);border-radius:var(--input-border-radius,var(--sgds-form-border-radius));display:flex;gap:var(--sgds-form-gap-md);height:var(--sgds-dimension-48);justify-content:center;overflow:hidden;padding:0 var(--sgds-form-padding-x);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:-webkit-fill-available;width:-moz-available}.form-control{appearance:none;background-clip:padding-box;background:none;border:none;color:var(--sgds-form-color-default);display:block;flex-grow:1;font-family:var(--sgds-font-family-label);font-size:var(--sgds-font-size-label-md);line-height:var(--sgds-line-height-xs);min-width:0;outline:none;padding:0;width:100%}.form-clearable{color:var(--sgds-color-subtle);cursor:pointer}.form-control-group:not(.disabled):not(.is-invalid):not(.readonly):not(:focus-within):hover{outline:var(--sgds-form-border-width-thick) solid var(--sgds-border-color-emphasis);outline-offset:var(--sgds-outline-offset-focus)}.form-control-group:not(.disabled):not(.is-invalid):focus-within{outline:var(--sgds-outline-focus);outline-offset:var(--sgds-outline-offset-focus)}.form-control-container.disabled{opacity:var(--sgds-opacity-40)}.form-control-group.disabled{background-color:var(--sgds-form-surface-muted);cursor:not-allowed}.form-control-group.readonly{background-color:var(--sgds-form-surface-raised)}.form-control-group.is-invalid:not(.disabled){border:var(--sgds-form-border-width-default) solid var(--sgds-form-danger-border-color-default)}.form-control-group:not(.disabled).is-invalid:focus-within{outline:var(--sgds-border-width-2) solid var(--sgds-form-danger-color-default);outline-offset:var(--sgds-outline-offset-focus)}`;F();let $n=(e=`value`)=>(t,n)=>{let r=t.constructor,i=r.prototype.attributeChangedCallback;r.prototype.attributeChangedCallback=function(t,a,o){let s=r.getPropertyOptions(e);if(t===(typeof s.attribute==`string`?s.attribute:e).toLowerCase()){let t=s.converter||C,r=(typeof t==`function`?t:t?.fromAttribute??C.fromAttribute)(o,s.type);this[e]!==r&&(this[n]=r)}i.call(this,t,a,o)}};function er(e=``,t=``){return`id-${Math.random().toString().substring(2,6)}-sgds-${e}-${t}`}var tr=class{constructor(e,t){(this.host=e).addController(this),this._internals=e._internals||this.host.attachInternals(),this.options={setInvalid:(e,t)=>{e.invalid=t},value:e=>e.value,input:e=>e.input,...t}}hostConnected(){this.host.addEventListener(`invalid`,e=>this.handleInvalid(e))}hostDisconnected(){this.host.removeEventListener(`invalid`,e=>this.handleInvalid(e))}handleInvalid(e){e.preventDefault(),this.options.setInvalid(this.host,!0)}handleInput(e){let t=e.target;this.options.setInvalid(this.host,!1),this.validateInput(t)}handleChange(e){let t=e.target;this.validateInput(t),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(e,t,n){return this._internals.setValidity(e,t,n)}setFormValue(){let e=this.options.value(this.host);this._internals.setFormValue(e)}validateInput(e){if(this.options.input(this.host).disabled)return this._internals.setValidity({});let t=e.validity;if(t.valid)this._internals.setValidity({});else for(let n in t)t[n]&&(this.validationError=n.toString(),this._internals.setValidity({[this.validationError]:!0},e.validationMessage,e))}};function Y(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let nr=e=>{class t extends e{static{this.formAssociated=!0}constructor(...e){super(...e),this._isTouched=!1,this._internals=this.attachInternals()}connectedCallback(){super.connectedCallback(),this.inputValidationController??=new tr(this)}async firstUpdated(e){super.firstUpdated(e),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(e){this._mixinSetFormValue(),!this._mixinShouldSkipSgdsValidation()&&this.inputValidationController.handleChange(e)}_mixinHandleInputChange(e){this._mixinSetFormValue(),!this._mixinShouldSkipSgdsValidation()&&this.inputValidationController.handleInput(e)}_mixinResetValidity(e){this.inputValidationController.resetValidity(),this.inputValidationController.updateInvalidState(),this._isTouched&&=!1,!this._mixinShouldSkipSgdsValidation()&&this.inputValidationController.validateInput(e)}_mixinValidate(e){this._mixinShouldSkipSgdsValidation()||this.inputValidationController.validateInput(e)}_mixinSetFormValue(){let e=this.value;this._internals.setFormValue(e)}_mixinCheckValidity(){return this._mixinShouldSkipSgdsValidation()?!0:this.inputValidationController.checkValidity()}_mixinReportValidity(){return this._mixinShouldSkipSgdsValidation()?!0:this.inputValidationController.reportValidity()}_mixinGetValidity(){return this._internals.validity}_mixinGetValidationMessage(){return this._internals.validationMessage}_mixinSetValidity(e,t,n){if(!this._mixinShouldSkipSgdsValidation())return this.inputValidationController.setValidity(e,t,n)}_mixinShouldSkipSgdsValidation(){return this.closest(`form`)?.noValidate||this.noValidate}}return Y([qe(`sgds-input`)],t.prototype,`sgdsInput`,void 0),Y([qe(`sgds-datepicker-input`)],t.prototype,`sgdsDatepickerInput`,void 0),t};F();var rr=u`:host{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-font-smoothing:antialiased;color:var(--sgds-body-color-default,#1a1a1a);display:block;font-family:var(--sgds-font-family-label,"Inter",system-ui,sans-serif);font-size:var(--sgds-font-size-body-md,1rem);font-weight:var(--sgds-font-weight-regular,400);line-height:var(--sgds-line-height-xs,24px);margin:0;*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:disabled{cursor:not-allowed}button,input,select,textarea{font-family:inherit;letter-spacing:inherit;text-transform:inherit;word-spacing:inherit}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}::slotted(a[target=_blank]):after,a[target=_blank]:after{background-color:currentColor;content:"/";display:inline-block;height:1em;-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath fill='%230e0e0e' fill-rule='evenodd' d='M9.774 4.4H9.8a.6.6 0 1 1 0 1.2c-.85 0-1.451 0-1.922.039-.463.038-.745.11-.968.223A2.4 2.4 0 0 0 5.861 6.91c-.113.223-.184.505-.222.968-.039.47-.04 1.072-.04 1.922v4.4c0 .85.001 1.451.04 1.922.038.463.11.745.222.968a2.4 2.4 0 0 0 1.05 1.048c.222.114.504.185.967.223.47.038 1.072.039 1.922.039h4.4c.85 0 1.451 0 1.921-.039.464-.038.746-.11.969-.223a2.4 2.4 0 0 0 1.048-1.048c.113-.223.185-.505.223-.968.038-.47.039-1.072.039-1.922a.6.6 0 1 1 1.2 0v.026c0 .818 0 1.468-.043 1.993-.044.538-.136.996-.35 1.415a3.6 3.6 0 0 1-1.573 1.574c-.42.213-.878.305-1.415.35-.525.042-1.175.042-1.993.042H9.774c-.818 0-1.469 0-1.993-.043-.538-.044-.996-.136-1.415-.35a3.6 3.6 0 0 1-1.574-1.573c-.213-.42-.305-.877-.35-1.415-.042-.525-.042-1.175-.042-1.993V9.774c0-.818 0-1.468.043-1.993.044-.538.136-.996.35-1.415a3.6 3.6 0 0 1 1.573-1.574c.42-.213.877-.305 1.415-.35C8.305 4.4 8.956 4.4 9.774 4.4M12.4 5a.6.6 0 0 1 .6-.6h6a.6.6 0 0 1 .6.6v6a.6.6 0 1 1-1.2 0V6.449l-5.976 5.975a.6.6 0 0 1-.848-.848L17.55 5.6H13a.6.6 0 0 1-.6-.6' clip-rule='evenodd'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath fill='%230e0e0e' fill-rule='evenodd' d='M9.774 4.4H9.8a.6.6 0 1 1 0 1.2c-.85 0-1.451 0-1.922.039-.463.038-.745.11-.968.223A2.4 2.4 0 0 0 5.861 6.91c-.113.223-.184.505-.222.968-.039.47-.04 1.072-.04 1.922v4.4c0 .85.001 1.451.04 1.922.038.463.11.745.222.968a2.4 2.4 0 0 0 1.05 1.048c.222.114.504.185.967.223.47.038 1.072.039 1.922.039h4.4c.85 0 1.451 0 1.921-.039.464-.038.746-.11.969-.223a2.4 2.4 0 0 0 1.048-1.048c.113-.223.185-.505.223-.968.038-.47.039-1.072.039-1.922a.6.6 0 1 1 1.2 0v.026c0 .818 0 1.468-.043 1.993-.044.538-.136.996-.35 1.415a3.6 3.6 0 0 1-1.573 1.574c-.42.213-.878.305-1.415.35-.525.042-1.175.042-1.993.042H9.774c-.818 0-1.469 0-1.993-.043-.538-.044-.996-.136-1.415-.35a3.6 3.6 0 0 1-1.574-1.573c-.213-.42-.305-.877-.35-1.415-.042-.525-.042-1.175-.042-1.993V9.774c0-.818 0-1.468.043-1.993.044-.538.136-.996.35-1.415a3.6 3.6 0 0 1 1.573-1.574c.42-.213.877-.305 1.415-.35C8.305 4.4 8.956 4.4 9.774 4.4M12.4 5a.6.6 0 0 1 .6-.6h6a.6.6 0 0 1 .6.6v6a.6.6 0 1 1-1.2 0V6.449l-5.976 5.975a.6.6 0 0 1-.848-.848L17.55 5.6H13a.6.6 0 0 1-.6-.6' clip-rule='evenodd'/%3E%3C/svg%3E");-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;vertical-align:top;width:1em}::slotted(svg){vertical-align:middle}}`;F();var X=class extends Re{static{this.styles=[rr]}emit(e,t){let n=new CustomEvent(e,{bubbles:!0,cancelable:!1,composed:!0,detail:{},...t});return this.dispatchEvent(n),n}static define(e,t=this,n={}){if(!customElements.get(e)){try{customElements.define(e,t,n)}catch{customElements.define(e,class extends t{},n)}return}}static{this.dependencies={}}constructor(){super(),this.ssr=!!this.shadowRoot,Object.entries(this.constructor.dependencies).forEach(([e,t])=>{this.constructor.define(e,t)})}firstUpdated(e){super.firstUpdated(e),this.ssr&&this.shadowRoot?.querySelectorAll(`slot`).forEach(e=>{e.dispatchEvent(new Event(`slotchange`,{bubbles:!0,composed:!1,cancelable:!1}))})}};Y([I({type:Boolean,reflect:!0})],X.prototype,`ssr`,void 0);function ir(e,t,n){return new Promise(r=>{if(n?.duration===1/0)throw Error(`Promise-based animations must be finite.`);let i=e.animate(t,{...n,duration:ar()?0:n?.duration});i.addEventListener(`cancel`,r,{once:!0}),i.addEventListener(`finish`,r,{once:!0})})}function ar(){return window.matchMedia(`(prefers-reduced-motion: reduce)`).matches}let or=/* @__PURE__ */ new Map,sr=/* @__PURE__ */ new WeakMap;function cr(e){return e??{keyframes:[],options:{duration:0}}}function lr(e){return e}function ur(e,t){let n=sr.get(e);if(n?.[t])return lr(n[t]);let r=or.get(t);return r?lr(r):{keyframes:[],options:{duration:0}}}function dr(e,t){or.set(e,cr(t))}var Z=class extends X{constructor(...e){super(...e),this.myDropdown=ct(),this.dropdownMenuId=er(`dropdown-menu`,`div`),this.noFlip=!1,this.menuAlignRight=!1,this.drop=`down`,this.floatingOpts={},this.menuIsOpen=!1,this.close=`default`,this.disabled=!1,this.readonly=!1,this.menuRef=ct(),this._handleClickOutOfElement=e=>{this.menuIsOpen&&(e.composedPath().includes(this)||this.hideMenu(!0))}}connectedCallback(){super.connectedCallback(),this.close!==`inside`&&document.addEventListener(`click`,this._handleClickOutOfElement),this.addEventListener(`keydown`,this._handleKeyboardMenuEvent)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener(`click`,this._handleClickOutOfElement),this.removeEventListener(`keydown`,this._handleKeyboardMenuEvent),this._cleanupAutoUpdate&&=(this._cleanupAutoUpdate(),void 0)}firstUpdated(e){super.firstUpdated(e),this.menuIsOpen&&requestAnimationFrame(async()=>{await this.updateFloatingPosition(),this._startAutoUpdate()})}async showMenu(){if(!(this.disabled||this.menuIsOpen)){if(this.menuIsOpen=!0,this.emit(`sgds-show`),await this.updateFloatingPosition(),this._startAutoUpdate(),this.menuRef.value){let e=(this.menuRef.value.getAttribute(`data-placement`)||``).startsWith(`top`)?`4px`:`-4px`,{options:t}=ur(this,`dropdown.show`);await ir(this.menuRef.value,[{opacity:0,transform:`translateY(${e})`},{opacity:1,transform:`translateY(0)`}],t)}this.emit(`sgds-after-show`)}}_startAutoUpdate(){this.myDropdown.value&&this.menuRef.value&&(this._cleanupAutoUpdate=Un(this.myDropdown.value,this.menuRef.value,()=>this.updateFloatingPosition()))}async hideMenu(e){if(this.menuIsOpen){if(this.emit(`sgds-hide`,{detail:{isOutside:e}}),this.menuRef.value){let e=(this.menuRef.value.getAttribute(`data-placement`)||``).startsWith(`top`)?`4px`:`-4px`,{options:t}=ur(this,`dropdown.hide`);await ir(this.menuRef.value,[{opacity:1,transform:`translateY(0)`},{opacity:0,transform:`translateY(${e})`}],t)}this.menuIsOpen=!1,this.emit(`sgds-after-hide`),this._cleanupAutoUpdate&&=(this._cleanupAutoUpdate(),void 0)}}toggleMenu(){this.menuIsOpen?this.hideMenu():this.showMenu()}_handleKeyboardMenuEvent(e){if(!this.readonly)switch(e.key){case`ArrowDown`:case`ArrowUp`:e.preventDefault(),this.menuIsOpen||this.showMenu();break;case`Escape`:this.hideMenu()}}mergeMiddleware(e,t){let n=e=>e?.name||e?.constructor?.name,r=t.map(n);return e.map(e=>{let i=n(e),a=r.indexOf(i);return a===-1?e:t[a]}).concat(t.filter(t=>!e.some(e=>n(e)===n(t))))}async updateFloatingPosition(){if(!this.myDropdown.value||!this.menuRef.value)return;let e=`bottom-start`;switch(this.drop){case`up`:e=this.menuAlignRight?`top-end`:`top-start`;break;case`right`:e=`right-start`;break;case`left`:e=`left-start`;break;case`down`:e=this.menuAlignRight?`bottom-end`:`bottom-start`;break;default:e=`bottom-start`}let t=[Wn(8),this.noFlip?void 0:Kn(),Gn()].filter(Boolean),n=t;Array.isArray(this.floatingOpts.middleware)&&this.floatingOpts.middleware.length>0&&(n=this.mergeMiddleware(t,this.floatingOpts.middleware.filter(Boolean)));let r={strategy:`fixed`,placement:e,...this.floatingOpts,middleware:n},{x:i,y:a,strategy:o,placement:s}=await Jn(this.myDropdown.value,this.menuRef.value,r);this.menuRef.value.setAttribute(`data-placement`,s),Object.assign(this.menuRef.value.style,{position:o,left:`${i}px`,top:`${a}px`})}};Y([I({type:Boolean,state:!0})],Z.prototype,`noFlip`,void 0),Y([I({type:Boolean,reflect:!0,state:!0})],Z.prototype,`menuAlignRight`,void 0),Y([I({type:String,reflect:!0,state:!0})],Z.prototype,`drop`,void 0),Y([I({type:Object})],Z.prototype,`floatingOpts`,void 0),Y([I({type:Boolean,reflect:!0})],Z.prototype,`menuIsOpen`,void 0),Y([I({type:Boolean,reflect:!0})],Z.prototype,`disabled`,void 0),Y([I({type:Boolean,reflect:!0})],Z.prototype,`readonly`,void 0),dr(`dropdown.show`,{keyframes:[],options:{duration:200,easing:`cubic-bezier(0.1, 0, 0.5, 0)`}}),dr(`dropdown.hide`,{keyframes:[],options:{duration:200,easing:`cubic-bezier(0.15, 0.6, 0.6, 1)`}});var fr=class extends Z{constructor(...e){super(...e),this.nextDropdownItemNo=0,this.prevDropdownItemNo=-1,this.hidden=!1}static{this.styles=Z.styles}connectedCallback(){super.connectedCallback(),this.addEventListener(`sgds-hide`,this._resetMenu)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(`sgds-hide`,this._resetMenu)}firstUpdated(e){super.firstUpdated(e),this.addEventListener(`keydown`,this._handleKeyboardMenuItemsEvent)}handleSelectSlot(e){let t=this._getActiveMenuItems(),n=t.find(t=>e.composedPath().includes(t));if(!n)return;let r=t.indexOf(n);this.nextDropdownItemNo=r+1,this.prevDropdownItemNo=r<=0?t.length-1:r-1,n.disabled||(this.emit(`sgds-select`,{detail:{item:n}}),this.close!==`outside`&&this.hideMenu())}_resetMenu(){this.nextDropdownItemNo=0,this.prevDropdownItemNo=-1,this._getMenuItems().forEach(e=>{let t=e?.shadowRoot?.querySelector(`.dropdown-item`);t&&t.removeAttribute(`tabindex`)})}_handleKeyboardMenuItemsEvent(e){if(this.readonly)return;let t=this._getActiveMenuItems();if(t.length!==0)switch(e.key){case`ArrowDown`:e.preventDefault(),this._setMenuItem(this.nextDropdownItemNo);break;case`ArrowUp`:e.preventDefault(),this._setMenuItem(this.prevDropdownItemNo);break;case`Tab`:if(!this.menuIsOpen)return;e.preventDefault(),e.shiftKey?this._setMenuItem(this.prevDropdownItemNo):this._setMenuItem(this.nextDropdownItemNo);break;case`Escape`:this.menuIsOpen&&(e.preventDefault(),this.hideMenu());break;case`Enter`:t.find(t=>e.composedPath().includes(t))&&this.handleSelectSlot(e)}}_getMenuItems(){return this.shadowRoot.querySelector(`slot#default`)?this.shadowRoot.querySelector(`slot#default`)?.assignedElements({flatten:!0}).filter(e=>e.getAttribute(`role`)===`menuitem`&&!e.classList.contains(`empty-menu`)&&!e.hasAttribute(`hidden`)):this.menu?.hasChildNodes()?[...Array.from(this.menu.children)]:[]}_getActiveMenuItems(){return this._getMenuItems().filter(e=>!e.disabled&&!e.hidden&&!e.readonly)}_setMenuItem(e){let t=this._getActiveMenuItems();if(t.length===0)return;let n=(e%t.length+t.length)%t.length,r=t[n];this.emit(`i-sgds-option-focus`,{detail:{option:r}}),this.nextDropdownItemNo=(n+1)%t.length,this.prevDropdownItemNo=(n-1+t.length)%t.length,t.forEach(e=>{let t=e.shadowRoot.querySelector(`.dropdown-item`);t.setAttribute(`tabindex`,e===r?`0`:`-1`),e===r&&t.focus()})}};Y([Ke(`ul.dropdown-menu`)],fr.prototype,`menu`,void 0),Y([We()],fr.prototype,`nextDropdownItemNo`,void 0),Y([We()],fr.prototype,`prevDropdownItemNo`,void 0),Y([I({type:Boolean,reflect:!0})],fr.prototype,`hidden`,void 0),F();var pr=u`.empty-menu,.loading-menu{padding:var(--sgds-padding-sm) var(--sgds-padding-lg,20px);pointer-events:none}.loading-menu{align-items:center;display:flex;gap:var(--sgds-gap-xs)}`;F();var Q=class extends nr(fr){static{this.styles=[...fr.styles,Yn,Zn,Xn,Qn,pr]}setInvalid(e){this.invalid=e,e?this.emit(`sgds-invalid`):this.emit(`sgds-valid`)}constructor(){super(),this.label=``,this.hintText=``,this.autofocus=!1,this.disabled=!1,this.required=!1,this.loading=!1,this.value=``,this.displayValue=``,this.defaultValue=``,this.hasFeedback=!1,this.invalidFeedback=``,this.invalid=!1,this.autocomplete=`on`,this.menuList=[],this.selectedItems=[],this.filteredList=[],this._isTouched=!1,this._controlId=er(`input`),this._labelId=er(`label`),this.floatingOpts={middleware:[qn({apply({rects:e,elements:t}){t.floating.style.width=`${e.reference.width}px`}})]}}connectedCallback(){super.connectedCallback(),this.addEventListener(`blur`,async e=>{if(this._mixinShouldSkipSgdsValidation())return;let t=this.constructor.childName,n=e.relatedTarget?.tagName.toLowerCase()===t;this.invalid=!n&&!this._mixinReportValidity()})}reportValidity(){return this._mixinReportValidity()}setValidity(e,t,n){return this._mixinSetValidity(e,t,n)}checkValidity(){return this._mixinCheckValidity()}get validity(){return this._mixinGetValidity()}get validationMessage(){return this._mixinGetValidationMessage()}_renderFeedback(){return this.invalid&&this.hasFeedback?k` <div class="invalid-feedback-container">
96
+ */let ct=()=>new lt;var lt=class{};let ut=/* @__PURE__ */ new WeakMap,dt=Xe(class extends st{render(e){return j}update(e,[t]){let n=t!==this.G;return n&&this.G!==void 0&&this.rt(void 0),(n||this.lt!==this.ct)&&(this.G=t,this.ht=e.options?.host,this.rt(this.ct=e.element)),j}rt(e){if(this.isConnected||(e=void 0),typeof this.G==`function`){let t=this.ht??globalThis,n=ut.get(t);n===void 0&&(n=/* @__PURE__ */ new WeakMap,ut.set(t,n)),n.get(this.G)!==void 0&&this.G.call(this.ht,void 0),n.set(this.G,e),e!==void 0&&this.G.call(this.ht,e)}else this.G.value=e}get lt(){return typeof this.G==`function`?ut.get(this.ht??globalThis)?.get(this.G):this.G?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}}),ft=Math.min,R=Math.max,pt=Math.round,mt=Math.floor,z=e=>({x:e,y:e}),ht={left:`right`,right:`left`,bottom:`top`,top:`bottom`},gt={start:`end`,end:`start`};function _t(e,t,n){return R(e,ft(t,n))}function vt(e,t){return typeof e==`function`?e(t):e}function B(e){return e.split(`-`)[0]}function yt(e){return e.split(`-`)[1]}function bt(e){return e===`x`?`y`:`x`}function xt(e){return e===`y`?`height`:`width`}let St=/*#__PURE__*/ new Set([`top`,`bottom`]);function V(e){return St.has(B(e))?`y`:`x`}function Ct(e){return bt(V(e))}function wt(e,t,n){n===void 0&&(n=!1);let r=yt(e),i=Ct(e),a=xt(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Nt(o)),[o,Nt(o)]}function Tt(e){let t=Nt(e);return[Et(e),t,Et(t)]}function Et(e){return e.replace(/start|end/g,e=>gt[e])}let Dt=[`left`,`right`],Ot=[`right`,`left`],kt=[`top`,`bottom`],At=[`bottom`,`top`];function jt(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Ot:Dt:t?Dt:Ot;case`left`:case`right`:return t?kt:At;default:return[]}}function Mt(e,t,n,r){let i=yt(e),a=jt(B(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Et)))),a}function Nt(e){return e.replace(/left|right|bottom|top/g,e=>ht[e])}function Pt(e){return{top:0,right:0,bottom:0,left:0,...e}}function Ft(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Pt(e)}function It(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function Lt(e,t,n){let{reference:r,floating:i}=e,a=V(t),o=Ct(t),s=xt(o),c=B(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(yt(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1)}return p}let Rt=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=a.filter(Boolean),c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Lt(l,r,c),f=r,p={},m=0;for(let n=0;n<s.length;n++){let{name:a,fn:h}=s[n],{x:g,y:_,data:v,reset:y}=await h({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:p,rects:l,platform:o,elements:{reference:e,floating:t}});u=g??u,d=_??d,p={...p,[a]:{...p[a],...v}},y&&m<=50&&(m++,typeof y==`object`&&(y.placement&&(f=y.placement),y.rects&&(l=y.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):y.rects),{x:u,y:d}=Lt(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:p}};async function zt(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=vt(t,e),p=Ft(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=It(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=It(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}let Bt=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=vt(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=B(r),_=V(o),v=B(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Nt(o)]:Tt(o)),ee=p!==`none`;!d&&ee&&b.push(...Mt(o,m,p,y));let te=[o,...b],x=await zt(t,h),S=[],C=i.flip?.overflows||[];if(l&&S.push(x[g]),u){let e=wt(r,a,y);S.push(x[e[0]],x[e[1]])}if(C=[...C,{placement:r,overflows:S}],!S.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=te[e];if(t&&(u!==`alignment`||_===V(t)||C.every(e=>V(e.placement)!==_||e.overflows[0]>0)))return{data:{index:e,overflows:C},reset:{placement:t}};let n=C.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=C.filter(e=>{if(ee){let t=V(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o}if(r!==n)return{reset:{placement:n}}}return{}}}},Vt=/*#__PURE__*/ new Set([`left`,`top`]);async function Ht(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=B(n),s=yt(n),c=V(n)===`y`,l=Vt.has(o)?-1:1,u=a&&c?-1:1,d=vt(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}let Ut=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await Ht(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},Wt=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i}=t,{mainAxis:a=!0,crossAxis:o=!1,limiter:s={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...c}=vt(e,t),l={x:n,y:r},u=await zt(t,c),d=V(B(i)),f=bt(d),p=l[f],m=l[d];if(a){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=p+u[e],r=p-u[t];p=_t(n,p,r)}if(o){let e=d===`y`?`top`:`left`,t=d===`y`?`bottom`:`right`,n=m+u[e],r=m-u[t];m=_t(n,m,r)}let h=s.fn({...t,[f]:p,[d]:m});return{...h,data:{x:h.x-n,y:h.y-r,enabled:{[f]:a,[d]:o}}}}}},Gt=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=vt(e,t),u=await zt(t,l),d=B(i),f=yt(i),p=V(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=ft(h-u[g],v),ee=ft(m-u[_],y),te=!t.middlewareData.shift,x=b,S=ee;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(S=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(x=v),te&&!f){let e=R(u.left,0),t=R(u.right,0),n=R(u.top,0),r=R(u.bottom,0);p?S=m-2*(e!==0||t!==0?e+t:R(u.left,u.right)):x=h-2*(n!==0||r!==0?n+r:R(u.top,u.bottom))}await c({...t,availableWidth:S,availableHeight:x});let C=await o.getDimensions(s.floating);return m!==C.width||h!==C.height?{reset:{rects:!0}}:{}}}};function Kt(){return typeof window<`u`}function qt(e){return Jt(e)?(e.nodeName||``).toLowerCase():`#document`}function H(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function U(e){return((Jt(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Jt(e){return Kt()?e instanceof Node||e instanceof H(e).Node:!1}function W(e){return Kt()?e instanceof Element||e instanceof H(e).Element:!1}function G(e){return Kt()?e instanceof HTMLElement||e instanceof H(e).HTMLElement:!1}function Yt(e){return!Kt()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof H(e).ShadowRoot}let Xt=/*#__PURE__*/ new Set([`inline`,`contents`]);function Zt(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=K(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!Xt.has(i)}let Qt=/*#__PURE__*/ new Set([`table`,`td`,`th`]);function $t(e){return Qt.has(qt(e))}let en=[`:popover-open`,`:modal`];function tn(e){return en.some(t=>{try{return e.matches(t)}catch{return!1}})}let nn=[`transform`,`translate`,`scale`,`rotate`,`perspective`],rn=[`transform`,`translate`,`scale`,`rotate`,`perspective`,`filter`],an=[`paint`,`layout`,`strict`,`content`];function on(e){let t=cn(),n=W(e)?K(e):e;return nn.some(e=>n[e]?n[e]!==`none`:!1)||(n.containerType?n.containerType!==`normal`:!1)||!t&&(n.backdropFilter?n.backdropFilter!==`none`:!1)||!t&&(n.filter?n.filter!==`none`:!1)||rn.some(e=>(n.willChange||``).includes(e))||an.some(e=>(n.contain||``).includes(e))}function sn(e){let t=q(e);for(;G(t)&&!un(t);){if(on(t))return t;if(tn(t))return null;t=q(t)}return null}function cn(){return typeof CSS>`u`||!CSS.supports?!1:CSS.supports(`-webkit-backdrop-filter`,`none`)}let ln=/*#__PURE__*/ new Set([`html`,`body`,`#document`]);function un(e){return ln.has(qt(e))}function K(e){return H(e).getComputedStyle(e)}function dn(e){return W(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function q(e){if(qt(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Yt(e)&&e.host||U(e);return Yt(t)?t.host:t}function fn(e){let t=q(e);return un(t)?e.ownerDocument?e.ownerDocument.body:e.body:G(t)&&Zt(t)?t:fn(t)}function pn(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=fn(e),i=r===e.ownerDocument?.body,a=H(r);if(i){let e=mn(a);return t.concat(a,a.visualViewport||[],Zt(r)?r:[],e&&n?pn(e):[])}return t.concat(r,pn(r,[],n))}function mn(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function hn(e){let t=K(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=G(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=pt(n)!==a||pt(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function gn(e){return W(e)?e:e.contextElement}function _n(e){let t=gn(e);if(!G(t))return z(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=hn(t),o=(a?pt(n.width):n.width)/r,s=(a?pt(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}let vn=/*#__PURE__*/ z(0);function yn(e){let t=H(e);return!cn()||!t.visualViewport?vn:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function bn(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==H(e)?!1:t}function J(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=gn(e),o=z(1);t&&(r?W(r)&&(o=_n(r)):o=_n(e));let s=bn(a,n,r)?yn(a):z(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=H(a),t=r&&W(r)?H(r):r,n=e,i=mn(n);for(;i&&r&&t!==n;){let e=_n(i),t=i.getBoundingClientRect(),r=K(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=H(i),i=mn(n)}}return It({width:u,height:d,x:c,y:l})}function xn(e,t){let n=dn(e).scrollLeft;return t?t.left+n:J(U(e)).left+n}function Sn(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-xn(e,n),y:n.top+t.scrollTop}}function Cn(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=U(r),s=t?tn(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=z(1),u=z(0),d=G(r);if((d||!d&&!a)&&((qt(r)!==`body`||Zt(o))&&(c=dn(r)),G(r))){let e=J(r);l=_n(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Sn(o,c):z(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function wn(e){return Array.from(e.getClientRects())}function Tn(e){let t=U(e),n=dn(e),r=e.ownerDocument.body,i=R(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=R(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+xn(e),s=-n.scrollTop;return K(r).direction===`rtl`&&(o+=R(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}function En(e,t){let n=H(e),r=U(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=cn();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=xn(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=25&&(a-=o)}else l<=25&&(a+=l);return{width:a,height:o,x:s,y:c}}let Dn=/*#__PURE__*/ new Set([`absolute`,`fixed`]);function On(e,t){let n=J(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=G(e)?_n(e):z(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function kn(e,t,n){let r;if(t===`viewport`)r=En(e,n);else if(t===`document`)r=Tn(U(e));else if(W(t))r=On(t,n);else{let n=yn(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return It(r)}function An(e,t){let n=q(e);return n===t||!W(n)||un(n)?!1:K(n).position===`fixed`||An(n,t)}function jn(e,t){let n=t.get(e);if(n)return n;let r=pn(e,[],!1).filter(e=>W(e)&&qt(e)!==`body`),i=null,a=K(e).position===`fixed`,o=a?q(e):e;for(;W(o)&&!un(o);){let t=K(o),n=on(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&Dn.has(i.position)||Zt(o)&&!n&&An(e,o))?r=r.filter(e=>e!==o):i=t,o=q(o)}return t.set(e,r),r}function Mn(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?tn(t)?[]:jn(t,this._c):[].concat(n),r],o=a[0],s=a.reduce((e,n)=>{let r=kn(t,n,i);return e.top=R(r.top,e.top),e.right=ft(r.right,e.right),e.bottom=ft(r.bottom,e.bottom),e.left=R(r.left,e.left),e},kn(t,o,i));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}}function Nn(e){let{width:t,height:n}=hn(e);return{width:t,height:n}}function Pn(e,t,n){let r=G(t),i=U(t),a=n===`fixed`,o=J(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=z(0);function l(){c.x=xn(i)}if(r||!r&&!a){if((qt(t)!==`body`||Zt(i))&&(s=dn(t)),r){let e=J(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l()}a&&!r&&i&&l();let u=i&&!r&&!a?Sn(i,s):z(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function Fn(e){return K(e).position===`static`}function In(e,t){if(!G(e)||K(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return U(e)===n&&(n=n.ownerDocument.body),n}function Ln(e,t){let n=H(e);if(tn(e))return n;if(!G(e)){let t=q(e);for(;t&&!un(t);){if(W(t)&&!Fn(t))return t;t=q(t)}return n}let r=In(e,t);for(;r&&$t(r)&&Fn(r);)r=In(r,t);return r&&un(r)&&Fn(r)&&!on(r)?n:r||sn(e)||n}let Rn=async function(e){let t=this.getOffsetParent||Ln,n=this.getDimensions,r=await n(e.floating);return{reference:Pn(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function zn(e){return K(e).direction===`rtl`}let Bn={convertOffsetParentRelativeRectToViewportRelativeRect:Cn,getDocumentElement:U,getClippingRect:Mn,getOffsetParent:Ln,getElementRects:Rn,getClientRects:wn,getDimensions:Nn,getScale:_n,isElement:W,isRTL:zn};function Vn(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Hn(e,t){let n=null,r,i=U(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=mt(d),h=mt(i.clientWidth-(u+f)),g=mt(i.clientHeight-(d+p)),_=mt(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:R(0,ft(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!Vn(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function Un(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=gn(e),u=i||a?[...l?pn(l):[],...pn(t)]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?Hn(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),p.observe(t));let m,h=c?J(e):null;c&&g();function g(){let t=J(e);h&&!Vn(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}let Wn=Ut,Gn=Wt,Kn=Bt,qn=Gt,Jn=(e,t,n)=>{let r=/* @__PURE__ */ new Map,i={platform:Bn,...n},a={...i.platform,_c:r};return Rt(e,t,{...i,platform:a})};var Yn=u`:host([menuisopen]:not([disabled]):not([readonly])) .dropdown-menu{display:block}.dropdown-menu{background-clip:padding-box;background-color:var(--sgds-surface-default);border-radius:var(--sgds-overlay-border-radius);box-shadow:0 0 1px 0 hsla(0,0%,5%,.12),0 4px 8px 0 hsla(0,0%,5%,.12);color:var(--sgds-color-default);display:none;list-style:none;margin:0;max-height:var(--sgds-dimension-480);min-width:var(--sgds-dimension-192);overflow-y:auto;padding:var(--sgds-padding-xs) 0;position:absolute;text-align:left;z-index:var(--sgds-z-index-floating)}.nav-tabs .dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:calc(var(--sgds-nav-tabs-border-width)*-1)}@media (min-width:512px){.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}}@media (min-width:768px){.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}}@media (min-width:1024px){.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}}@media (min-width:1280px){.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}}@media (min-width:1440px){.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.sgds.navbar .dropdown-menu.megamenu{left:0;right:0;width:100%}.sgds.combobox>.dropdown-menu{min-width:100%}`;F();var Xn=u`.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-label-sm);font-weight:var(--sgds-font-weight-regular)}.valid-icon{color:var(--sgds-form-success-color-default)}`;F();var Zn=u`.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)}`;F();var Qn=u`.form-control-container{display:flex;flex-direction:column;gap:var(--sgds-form-gap-md)}.m-width-160{min-width:var(--sgds-dimension-160)}.m-width-256{min-width:var(--sgds-dimension-256)}.form-label{color:var(--sgds-form-color-default);font-size:var(--sgds-font-size-label-md);font-weight:var(--sgds-font-weight-semibold)}.form-control-group{align-items:center;background-color:var(--sgds-form-surface-default);border:var(--sgds-form-border-width-default) solid var(--sgds-border-color-default);border-radius:var(--input-border-radius,var(--sgds-form-border-radius));display:flex;gap:var(--sgds-form-gap-md);height:var(--sgds-dimension-48);justify-content:center;overflow:hidden;padding:0 var(--sgds-form-padding-x);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:-webkit-fill-available;width:-moz-available}.form-control{appearance:none;background-clip:padding-box;background:none;border:none;color:var(--sgds-form-color-default);display:block;flex-grow:1;font-family:var(--sgds-font-family-label);font-size:var(--sgds-font-size-label-md);line-height:var(--sgds-line-height-xs);min-width:0;outline:none;padding:0;width:100%}.form-clearable{color:var(--sgds-color-subtle);cursor:pointer}.form-control-group:not(.disabled):not(.is-invalid):not(.readonly):not(:focus-within):hover{outline:var(--sgds-form-border-width-thick) solid var(--sgds-border-color-emphasis);outline-offset:var(--sgds-outline-offset-focus)}.form-control-group:not(.disabled):not(.is-invalid):focus-within{outline:var(--sgds-outline-focus);outline-offset:var(--sgds-outline-offset-focus)}.form-control-container.disabled{opacity:var(--sgds-opacity-40)}.form-control-group.disabled{background-color:var(--sgds-form-surface-muted);cursor:not-allowed}.form-control-group.readonly{background-color:var(--sgds-form-surface-raised)}.form-control-group.is-invalid:not(.disabled){border:var(--sgds-form-border-width-default) solid var(--sgds-form-danger-border-color-default)}.form-control-group:not(.disabled).is-invalid:focus-within{outline:var(--sgds-border-width-2) solid var(--sgds-form-danger-color-default);outline-offset:var(--sgds-outline-offset-focus)}`;F();let $n=(e=`value`)=>(t,n)=>{let r=t.constructor,i=r.prototype.attributeChangedCallback;r.prototype.attributeChangedCallback=function(t,a,o){let s=r.getPropertyOptions(e);if(t===(typeof s.attribute==`string`?s.attribute:e).toLowerCase()){let t=s.converter||C,r=(typeof t==`function`?t:t?.fromAttribute??C.fromAttribute)(o,s.type);this[e]!==r&&(this[n]=r)}i.call(this,t,a,o)}};function er(e=``,t=``){return`id-${Math.random().toString().substring(2,6)}-sgds-${e}-${t}`}var tr=class{constructor(e,t){(this.host=e).addController(this),this._internals=e._internals||this.host.attachInternals(),this.options={setInvalid:(e,t)=>{e.invalid=t},value:e=>e.value,input:e=>e.input,...t}}hostConnected(){this.host.addEventListener(`invalid`,e=>this.handleInvalid(e))}hostDisconnected(){this.host.removeEventListener(`invalid`,e=>this.handleInvalid(e))}handleInvalid(e){e.preventDefault(),this.options.setInvalid(this.host,!0)}handleInput(e){let t=e.target;this.options.setInvalid(this.host,!1),this.validateInput(t)}handleChange(e){let t=e.target;this.validateInput(t),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(e,t,n){return this._internals.setValidity(e,t,n)}setFormValue(){let e=this.options.value(this.host);this._internals.setFormValue(e)}validateInput(e){if(this.options.input(this.host).disabled)return this._internals.setValidity({});let t=e.validity;if(t.valid)this._internals.setValidity({});else for(let n in t)t[n]&&(this.validationError=n.toString(),this._internals.setValidity({[this.validationError]:!0},e.validationMessage,e))}};function Y(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let nr=e=>{class t extends e{static{this.formAssociated=!0}constructor(...e){super(...e),this._isTouched=!1,this._internals=this.attachInternals()}connectedCallback(){super.connectedCallback(),this.inputValidationController??=new tr(this)}async firstUpdated(e){super.firstUpdated(e),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(e){this._mixinSetFormValue(),!this._mixinShouldSkipSgdsValidation()&&this.inputValidationController.handleChange(e)}_mixinHandleInputChange(e){this._mixinSetFormValue(),!this._mixinShouldSkipSgdsValidation()&&this.inputValidationController.handleInput(e)}_mixinResetValidity(e){this.inputValidationController.resetValidity(),this.inputValidationController.updateInvalidState(),this._isTouched&&=!1,!this._mixinShouldSkipSgdsValidation()&&this.inputValidationController.validateInput(e)}_mixinValidate(e){this._mixinShouldSkipSgdsValidation()||this.inputValidationController.validateInput(e)}_mixinSetFormValue(e){this._internals.setFormValue(e===void 0?this.value:e)}_mixinCheckValidity(){return this._mixinShouldSkipSgdsValidation()?!0:this.inputValidationController.checkValidity()}_mixinReportValidity(){return this._mixinShouldSkipSgdsValidation()?!0:this.inputValidationController.reportValidity()}_mixinGetValidity(){return this._internals.validity}_mixinGetValidationMessage(){return this._internals.validationMessage}_mixinSetValidity(e,t,n){if(!this._mixinShouldSkipSgdsValidation())return this.inputValidationController.setValidity(e,t,n)}_mixinShouldSkipSgdsValidation(){return this.closest(`form`)?.noValidate||this.noValidate}}return Y([qe(`sgds-input`)],t.prototype,`sgdsInput`,void 0),Y([qe(`sgds-datepicker-input`)],t.prototype,`sgdsDatepickerInput`,void 0),t};F();var rr=u`:host{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-font-smoothing:antialiased;color:var(--sgds-body-color-default,#1a1a1a);display:block;font-family:var(--sgds-font-family-label,"Inter",system-ui,sans-serif);font-size:var(--sgds-font-size-body-md,1rem);font-weight:var(--sgds-font-weight-regular,400);line-height:var(--sgds-line-height-xs,24px);margin:0;*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:disabled{cursor:not-allowed}button,input,select,textarea{font-family:inherit;letter-spacing:inherit;text-transform:inherit;word-spacing:inherit}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}::slotted(a[target=_blank]):after,a[target=_blank]:after{background-color:currentColor;content:"/";display:inline-block;height:1em;-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath fill='%230e0e0e' fill-rule='evenodd' d='M9.774 4.4H9.8a.6.6 0 1 1 0 1.2c-.85 0-1.451 0-1.922.039-.463.038-.745.11-.968.223A2.4 2.4 0 0 0 5.861 6.91c-.113.223-.184.505-.222.968-.039.47-.04 1.072-.04 1.922v4.4c0 .85.001 1.451.04 1.922.038.463.11.745.222.968a2.4 2.4 0 0 0 1.05 1.048c.222.114.504.185.967.223.47.038 1.072.039 1.922.039h4.4c.85 0 1.451 0 1.921-.039.464-.038.746-.11.969-.223a2.4 2.4 0 0 0 1.048-1.048c.113-.223.185-.505.223-.968.038-.47.039-1.072.039-1.922a.6.6 0 1 1 1.2 0v.026c0 .818 0 1.468-.043 1.993-.044.538-.136.996-.35 1.415a3.6 3.6 0 0 1-1.573 1.574c-.42.213-.878.305-1.415.35-.525.042-1.175.042-1.993.042H9.774c-.818 0-1.469 0-1.993-.043-.538-.044-.996-.136-1.415-.35a3.6 3.6 0 0 1-1.574-1.573c-.213-.42-.305-.877-.35-1.415-.042-.525-.042-1.175-.042-1.993V9.774c0-.818 0-1.468.043-1.993.044-.538.136-.996.35-1.415a3.6 3.6 0 0 1 1.573-1.574c.42-.213.877-.305 1.415-.35C8.305 4.4 8.956 4.4 9.774 4.4M12.4 5a.6.6 0 0 1 .6-.6h6a.6.6 0 0 1 .6.6v6a.6.6 0 1 1-1.2 0V6.449l-5.976 5.975a.6.6 0 0 1-.848-.848L17.55 5.6H13a.6.6 0 0 1-.6-.6' clip-rule='evenodd'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath fill='%230e0e0e' fill-rule='evenodd' d='M9.774 4.4H9.8a.6.6 0 1 1 0 1.2c-.85 0-1.451 0-1.922.039-.463.038-.745.11-.968.223A2.4 2.4 0 0 0 5.861 6.91c-.113.223-.184.505-.222.968-.039.47-.04 1.072-.04 1.922v4.4c0 .85.001 1.451.04 1.922.038.463.11.745.222.968a2.4 2.4 0 0 0 1.05 1.048c.222.114.504.185.967.223.47.038 1.072.039 1.922.039h4.4c.85 0 1.451 0 1.921-.039.464-.038.746-.11.969-.223a2.4 2.4 0 0 0 1.048-1.048c.113-.223.185-.505.223-.968.038-.47.039-1.072.039-1.922a.6.6 0 1 1 1.2 0v.026c0 .818 0 1.468-.043 1.993-.044.538-.136.996-.35 1.415a3.6 3.6 0 0 1-1.573 1.574c-.42.213-.878.305-1.415.35-.525.042-1.175.042-1.993.042H9.774c-.818 0-1.469 0-1.993-.043-.538-.044-.996-.136-1.415-.35a3.6 3.6 0 0 1-1.574-1.573c-.213-.42-.305-.877-.35-1.415-.042-.525-.042-1.175-.042-1.993V9.774c0-.818 0-1.468.043-1.993.044-.538.136-.996.35-1.415a3.6 3.6 0 0 1 1.573-1.574c.42-.213.877-.305 1.415-.35C8.305 4.4 8.956 4.4 9.774 4.4M12.4 5a.6.6 0 0 1 .6-.6h6a.6.6 0 0 1 .6.6v6a.6.6 0 1 1-1.2 0V6.449l-5.976 5.975a.6.6 0 0 1-.848-.848L17.55 5.6H13a.6.6 0 0 1-.6-.6' clip-rule='evenodd'/%3E%3C/svg%3E");-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;vertical-align:top;width:1em}::slotted(svg){vertical-align:middle}}`;F();var X=class extends Re{static{this.styles=[rr]}emit(e,t){let n=new CustomEvent(e,{bubbles:!0,cancelable:!1,composed:!0,detail:{},...t});return this.dispatchEvent(n),n}static define(e,t=this,n={}){if(!customElements.get(e)){try{customElements.define(e,t,n)}catch{customElements.define(e,class extends t{},n)}return}}static{this.dependencies={}}constructor(){super(),this.ssr=!!this.shadowRoot,Object.entries(this.constructor.dependencies).forEach(([e,t])=>{this.constructor.define(e,t)})}firstUpdated(e){super.firstUpdated(e),this.ssr&&this.shadowRoot?.querySelectorAll(`slot`).forEach(e=>{e.dispatchEvent(new Event(`slotchange`,{bubbles:!0,composed:!1,cancelable:!1}))})}};Y([I({type:Boolean,reflect:!0})],X.prototype,`ssr`,void 0);function ir(e,t,n){return new Promise(r=>{if(n?.duration===1/0)throw Error(`Promise-based animations must be finite.`);let i=e.animate(t,{...n,duration:ar()?0:n?.duration});i.addEventListener(`cancel`,r,{once:!0}),i.addEventListener(`finish`,r,{once:!0})})}function ar(){return window.matchMedia(`(prefers-reduced-motion: reduce)`).matches}let or=/* @__PURE__ */ new Map,sr=/* @__PURE__ */ new WeakMap;function cr(e){return e??{keyframes:[],options:{duration:0}}}function lr(e){return e}function ur(e,t){let n=sr.get(e);if(n?.[t])return lr(n[t]);let r=or.get(t);return r?lr(r):{keyframes:[],options:{duration:0}}}function dr(e,t){or.set(e,cr(t))}var Z=class extends X{constructor(...e){super(...e),this.myDropdown=ct(),this.dropdownMenuId=er(`dropdown-menu`,`div`),this.noFlip=!1,this.menuAlignRight=!1,this.drop=`down`,this.floatingOpts={},this.menuIsOpen=!1,this.close=`default`,this.disabled=!1,this.readonly=!1,this.menuRef=ct(),this._handleClickOutOfElement=e=>{this.menuIsOpen&&(e.composedPath().includes(this)||this.hideMenu(!0))}}connectedCallback(){super.connectedCallback(),this.close!==`inside`&&document.addEventListener(`click`,this._handleClickOutOfElement),this.addEventListener(`keydown`,this._handleKeyboardMenuEvent)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener(`click`,this._handleClickOutOfElement),this.removeEventListener(`keydown`,this._handleKeyboardMenuEvent),this._cleanupAutoUpdate&&=(this._cleanupAutoUpdate(),void 0)}firstUpdated(e){super.firstUpdated(e),this.menuIsOpen&&requestAnimationFrame(async()=>{await this.updateFloatingPosition(),this._startAutoUpdate()})}async showMenu(){if(!(this.disabled||this.menuIsOpen)){if(this.menuIsOpen=!0,this.emit(`sgds-show`),await this.updateFloatingPosition(),this._startAutoUpdate(),this.menuRef.value){let e=(this.menuRef.value.getAttribute(`data-placement`)||``).startsWith(`top`)?`4px`:`-4px`,{options:t}=ur(this,`dropdown.show`);await ir(this.menuRef.value,[{opacity:0,transform:`translateY(${e})`},{opacity:1,transform:`translateY(0)`}],t)}this.emit(`sgds-after-show`)}}_startAutoUpdate(){this.myDropdown.value&&this.menuRef.value&&(this._cleanupAutoUpdate=Un(this.myDropdown.value,this.menuRef.value,()=>this.updateFloatingPosition()))}async hideMenu(e){if(this.menuIsOpen){if(this.emit(`sgds-hide`,{detail:{isOutside:e}}),this.menuRef.value){let e=(this.menuRef.value.getAttribute(`data-placement`)||``).startsWith(`top`)?`4px`:`-4px`,{options:t}=ur(this,`dropdown.hide`);await ir(this.menuRef.value,[{opacity:1,transform:`translateY(0)`},{opacity:0,transform:`translateY(${e})`}],t)}this.menuIsOpen=!1,this.emit(`sgds-after-hide`),this._cleanupAutoUpdate&&=(this._cleanupAutoUpdate(),void 0)}}toggleMenu(){this.menuIsOpen?this.hideMenu():this.showMenu()}_handleKeyboardMenuEvent(e){if(!this.readonly)switch(e.key){case`ArrowDown`:case`ArrowUp`:e.preventDefault(),this.menuIsOpen||this.showMenu();break;case`Escape`:this.hideMenu()}}mergeMiddleware(e,t){let n=e=>e?.name||e?.constructor?.name,r=t.map(n);return e.map(e=>{let i=n(e),a=r.indexOf(i);return a===-1?e:t[a]}).concat(t.filter(t=>!e.some(e=>n(e)===n(t))))}async updateFloatingPosition(){if(!this.myDropdown.value||!this.menuRef.value)return;let e=`bottom-start`;switch(this.drop){case`up`:e=this.menuAlignRight?`top-end`:`top-start`;break;case`right`:e=`right-start`;break;case`left`:e=`left-start`;break;case`down`:e=this.menuAlignRight?`bottom-end`:`bottom-start`;break;default:e=`bottom-start`}let t=[Wn(8),this.noFlip?void 0:Kn(),Gn()].filter(Boolean),n=t;Array.isArray(this.floatingOpts.middleware)&&this.floatingOpts.middleware.length>0&&(n=this.mergeMiddleware(t,this.floatingOpts.middleware.filter(Boolean)));let r={strategy:`fixed`,placement:e,...this.floatingOpts,middleware:n},{x:i,y:a,strategy:o,placement:s}=await Jn(this.myDropdown.value,this.menuRef.value,r);this.menuRef.value.setAttribute(`data-placement`,s),Object.assign(this.menuRef.value.style,{position:o,left:`${i}px`,top:`${a}px`})}};Y([I({type:Boolean,state:!0})],Z.prototype,`noFlip`,void 0),Y([I({type:Boolean,reflect:!0,state:!0})],Z.prototype,`menuAlignRight`,void 0),Y([I({type:String,reflect:!0,state:!0})],Z.prototype,`drop`,void 0),Y([I({type:Object})],Z.prototype,`floatingOpts`,void 0),Y([I({type:Boolean,reflect:!0})],Z.prototype,`menuIsOpen`,void 0),Y([I({type:Boolean,reflect:!0})],Z.prototype,`disabled`,void 0),Y([I({type:Boolean,reflect:!0})],Z.prototype,`readonly`,void 0),dr(`dropdown.show`,{keyframes:[],options:{duration:200,easing:`cubic-bezier(0.1, 0, 0.5, 0)`}}),dr(`dropdown.hide`,{keyframes:[],options:{duration:200,easing:`cubic-bezier(0.15, 0.6, 0.6, 1)`}});var fr=class extends Z{constructor(...e){super(...e),this.nextDropdownItemNo=0,this.prevDropdownItemNo=-1,this.hidden=!1}static{this.styles=Z.styles}connectedCallback(){super.connectedCallback(),this.addEventListener(`sgds-hide`,this._resetMenu)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(`sgds-hide`,this._resetMenu)}firstUpdated(e){super.firstUpdated(e),this.addEventListener(`keydown`,this._handleKeyboardMenuItemsEvent)}handleSelectSlot(e){let t=this._getActiveMenuItems(),n=t.find(t=>e.composedPath().includes(t));if(!n)return;let r=t.indexOf(n);this.nextDropdownItemNo=r+1,this.prevDropdownItemNo=r<=0?t.length-1:r-1,n.disabled||(this.emit(`sgds-select`,{detail:{item:n}}),this.close!==`outside`&&this.hideMenu())}_resetMenu(){this.nextDropdownItemNo=0,this.prevDropdownItemNo=-1,this._getMenuItems().forEach(e=>{let t=e?.shadowRoot?.querySelector(`.dropdown-item`);t&&t.removeAttribute(`tabindex`)})}_handleKeyboardMenuItemsEvent(e){if(this.readonly)return;let t=this._getActiveMenuItems();if(t.length!==0)switch(e.key){case`ArrowDown`:e.preventDefault(),this._setMenuItem(this.nextDropdownItemNo);break;case`ArrowUp`:e.preventDefault(),this._setMenuItem(this.prevDropdownItemNo);break;case`Tab`:if(!this.menuIsOpen)return;e.preventDefault(),e.shiftKey?this._setMenuItem(this.prevDropdownItemNo):this._setMenuItem(this.nextDropdownItemNo);break;case`Escape`:this.menuIsOpen&&(e.preventDefault(),this.hideMenu());break;case`Enter`:t.find(t=>e.composedPath().includes(t))&&this.handleSelectSlot(e)}}_getMenuItems(){return this.shadowRoot.querySelector(`slot#default`)?this.shadowRoot.querySelector(`slot#default`)?.assignedElements({flatten:!0}).filter(e=>e.getAttribute(`role`)===`menuitem`&&!e.classList.contains(`empty-menu`)&&!e.hasAttribute(`hidden`)):this.menu?.hasChildNodes()?[...Array.from(this.menu.children)]:[]}_getActiveMenuItems(){return this._getMenuItems().filter(e=>!e.disabled&&!e.hidden&&!e.readonly)}_setMenuItem(e){let t=this._getActiveMenuItems();if(t.length===0)return;let n=(e%t.length+t.length)%t.length,r=t[n];this.emit(`i-sgds-option-focus`,{detail:{option:r}}),this.nextDropdownItemNo=(n+1)%t.length,this.prevDropdownItemNo=(n-1+t.length)%t.length,t.forEach(e=>{let t=e.shadowRoot.querySelector(`.dropdown-item`);t.setAttribute(`tabindex`,e===r?`0`:`-1`),e===r&&t.focus()})}};Y([Ke(`ul.dropdown-menu`)],fr.prototype,`menu`,void 0),Y([We()],fr.prototype,`nextDropdownItemNo`,void 0),Y([We()],fr.prototype,`prevDropdownItemNo`,void 0),Y([I({type:Boolean,reflect:!0})],fr.prototype,`hidden`,void 0),F();var pr=u`.empty-menu,.loading-menu{padding:var(--sgds-padding-sm) var(--sgds-padding-lg,20px);pointer-events:none}.loading-menu{align-items:center;display:flex;gap:var(--sgds-gap-xs)}`;F();var Q=class extends nr(fr){static{this.styles=[...fr.styles,Yn,Zn,Xn,Qn,pr]}setInvalid(e){this.invalid=e,e?this.emit(`sgds-invalid`):this.emit(`sgds-valid`)}constructor(){super(),this.label=``,this.hintText=``,this.autofocus=!1,this.disabled=!1,this.required=!1,this.loading=!1,this.value=``,this.displayValue=``,this.defaultValue=``,this.hasFeedback=!1,this.invalidFeedback=``,this.invalid=!1,this.autocomplete=`on`,this.menuList=[],this.selectedItems=[],this.filteredList=[],this._isTouched=!1,this._controlId=er(`input`),this._labelId=er(`label`),this.floatingOpts={middleware:[qn({apply({rects:e,elements:t}){t.floating.style.width=`${e.reference.width}px`}})]}}connectedCallback(){super.connectedCallback(),this.addEventListener(`blur`,async e=>{if(this._mixinShouldSkipSgdsValidation())return;let t=this.constructor.childName,n=e.relatedTarget?.tagName.toLowerCase()===t;this.invalid=!n&&!this._mixinReportValidity()})}reportValidity(){return this._mixinReportValidity()}setValidity(e,t,n){return this._mixinSetValidity(e,t,n)}checkValidity(){return this._mixinCheckValidity()}get validity(){return this._mixinGetValidity()}get validationMessage(){return this._mixinGetValidationMessage()}_renderFeedback(){return this.invalid&&this.hasFeedback?k` <div class="invalid-feedback-container">
97
97
  <slot name="invalidIcon">
98
98
  <sgds-icon name="exclamation-circle-fill" size="md"></sgds-icon>
99
99
  </slot>