@govtechsg/sgds-web-component 3.16.1-rc.2 → 3.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/components/Accordion/accordion-item.js +1 -1
  2. package/components/Accordion/index.umd.min.js +13 -11
  3. package/components/Accordion/index.umd.min.js.map +1 -1
  4. package/components/Accordion/sgds-accordion-item.d.ts +4 -1
  5. package/components/Accordion/sgds-accordion-item.js +15 -11
  6. package/components/Accordion/sgds-accordion-item.js.map +1 -1
  7. package/components/Accordion/sgds-accordion.d.ts +1 -1
  8. package/components/Accordion/sgds-accordion.js.map +1 -1
  9. package/components/ComboBox/combo-box.js +1 -1
  10. package/components/ComboBox/index.umd.min.js +3 -3
  11. package/components/ComboBox/index.umd.min.js.map +1 -1
  12. package/components/ComboBox/sgds-combo-box.js +6 -1
  13. package/components/ComboBox/sgds-combo-box.js.map +1 -1
  14. package/components/Datepicker/datepicker.js +1 -1
  15. package/components/Datepicker/index.umd.min.js +4 -4
  16. package/components/Datepicker/index.umd.min.js.map +1 -1
  17. package/components/Datepicker/sgds-datepicker.js +1 -1
  18. package/components/Datepicker/sgds-datepicker.js.map +1 -1
  19. package/components/Input/index.umd.min.js +2 -2
  20. package/components/Input/index.umd.min.js.map +1 -1
  21. package/components/Input/sgds-input.js +1 -1
  22. package/components/Input/sgds-input.js.map +1 -1
  23. package/components/QuantityToggle/index.umd.min.js +3 -3
  24. package/components/QuantityToggle/index.umd.min.js.map +1 -1
  25. package/components/QuantityToggle/sgds-quantity-toggle.js +1 -1
  26. package/components/QuantityToggle/sgds-quantity-toggle.js.map +1 -1
  27. package/components/Radio/index.umd.min.js +9 -9
  28. package/components/Radio/index.umd.min.js.map +1 -1
  29. package/components/Radio/sgds-radio-group.d.ts +2 -0
  30. package/components/Radio/sgds-radio-group.js +10 -1
  31. package/components/Radio/sgds-radio-group.js.map +1 -1
  32. package/components/Radio/sgds-radio.d.ts +2 -0
  33. package/components/Radio/sgds-radio.js +6 -1
  34. package/components/Radio/sgds-radio.js.map +1 -1
  35. package/components/Select/index.umd.min.js +2 -2
  36. package/components/Select/index.umd.min.js.map +1 -1
  37. package/components/Select/sgds-select.js +2 -1
  38. package/components/Select/sgds-select.js.map +1 -1
  39. package/components/Tab/index.umd.min.js +3 -2
  40. package/components/Tab/index.umd.min.js.map +1 -1
  41. package/components/Tab/sgds-tab-group.js +1 -0
  42. package/components/Tab/sgds-tab-group.js.map +1 -1
  43. package/components/Tab/tab-group.js +1 -1
  44. package/components/Tab/tab.js +1 -1
  45. package/components/Textarea/index.umd.min.js +4 -4
  46. package/components/Textarea/index.umd.min.js.map +1 -1
  47. package/components/Textarea/sgds-textarea.js +1 -1
  48. package/components/Textarea/sgds-textarea.js.map +1 -1
  49. package/components/Toast/index.umd.min.js +1 -1
  50. package/components/Toast/index.umd.min.js.map +1 -1
  51. package/components/Toast/toast.js +1 -1
  52. package/components/index.umd.min.js +25 -22
  53. package/components/index.umd.min.js.map +1 -1
  54. package/css/fouc.css +1 -1
  55. package/custom-elements.json +550 -503
  56. package/index.umd.min.js +25 -22
  57. package/index.umd.min.js.map +1 -1
  58. package/package.json +1 -1
  59. package/react/components/Accordion/accordion-item.cjs.js +1 -1
  60. package/react/components/Accordion/accordion-item.js +1 -1
  61. package/react/components/Accordion/sgds-accordion-item.cjs.js +15 -11
  62. package/react/components/Accordion/sgds-accordion-item.cjs.js.map +1 -1
  63. package/react/components/Accordion/sgds-accordion-item.js +15 -11
  64. package/react/components/Accordion/sgds-accordion-item.js.map +1 -1
  65. package/react/components/Accordion/sgds-accordion.cjs.js.map +1 -1
  66. package/react/components/Accordion/sgds-accordion.js.map +1 -1
  67. package/react/components/ComboBox/combo-box.cjs.js +1 -1
  68. package/react/components/ComboBox/combo-box.js +1 -1
  69. package/react/components/ComboBox/sgds-combo-box.cjs.js +6 -1
  70. package/react/components/ComboBox/sgds-combo-box.cjs.js.map +1 -1
  71. package/react/components/ComboBox/sgds-combo-box.js +6 -1
  72. package/react/components/ComboBox/sgds-combo-box.js.map +1 -1
  73. package/react/components/Datepicker/datepicker.cjs.js +1 -1
  74. package/react/components/Datepicker/datepicker.js +1 -1
  75. package/react/components/Datepicker/sgds-datepicker.cjs.js +1 -1
  76. package/react/components/Datepicker/sgds-datepicker.cjs.js.map +1 -1
  77. package/react/components/Datepicker/sgds-datepicker.js +1 -1
  78. package/react/components/Datepicker/sgds-datepicker.js.map +1 -1
  79. package/react/components/Input/sgds-input.cjs.js +1 -1
  80. package/react/components/Input/sgds-input.cjs.js.map +1 -1
  81. package/react/components/Input/sgds-input.js +1 -1
  82. package/react/components/Input/sgds-input.js.map +1 -1
  83. package/react/components/QuantityToggle/sgds-quantity-toggle.cjs.js +1 -1
  84. package/react/components/QuantityToggle/sgds-quantity-toggle.cjs.js.map +1 -1
  85. package/react/components/QuantityToggle/sgds-quantity-toggle.js +1 -1
  86. package/react/components/QuantityToggle/sgds-quantity-toggle.js.map +1 -1
  87. package/react/components/Radio/sgds-radio-group.cjs.js +10 -1
  88. package/react/components/Radio/sgds-radio-group.cjs.js.map +1 -1
  89. package/react/components/Radio/sgds-radio-group.js +10 -1
  90. package/react/components/Radio/sgds-radio-group.js.map +1 -1
  91. package/react/components/Radio/sgds-radio.cjs.js +6 -1
  92. package/react/components/Radio/sgds-radio.cjs.js.map +1 -1
  93. package/react/components/Radio/sgds-radio.js +6 -1
  94. package/react/components/Radio/sgds-radio.js.map +1 -1
  95. package/react/components/Select/sgds-select.cjs.js +2 -1
  96. package/react/components/Select/sgds-select.cjs.js.map +1 -1
  97. package/react/components/Select/sgds-select.js +2 -1
  98. package/react/components/Select/sgds-select.js.map +1 -1
  99. package/react/components/Tab/sgds-tab-group.cjs.js +1 -0
  100. package/react/components/Tab/sgds-tab-group.cjs.js.map +1 -1
  101. package/react/components/Tab/sgds-tab-group.js +1 -0
  102. package/react/components/Tab/sgds-tab-group.js.map +1 -1
  103. package/react/components/Tab/tab-group.cjs.js +1 -1
  104. package/react/components/Tab/tab-group.js +1 -1
  105. package/react/components/Tab/tab.cjs.js +1 -1
  106. package/react/components/Tab/tab.js +1 -1
  107. package/react/components/Textarea/sgds-textarea.cjs.js +1 -1
  108. package/react/components/Textarea/sgds-textarea.cjs.js.map +1 -1
  109. package/react/components/Textarea/sgds-textarea.js +1 -1
  110. package/react/components/Textarea/sgds-textarea.js.map +1 -1
  111. package/react/components/Toast/toast.cjs.js +1 -1
  112. package/react/components/Toast/toast.js +1 -1
  113. package/react/index.cjs.js +6 -6
  114. package/react/index.d.ts +1 -1
  115. package/react/index.js +1 -1
  116. package/react/styles/form-text-control.cjs.js +1 -1
  117. package/react/styles/form-text-control.js +1 -1
  118. package/styles/form-text-control.js +1 -1
  119. package/types/react.d.ts +22 -18
@@ -27,6 +27,8 @@ export declare class SgdsRadioGroup extends SgdsRadioGroup_base {
27
27
  hasFeedback: boolean;
28
28
  /** Makes the input as a required field. */
29
29
  required: boolean;
30
+ /** Automatically focuses the selected radio input in the group when it becomes checked. */
31
+ autofocus: boolean;
30
32
  _handleValueChange(): void;
31
33
  _handleInvalidChange(): void;
32
34
  private _isTouched;
@@ -31,6 +31,8 @@ class SgdsRadioGroup extends SgdsFormValidatorMixin(FormControlElement) {
31
31
  this.hasFeedback = false;
32
32
  /** Makes the input as a required field. */
33
33
  this.required = false;
34
+ /** Automatically focuses the selected radio input in the group when it becomes checked. */
35
+ this.autofocus = false;
34
36
  this._isTouched = false;
35
37
  }
36
38
  _handleValueChange() {
@@ -127,7 +129,11 @@ class SgdsRadioGroup extends SgdsFormValidatorMixin(FormControlElement) {
127
129
  }
128
130
  _handleSlotChange() {
129
131
  const radios = this._radios;
130
- radios.forEach(radio => (radio.checked = radio.value === this.value));
132
+ radios.forEach(radio => {
133
+ radio.autofocus = this.autofocus;
134
+ radio.checked = radio.value === this.value;
135
+ return radio;
136
+ });
131
137
  this._disabledChildRadios();
132
138
  if (!radios.some(radio => radio.checked)) {
133
139
  if (radios[0])
@@ -258,6 +264,9 @@ __decorate([
258
264
  __decorate([
259
265
  property({ type: Boolean, reflect: true })
260
266
  ], SgdsRadioGroup.prototype, "required", void 0);
267
+ __decorate([
268
+ property({ type: Boolean, reflect: true })
269
+ ], SgdsRadioGroup.prototype, "autofocus", void 0);
261
270
  __decorate([
262
271
  watch("value", { waitUntilFirstUpdate: true })
263
272
  ], SgdsRadioGroup.prototype, "_handleValueChange", null);
@@ -1 +1 @@
1
- {"version":3,"file":"sgds-radio-group.js","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 *\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 @watch(\"value\", { waitUntilFirstUpdate: true })\n _handleValueChange() {\n this.emit<ISgdsRadioGroupChangeEventDetail>(\"sgds-change\", { detail: { value: this.value } });\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\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._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 => (radio.checked = radio.value === this.value));\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._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"],"names":["radioGroupStyles"],"mappings":"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"}
1
+ {"version":3,"file":"sgds-radio-group.js","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 *\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 /** 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.emit<ISgdsRadioGroupChangeEventDetail>(\"sgds-change\", { detail: { value: this.value } });\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\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._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._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"],"names":["radioGroupStyles"],"mappings":"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"}
@@ -19,6 +19,8 @@ export declare class SgdsRadio extends SgdsElement {
19
19
  disabled: boolean;
20
20
  /** Marks the radio input as invalid. Replace the pseudo :invalid selector for absent in custom elements */
21
21
  invalid: boolean;
22
+ /** Automatically focuses the radio input when it becomes checked. */
23
+ autofocus: boolean;
22
24
  private input;
23
25
  private radioId;
24
26
  connectedCallback(): void;
@@ -29,6 +29,8 @@ class SgdsRadio extends SgdsElement {
29
29
  this.disabled = false;
30
30
  /** Marks the radio input as invalid. Replace the pseudo :invalid selector for absent in custom elements */
31
31
  this.invalid = false;
32
+ /** Automatically focuses the radio input when it becomes checked. */
33
+ this.autofocus = false;
32
34
  this.radioId = genId("radio");
33
35
  }
34
36
  connectedCallback() {
@@ -38,7 +40,7 @@ class SgdsRadio extends SgdsElement {
38
40
  }
39
41
  handleCheckedChange() {
40
42
  var _a;
41
- if (this.checked) {
43
+ if (this.checked && this.autofocus) {
42
44
  (_a = this.input) === null || _a === void 0 ? void 0 : _a.focus();
43
45
  }
44
46
  this.setAttribute("aria-checked", this.checked ? "true" : "false");
@@ -105,6 +107,9 @@ __decorate([
105
107
  __decorate([
106
108
  property({ type: Boolean, reflect: true })
107
109
  ], SgdsRadio.prototype, "invalid", void 0);
110
+ __decorate([
111
+ property({ type: Boolean, reflect: false })
112
+ ], SgdsRadio.prototype, "autofocus", void 0);
108
113
  __decorate([
109
114
  query("input")
110
115
  ], SgdsRadio.prototype, "input", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"sgds-radio.js","sources":["../../../src/components/Radio/sgds-radio.ts"],"sourcesContent":["import { html } from \"lit\";\nimport { property, query } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport formLabelStyles from \"../../styles/form-label.css\";\nimport formCheckStyles from \"../../styles/form-check.css\";\nimport genId from \"../../utils/generateId\";\nimport { watch } from \"../../utils/watch\";\nimport radioStyles from \"./radio.css\";\n/**\n * @summary Radio allows the user to select one option from a set while seeing all available options.\n *\n * @slot default - The label of the radio input\n *\n * @event sgds-focus - Emitted when the control gains focus.\n * @event sgds-blur - Emitted when the control loses focus.\n */\nexport class SgdsRadio extends SgdsElement {\n static styles = [...SgdsElement.styles, formCheckStyles, formLabelStyles, radioStyles];\n /**\n * Draws the radio in a checked state. When used with SgdsRadioGroup, the value prop of SgdsRadioGroup overrides the checked prop\n */\n @property({ type: Boolean, reflect: true }) checked = false;\n\n /** The radio's value attribute. */\n @property() value: string;\n\n /** Disables the radio. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Marks the radio input as invalid. Replace the pseudo :invalid selector for absent in custom elements */\n @property({ type: Boolean, reflect: true }) invalid = false;\n\n @query(\"input\")\n private input: HTMLInputElement;\n\n private radioId: string = genId(\"radio\");\n\n connectedCallback(): void {\n super.connectedCallback();\n this.setInitialAttributes();\n this.addEventListeners();\n }\n\n @watch(\"checked\")\n handleCheckedChange() {\n if (this.checked) {\n this.input?.focus();\n }\n this.setAttribute(\"aria-checked\", this.checked ? \"true\" : \"false\");\n this.setAttribute(\"tabindex\", this.checked ? \"0\" : \"-1\");\n }\n\n @watch(\"disabled\", { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n this.setAttribute(\"aria-disabled\", this.disabled ? \"true\" : \"false\");\n }\n\n private handleBlur() {\n this.emit(\"sgds-blur\");\n }\n\n private handleClick() {\n if (!this.disabled) {\n this.checked = true;\n }\n }\n\n private handleFocus() {\n this.emit(\"sgds-focus\");\n }\n\n private addEventListeners() {\n this.addEventListener(\"blur\", () => this.handleBlur());\n this.addEventListener(\"click\", () => this.handleClick());\n this.addEventListener(\"focus\", () => this.handleFocus());\n }\n\n private setInitialAttributes() {\n this.setAttribute(\"role\", \"radio\");\n this.setAttribute(\"tabindex\", \"-1\");\n this.setAttribute(\"aria-disabled\", this.disabled ? \"true\" : \"false\");\n }\n\n render() {\n return html`\n <div class=\"form-check\">\n <input\n class=${classMap({\n \"form-check-input\": true,\n \"is-invalid\": this.invalid\n })}\n type=\"radio\"\n id=${ifDefined(this.radioId)}\n value=${ifDefined(this.value)}\n ?checked=${this.checked}\n ?disabled=${this.disabled}\n aria-disabled=${this.disabled ? \"true\" : \"false\"}\n aria-checked=${this.checked ? \"true\" : \"false\"}\n @click=${this.handleClick}\n />\n <label for=\"${ifDefined(this.radioId)}\" aria-label=${ifDefined(this.ariaLabel)} class=\"form-check-label\">\n <slot></slot>\n </label>\n </div>\n `;\n }\n}\n\nexport default SgdsRadio;\n"],"names":["formCheckStyles","formLabelStyles","radioStyles"],"mappings":"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"}
1
+ {"version":3,"file":"sgds-radio.js","sources":["../../../src/components/Radio/sgds-radio.ts"],"sourcesContent":["import { html } from \"lit\";\nimport { property, query } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport formLabelStyles from \"../../styles/form-label.css\";\nimport formCheckStyles from \"../../styles/form-check.css\";\nimport genId from \"../../utils/generateId\";\nimport { watch } from \"../../utils/watch\";\nimport radioStyles from \"./radio.css\";\n/**\n * @summary Radio allows the user to select one option from a set while seeing all available options.\n *\n * @slot default - The label of the radio input\n *\n * @event sgds-focus - Emitted when the control gains focus.\n * @event sgds-blur - Emitted when the control loses focus.\n */\nexport class SgdsRadio extends SgdsElement {\n static styles = [...SgdsElement.styles, formCheckStyles, formLabelStyles, radioStyles];\n /**\n * Draws the radio in a checked state. When used with SgdsRadioGroup, the value prop of SgdsRadioGroup overrides the checked prop\n */\n @property({ type: Boolean, reflect: true }) checked = false;\n\n /** The radio's value attribute. */\n @property() value: string;\n\n /** Disables the radio. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Marks the radio input as invalid. Replace the pseudo :invalid selector for absent in custom elements */\n @property({ type: Boolean, reflect: true }) invalid = false;\n\n /** Automatically focuses the radio input when it becomes checked. */\n @property({ type: Boolean, reflect: false }) autofocus = false;\n\n @query(\"input\")\n private input: HTMLInputElement;\n\n private radioId: string = genId(\"radio\");\n\n connectedCallback(): void {\n super.connectedCallback();\n this.setInitialAttributes();\n this.addEventListeners();\n }\n\n @watch(\"checked\")\n handleCheckedChange() {\n if (this.checked && this.autofocus) {\n this.input?.focus();\n }\n this.setAttribute(\"aria-checked\", this.checked ? \"true\" : \"false\");\n this.setAttribute(\"tabindex\", this.checked ? \"0\" : \"-1\");\n }\n\n @watch(\"disabled\", { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n this.setAttribute(\"aria-disabled\", this.disabled ? \"true\" : \"false\");\n }\n\n private handleBlur() {\n this.emit(\"sgds-blur\");\n }\n\n private handleClick() {\n if (!this.disabled) {\n this.checked = true;\n }\n }\n\n private handleFocus() {\n this.emit(\"sgds-focus\");\n }\n\n private addEventListeners() {\n this.addEventListener(\"blur\", () => this.handleBlur());\n this.addEventListener(\"click\", () => this.handleClick());\n this.addEventListener(\"focus\", () => this.handleFocus());\n }\n\n private setInitialAttributes() {\n this.setAttribute(\"role\", \"radio\");\n this.setAttribute(\"tabindex\", \"-1\");\n this.setAttribute(\"aria-disabled\", this.disabled ? \"true\" : \"false\");\n }\n\n render() {\n return html`\n <div class=\"form-check\">\n <input\n class=${classMap({\n \"form-check-input\": true,\n \"is-invalid\": this.invalid\n })}\n type=\"radio\"\n id=${ifDefined(this.radioId)}\n value=${ifDefined(this.value)}\n ?checked=${this.checked}\n ?disabled=${this.disabled}\n aria-disabled=${this.disabled ? \"true\" : \"false\"}\n aria-checked=${this.checked ? \"true\" : \"false\"}\n @click=${this.handleClick}\n />\n <label for=\"${ifDefined(this.radioId)}\" aria-label=${ifDefined(this.ariaLabel)} class=\"form-check-label\">\n <slot></slot>\n </label>\n </div>\n `;\n }\n}\n\nexport default SgdsRadio;\n"],"names":["formCheckStyles","formLabelStyles","radioStyles"],"mappings":"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"}
@@ -80,7 +80,7 @@ window.ShadyDOM?.inUse&&!0===window.ShadyDOM?.noPatch&&window.ShadyDOM.wrap;cons
80
80
  * @license
81
81
  * Copyright 2020 Google LLC
82
82
  * SPDX-License-Identifier: BSD-3-Clause
83
- */const We=()=>new qe;class qe{}const je=new WeakMap;const Ke=Ee(class extends Fe{render(e){return ie}update(e,[t]){const l=t!==this._ref;return l&&void 0!==this._ref&&this._updateRefValue(void 0),(l||this._lastElementForRef!==this._element)&&(this._ref=t,this._context=e.options?.host,this._updateRefValue(this._element=e.element)),ie}_updateRefValue(e){if(this.isConnected||(e=void 0),"function"==typeof this._ref){const t=this._context??globalThis;let l=je.get(t);void 0===l&&(l=new WeakMap,je.set(t,l)),void 0!==l.get(this._ref)&&this._ref.call(this._context,void 0),l.set(this._ref,e),void 0!==e&&this._ref.call(this._context,e)}else this._ref.value=e}get _lastElementForRef(){return"function"==typeof this._ref?je.get(this._context??globalThis)?.get(this._ref):this._ref?.value}disconnected(){this._lastElementForRef===this._element&&this._updateRefValue(void 0)}reconnected(){this._updateRefValue(this._element)}}),Je=Math.min,Ge=Math.max,Ye=Math.round,Xe=Math.floor,Qe=e=>({x:e,y:e}),et={left:"right",right:"left",bottom:"top",top:"bottom"},tt={start:"end",end:"start"};function lt(e,t,l){return Ge(e,Je(t,l))}function it(e,t){return"function"==typeof e?e(t):e}function at(e){return e.split("-")[0]}function ot(e){return e.split("-")[1]}function nt(e){return"x"===e?"y":"x"}function rt(e){return"y"===e?"height":"width"}const st=new Set(["top","bottom"]);function ct(e){return st.has(at(e))?"y":"x"}function dt(e){return nt(ct(e))}function ht(e,t,l){void 0===l&&(l=!1);const i=ot(e),a=dt(e),o=rt(a);let n="x"===a?i===(l?"end":"start")?"right":"left":"start"===i?"bottom":"top";return t.reference[o]>t.floating[o]&&(n=mt(n)),[n,mt(n)]}function vt(e){return e.replace(/start|end/g,e=>tt[e])}const ut=["left","right"],pt=["right","left"],gt=["top","bottom"],wt=["bottom","top"];function ft(e,t,l,i){const a=ot(e);let o=function(e,t,l){switch(e){case"top":case"bottom":return l?t?pt:ut:t?ut:pt;case"left":case"right":return t?gt:wt;default:return[]}}(at(e),"start"===l,i);return a&&(o=o.map(e=>e+"-"+a),t&&(o=o.concat(o.map(vt)))),o}function mt(e){return e.replace(/left|right|bottom|top/g,e=>et[e])}function xt(e){return"number"!=typeof e?function(e){return{top:0,right:0,bottom:0,left:0,...e}}(e):{top:e,right:e,bottom:e,left:e}}function Zt(e){const{x:t,y:l,width:i,height:a}=e;return{width:i,height:a,top:l,left:t,right:t+i,bottom:l+a,x:t,y:l}}function Ct(e,t,l){let{reference:i,floating:a}=e;const o=ct(t),n=dt(t),r=rt(n),s=at(t),c="y"===o,d=i.x+i.width/2-a.width/2,h=i.y+i.height/2-a.height/2,v=i[r]/2-a[r]/2;let u;switch(s){case"top":u={x:d,y:i.y-a.height};break;case"bottom":u={x:d,y:i.y+i.height};break;case"right":u={x:i.x+i.width,y:h};break;case"left":u={x:i.x-a.width,y:h};break;default:u={x:i.x,y:i.y}}switch(ot(t)){case"start":u[n]-=v*(l&&c?-1:1);break;case"end":u[n]+=v*(l&&c?-1:1)}return u}async function yt(e,t){var l;void 0===t&&(t={});const{x:i,y:a,platform:o,rects:n,elements:r,strategy:s}=e,{boundary:c="clippingAncestors",rootBoundary:d="viewport",elementContext:h="floating",altBoundary:v=!1,padding:u=0}=it(t,e),p=xt(u),g=r[v?"floating"===h?"reference":"floating":h],w=Zt(await o.getClippingRect({element:null==(l=await(null==o.isElement?void 0:o.isElement(g)))||l?g:g.contextElement||await(null==o.getDocumentElement?void 0:o.getDocumentElement(r.floating)),boundary:c,rootBoundary:d,strategy:s})),f="floating"===h?{x:i,y:a,width:n.floating.width,height:n.floating.height}:n.reference,m=await(null==o.getOffsetParent?void 0:o.getOffsetParent(r.floating)),x=await(null==o.isElement?void 0:o.isElement(m))&&await(null==o.getScale?void 0:o.getScale(m))||{x:1,y:1},Z=Zt(o.convertOffsetParentRelativeRectToViewportRelativeRect?await o.convertOffsetParentRelativeRectToViewportRelativeRect({elements:r,rect:f,offsetParent:m,strategy:s}):f);return{top:(w.top-Z.top+p.top)/x.y,bottom:(Z.bottom-w.bottom+p.bottom)/x.y,left:(w.left-Z.left+p.left)/x.x,right:(Z.right-w.right+p.right)/x.x}}const bt=new Set(["left","top"]);function Mt(){return"undefined"!=typeof window}function _t(e){return $t(e)?(e.nodeName||"").toLowerCase():"#document"}function Vt(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function Ht(e){var t;return null==(t=($t(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function $t(e){return!!Mt()&&(e instanceof Node||e instanceof Vt(e).Node)}function St(e){return!!Mt()&&(e instanceof Element||e instanceof Vt(e).Element)}function Bt(e){return!!Mt()&&(e instanceof HTMLElement||e instanceof Vt(e).HTMLElement)}function At(e){return!(!Mt()||"undefined"==typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof Vt(e).ShadowRoot)}const kt=new Set(["inline","contents"]);function Lt(e){const{overflow:t,overflowX:l,overflowY:i,display:a}=Wt(e);return/auto|scroll|overlay|hidden|clip/.test(t+i+l)&&!kt.has(a)}const Et=new Set(["table","td","th"]);function It(e){return Et.has(_t(e))}const Pt=[":popover-open",":modal"];function Tt(e){return Pt.some(t=>{try{return e.matches(t)}catch(e){return!1}})}const Rt=["transform","translate","scale","rotate","perspective"],Ot=["transform","translate","scale","rotate","perspective","filter"],zt=["paint","layout","strict","content"];function Dt(e){const t=Nt(),l=St(e)?Wt(e):e;return Rt.some(e=>!!l[e]&&"none"!==l[e])||!!l.containerType&&"normal"!==l.containerType||!t&&!!l.backdropFilter&&"none"!==l.backdropFilter||!t&&!!l.filter&&"none"!==l.filter||Ot.some(e=>(l.willChange||"").includes(e))||zt.some(e=>(l.contain||"").includes(e))}function Nt(){return!("undefined"==typeof CSS||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}const Ut=new Set(["html","body","#document"]);function Ft(e){return Ut.has(_t(e))}function Wt(e){return Vt(e).getComputedStyle(e)}function qt(e){return St(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function jt(e){if("html"===_t(e))return e;const t=e.assignedSlot||e.parentNode||At(e)&&e.host||Ht(e);return At(t)?t.host:t}function Kt(e){const t=jt(e);return Ft(t)?e.ownerDocument?e.ownerDocument.body:e.body:Bt(t)&&Lt(t)?t:Kt(t)}function Jt(e,t,l){var i;void 0===t&&(t=[]),void 0===l&&(l=!0);const a=Kt(e),o=a===(null==(i=e.ownerDocument)?void 0:i.body),n=Vt(a);if(o){const e=Gt(n);return t.concat(n,n.visualViewport||[],Lt(a)?a:[],e&&l?Jt(e):[])}return t.concat(a,Jt(a,[],l))}function Gt(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Yt(e){const t=Wt(e);let l=parseFloat(t.width)||0,i=parseFloat(t.height)||0;const a=Bt(e),o=a?e.offsetWidth:l,n=a?e.offsetHeight:i,r=Ye(l)!==o||Ye(i)!==n;return r&&(l=o,i=n),{width:l,height:i,$:r}}function Xt(e){return St(e)?e:e.contextElement}function Qt(e){const t=Xt(e);if(!Bt(t))return Qe(1);const l=t.getBoundingClientRect(),{width:i,height:a,$:o}=Yt(t);let n=(o?Ye(l.width):l.width)/i,r=(o?Ye(l.height):l.height)/a;return n&&Number.isFinite(n)||(n=1),r&&Number.isFinite(r)||(r=1),{x:n,y:r}}const el=Qe(0);function tl(e){const t=Vt(e);return Nt()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:el}function ll(e,t,l,i){void 0===t&&(t=!1),void 0===l&&(l=!1);const a=e.getBoundingClientRect(),o=Xt(e);let n=Qe(1);t&&(i?St(i)&&(n=Qt(i)):n=Qt(e));const r=function(e,t,l){return void 0===t&&(t=!1),!(!l||t&&l!==Vt(e))&&t}(o,l,i)?tl(o):Qe(0);let s=(a.left+r.x)/n.x,c=(a.top+r.y)/n.y,d=a.width/n.x,h=a.height/n.y;if(o){const e=Vt(o),t=i&&St(i)?Vt(i):i;let l=e,a=Gt(l);for(;a&&i&&t!==l;){const e=Qt(a),t=a.getBoundingClientRect(),i=Wt(a),o=t.left+(a.clientLeft+parseFloat(i.paddingLeft))*e.x,n=t.top+(a.clientTop+parseFloat(i.paddingTop))*e.y;s*=e.x,c*=e.y,d*=e.x,h*=e.y,s+=o,c+=n,l=Vt(a),a=Gt(l)}}return Zt({width:d,height:h,x:s,y:c})}function il(e,t){const l=qt(e).scrollLeft;return t?t.left+l:ll(Ht(e)).left+l}function al(e,t){const l=e.getBoundingClientRect();return{x:l.left+t.scrollLeft-il(e,l),y:l.top+t.scrollTop}}const ol=new Set(["absolute","fixed"]);function nl(e,t,l){let i;if("viewport"===t)i=function(e,t){const l=Vt(e),i=Ht(e),a=l.visualViewport;let o=i.clientWidth,n=i.clientHeight,r=0,s=0;if(a){o=a.width,n=a.height;const e=Nt();(!e||e&&"fixed"===t)&&(r=a.offsetLeft,s=a.offsetTop)}const c=il(i);if(c<=0){const e=i.ownerDocument,t=e.body,l=getComputedStyle(t),a="CSS1Compat"===e.compatMode&&parseFloat(l.marginLeft)+parseFloat(l.marginRight)||0,n=Math.abs(i.clientWidth-t.clientWidth-a);n<=25&&(o-=n)}else c<=25&&(o+=c);return{width:o,height:n,x:r,y:s}}(e,l);else if("document"===t)i=function(e){const t=Ht(e),l=qt(e),i=e.ownerDocument.body,a=Ge(t.scrollWidth,t.clientWidth,i.scrollWidth,i.clientWidth),o=Ge(t.scrollHeight,t.clientHeight,i.scrollHeight,i.clientHeight);let n=-l.scrollLeft+il(e);const r=-l.scrollTop;return"rtl"===Wt(i).direction&&(n+=Ge(t.clientWidth,i.clientWidth)-a),{width:a,height:o,x:n,y:r}}(Ht(e));else if(St(t))i=function(e,t){const l=ll(e,!0,"fixed"===t),i=l.top+e.clientTop,a=l.left+e.clientLeft,o=Bt(e)?Qt(e):Qe(1);return{width:e.clientWidth*o.x,height:e.clientHeight*o.y,x:a*o.x,y:i*o.y}}(t,l);else{const l=tl(e);i={x:t.x-l.x,y:t.y-l.y,width:t.width,height:t.height}}return Zt(i)}function rl(e,t){const l=jt(e);return!(l===t||!St(l)||Ft(l))&&("fixed"===Wt(l).position||rl(l,t))}function sl(e,t,l){const i=Bt(t),a=Ht(t),o="fixed"===l,n=ll(e,!0,o,t);let r={scrollLeft:0,scrollTop:0};const s=Qe(0);function c(){s.x=il(a)}if(i||!i&&!o)if(("body"!==_t(t)||Lt(a))&&(r=qt(t)),i){const e=ll(t,!0,o,t);s.x=e.x+t.clientLeft,s.y=e.y+t.clientTop}else a&&c();o&&!i&&a&&c();const d=!a||i||o?Qe(0):al(a,r);return{x:n.left+r.scrollLeft-s.x-d.x,y:n.top+r.scrollTop-s.y-d.y,width:n.width,height:n.height}}function cl(e){return"static"===Wt(e).position}function dl(e,t){if(!Bt(e)||"fixed"===Wt(e).position)return null;if(t)return t(e);let l=e.offsetParent;return Ht(e)===l&&(l=l.ownerDocument.body),l}function hl(e,t){const l=Vt(e);if(Tt(e))return l;if(!Bt(e)){let t=jt(e);for(;t&&!Ft(t);){if(St(t)&&!cl(t))return t;t=jt(t)}return l}let i=dl(e,t);for(;i&&It(i)&&cl(i);)i=dl(i,t);return i&&Ft(i)&&cl(i)&&!Dt(i)?l:i||function(e){let t=jt(e);for(;Bt(t)&&!Ft(t);){if(Dt(t))return t;if(Tt(t))return null;t=jt(t)}return null}(e)||l}const vl={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:l,offsetParent:i,strategy:a}=e;const o="fixed"===a,n=Ht(i),r=!!t&&Tt(t.floating);if(i===n||r&&o)return l;let s={scrollLeft:0,scrollTop:0},c=Qe(1);const d=Qe(0),h=Bt(i);if((h||!h&&!o)&&(("body"!==_t(i)||Lt(n))&&(s=qt(i)),Bt(i))){const e=ll(i);c=Qt(i),d.x=e.x+i.clientLeft,d.y=e.y+i.clientTop}const v=!n||h||o?Qe(0):al(n,s);return{width:l.width*c.x,height:l.height*c.y,x:l.x*c.x-s.scrollLeft*c.x+d.x+v.x,y:l.y*c.y-s.scrollTop*c.y+d.y+v.y}},getDocumentElement:Ht,getClippingRect:function(e){let{element:t,boundary:l,rootBoundary:i,strategy:a}=e;const o=[..."clippingAncestors"===l?Tt(t)?[]:function(e,t){const l=t.get(e);if(l)return l;let i=Jt(e,[],!1).filter(e=>St(e)&&"body"!==_t(e)),a=null;const o="fixed"===Wt(e).position;let n=o?jt(e):e;for(;St(n)&&!Ft(n);){const t=Wt(n),l=Dt(n);l||"fixed"!==t.position||(a=null),(o?!l&&!a:!l&&"static"===t.position&&a&&ol.has(a.position)||Lt(n)&&!l&&rl(e,n))?i=i.filter(e=>e!==n):a=t,n=jt(n)}return t.set(e,i),i}(t,this._c):[].concat(l),i],n=o[0],r=o.reduce((e,l)=>{const i=nl(t,l,a);return e.top=Ge(i.top,e.top),e.right=Je(i.right,e.right),e.bottom=Je(i.bottom,e.bottom),e.left=Ge(i.left,e.left),e},nl(t,n,a));return{width:r.right-r.left,height:r.bottom-r.top,x:r.left,y:r.top}},getOffsetParent:hl,getElementRects:async function(e){const t=this.getOffsetParent||hl,l=this.getDimensions,i=await l(e.floating);return{reference:sl(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:i.width,height:i.height}}},getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){const{width:t,height:l}=Yt(e);return{width:t,height:l}},getScale:Qt,isElement:St,isRTL:function(e){return"rtl"===Wt(e).direction}};function ul(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function pl(e,t,l,i){void 0===i&&(i={});const{ancestorScroll:a=!0,ancestorResize:o=!0,elementResize:n="function"==typeof ResizeObserver,layoutShift:r="function"==typeof IntersectionObserver,animationFrame:s=!1}=i,c=Xt(e),d=a||o?[...c?Jt(c):[],...Jt(t)]:[];d.forEach(e=>{a&&e.addEventListener("scroll",l,{passive:!0}),o&&e.addEventListener("resize",l)});const h=c&&r?function(e,t){let l,i=null;const a=Ht(e);function o(){var e;clearTimeout(l),null==(e=i)||e.disconnect(),i=null}return function n(r,s){void 0===r&&(r=!1),void 0===s&&(s=1),o();const c=e.getBoundingClientRect(),{left:d,top:h,width:v,height:u}=c;if(r||t(),!v||!u)return;const p={rootMargin:-Xe(h)+"px "+-Xe(a.clientWidth-(d+v))+"px "+-Xe(a.clientHeight-(h+u))+"px "+-Xe(d)+"px",threshold:Ge(0,Je(1,s))||1};let g=!0;function w(t){const i=t[0].intersectionRatio;if(i!==s){if(!g)return n();i?n(!1,i):l=setTimeout(()=>{n(!1,1e-7)},1e3)}1!==i||ul(c,e.getBoundingClientRect())||n(),g=!1}try{i=new IntersectionObserver(w,{...p,root:a.ownerDocument})}catch(e){i=new IntersectionObserver(w,p)}i.observe(e)}(!0),o}(c,l):null;let v,u=-1,p=null;n&&(p=new ResizeObserver(e=>{let[i]=e;i&&i.target===c&&p&&(p.unobserve(t),cancelAnimationFrame(u),u=requestAnimationFrame(()=>{var e;null==(e=p)||e.observe(t)})),l()}),c&&!s&&p.observe(c),p.observe(t));let g=s?ll(e):null;return s&&function t(){const i=ll(e);g&&!ul(g,i)&&l();g=i,v=requestAnimationFrame(t)}(),l(),()=>{var e;d.forEach(e=>{a&&e.removeEventListener("scroll",l),o&&e.removeEventListener("resize",l)}),null==h||h(),null==(e=p)||e.disconnect(),p=null,s&&cancelAnimationFrame(v)}}const gl=function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){var l,i;const{x:a,y:o,placement:n,middlewareData:r}=t,s=await async function(e,t){const{placement:l,platform:i,elements:a}=e,o=await(null==i.isRTL?void 0:i.isRTL(a.floating)),n=at(l),r=ot(l),s="y"===ct(l),c=bt.has(n)?-1:1,d=o&&s?-1:1,h=it(t,e);let{mainAxis:v,crossAxis:u,alignmentAxis:p}="number"==typeof h?{mainAxis:h,crossAxis:0,alignmentAxis:null}:{mainAxis:h.mainAxis||0,crossAxis:h.crossAxis||0,alignmentAxis:h.alignmentAxis};return r&&"number"==typeof p&&(u="end"===r?-1*p:p),s?{x:u*d,y:v*c}:{x:v*c,y:u*d}}(t,e);return n===(null==(l=r.offset)?void 0:l.placement)&&null!=(i=r.arrow)&&i.alignmentOffset?{}:{x:a+s.x,y:o+s.y,data:{...s,placement:n}}}}},wl=function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){const{x:l,y:i,placement:a}=t,{mainAxis:o=!0,crossAxis:n=!1,limiter:r={fn:e=>{let{x:t,y:l}=e;return{x:t,y:l}}},...s}=it(e,t),c={x:l,y:i},d=await yt(t,s),h=ct(at(a)),v=nt(h);let u=c[v],p=c[h];if(o){const e="y"===v?"bottom":"right";u=lt(u+d["y"===v?"top":"left"],u,u-d[e])}if(n){const e="y"===h?"bottom":"right";p=lt(p+d["y"===h?"top":"left"],p,p-d[e])}const g=r.fn({...t,[v]:u,[h]:p});return{...g,data:{x:g.x-l,y:g.y-i,enabled:{[v]:o,[h]:n}}}}}},fl=function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var l,i;const{placement:a,middlewareData:o,rects:n,initialPlacement:r,platform:s,elements:c}=t,{mainAxis:d=!0,crossAxis:h=!0,fallbackPlacements:v,fallbackStrategy:u="bestFit",fallbackAxisSideDirection:p="none",flipAlignment:g=!0,...w}=it(e,t);if(null!=(l=o.arrow)&&l.alignmentOffset)return{};const f=at(a),m=ct(r),x=at(r)===r,Z=await(null==s.isRTL?void 0:s.isRTL(c.floating)),C=v||(x||!g?[mt(r)]:function(e){const t=mt(e);return[vt(e),t,vt(t)]}(r)),y="none"!==p;!v&&y&&C.push(...ft(r,g,p,Z));const b=[r,...C],M=await yt(t,w),_=[];let V=(null==(i=o.flip)?void 0:i.overflows)||[];if(d&&_.push(M[f]),h){const e=ht(a,n,Z);_.push(M[e[0]],M[e[1]])}if(V=[...V,{placement:a,overflows:_}],!_.every(e=>e<=0)){var H,$;const e=((null==(H=o.flip)?void 0:H.index)||0)+1,t=b[e];if(t){if(!("alignment"===h&&m!==ct(t))||V.every(e=>ct(e.placement)!==m||e.overflows[0]>0))return{data:{index:e,overflows:V},reset:{placement:t}}}let l=null==($=V.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:$.placement;if(!l)switch(u){case"bestFit":{var S;const e=null==(S=V.filter(e=>{if(y){const t=ct(e.placement);return t===m||"y"===t}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])?void 0:S[0];e&&(l=e);break}case"initialPlacement":l=r}if(a!==l)return{reset:{placement:l}}}return{}}}},ml=function(e){return void 0===e&&(e={}),{name:"size",options:e,async fn(t){var l,i;const{placement:a,rects:o,platform:n,elements:r}=t,{apply:s=()=>{},...c}=it(e,t),d=await yt(t,c),h=at(a),v=ot(a),u="y"===ct(a),{width:p,height:g}=o.floating;let w,f;"top"===h||"bottom"===h?(w=h,f=v===(await(null==n.isRTL?void 0:n.isRTL(r.floating))?"start":"end")?"left":"right"):(f=h,w="end"===v?"top":"bottom");const m=g-d.top-d.bottom,x=p-d.left-d.right,Z=Je(g-d[w],m),C=Je(p-d[f],x),y=!t.middlewareData.shift;let b=Z,M=C;if(null!=(l=t.middlewareData.shift)&&l.enabled.x&&(M=x),null!=(i=t.middlewareData.shift)&&i.enabled.y&&(b=m),y&&!v){const e=Ge(d.left,0),t=Ge(d.right,0),l=Ge(d.top,0),i=Ge(d.bottom,0);u?M=p-2*(0!==e||0!==t?e+t:Ge(d.left,d.right)):b=g-2*(0!==l||0!==i?l+i:Ge(d.top,d.bottom))}await s({...t,availableWidth:M,availableHeight:b});const _=await n.getDimensions(r.floating);return p!==_.width||g!==_.height?{reset:{rects:!0}}:{}}}},xl=(e,t,l)=>{const i=new Map,a={platform:vl,...l},o={...a.platform,_c:i};return(async(e,t,l)=>{const{placement:i="bottom",strategy:a="absolute",middleware:o=[],platform:n}=l,r=o.filter(Boolean),s=await(null==n.isRTL?void 0:n.isRTL(t));let c=await n.getElementRects({reference:e,floating:t,strategy:a}),{x:d,y:h}=Ct(c,i,s),v=i,u={},p=0;for(let l=0;l<r.length;l++){const{name:o,fn:g}=r[l],{x:w,y:f,data:m,reset:x}=await g({x:d,y:h,initialPlacement:i,placement:v,strategy:a,middlewareData:u,rects:c,platform:n,elements:{reference:e,floating:t}});d=null!=w?w:d,h=null!=f?f:h,u={...u,[o]:{...u[o],...m}},x&&p<=50&&(p++,"object"==typeof x&&(x.placement&&(v=x.placement),x.rects&&(c=!0===x.rects?await n.getElementRects({reference:e,floating:t,strategy:a}):x.rects),({x:d,y:h}=Ct(c,v,s))),l=-1)}return{x:d,y:h,placement:v,strategy:a,middlewareData:u}})(e,t,{...a,platform:o})};var Zl=r`: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-border-radius-md);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%}`,Cl=r`.invalid-feedback-container{display:flex;gap:var(--sgds-form-gap-sm)}.invalid-feedback,.invalid-feedback-container{color:var(--sgds-form-danger-color-default);line-height:var(--sgds-line-height-20)}.invalid-feedback{font-size:var(--sgds-font-size-14);font-weight:var(--sgds-font-weight-regular)}.valid-icon{color:var(--sgds-form-success-color-default)}`,yl=r`.form-text{color:var(--sgds-form-color-subtle);font-size:var(--sgds-font-size-14);line-height:var(--sgds-line-height-20)}.form-text.disabled{opacity:var(--sgds-opacity-50)}`,bl=r`.form-control-container{display:flex;flex-direction:column;gap:var(--sgds-form-gap-md)}.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-md));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-size:var(--sgds-font-size-16);line-height:var(--sgds-line-height-24);min-width:0;outline:none;padding:0}.form-clearable{color:var(--sgds-color-subtle);cursor:pointer}@media (prefers-reduced-motion:reduce){.form-control-group{transition:none}}.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-form-outline-offset-focus)}.form-control-group:not(.disabled):not(.is-invalid):focus-within{outline:var(--sgds-form-outline-focus);outline-offset:var(--sgds-form-outline-offset-focus)}.form-control-container.disabled{opacity:var(--sgds-opacity-50)}.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-form-outline-offset-focus)}`;function Ml(e="",t=""){return`id-${Math.random().toString().substring(2,6)}-sgds-${e}-${t}`}class _l{constructor(e,t){(this.host=e).addController(this),this._internals=e._internals||this.host.attachInternals(),this.options=Object.assign({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){const t=e.target;this.options.setInvalid(this.host,!1),this.validateInput(t)}handleChange(e){const 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,l){return this._internals.setValidity(e,t,l)}setFormValue(){const e=this.options.value(this.host);this._internals.setFormValue(e)}validateInput(e){if(this.options.input(this.host).disabled)return this._internals.setValidity({});const t=e.validity;if(t.valid)this._internals.setValidity({});else for(const l in t)t[l]&&(this.validationError=l.toString(),this._internals.setValidity({[this.validationError]:!0},e.validationMessage,e))}}const Vl=e=>{class l extends e{constructor(...e){super(...e),this._isTouched=!1,this._internals=this.attachInternals()}connectedCallback(){var e;super.connectedCallback(),this._mixinShouldSkipSgdsValidation()||null!==(e=this.inputValidationController)&&void 0!==e||(this.inputValidationController=new _l(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._mixinShouldSkipSgdsValidation()||(this.inputValidationController.resetValidity(),this.inputValidationController.updateInvalidState(),this.inputValidationController.validateInput(e),this._isTouched&&(this._isTouched=!1))}_mixinValidate(e){this._mixinShouldSkipSgdsValidation()||this.inputValidationController.validateInput(e)}_mixinSetFormValue(){const e=this.value;this._internals.setFormValue(e)}_mixinCheckValidity(){return!!this._mixinShouldSkipSgdsValidation()||this.inputValidationController.checkValidity()}_mixinReportValidity(){return!!this._mixinShouldSkipSgdsValidation()||this.inputValidationController.reportValidity()}_mixinGetValidity(){return this._internals.validity}_mixinGetValidationMessage(){return this._internals.validationMessage}_mixinSetValidity(e,t,l){if(!this._mixinShouldSkipSgdsValidation())return this.inputValidationController.setValidity(e,t,l)}_mixinShouldSkipSgdsValidation(){const e=this.closest("form");return(null==e?void 0:e.noValidate)||this.noValidate}}return l.formAssociated=!0,t([Ae("sgds-input")],l.prototype,"sgdsInput",void 0),t([Ae("sgds-datepicker-input")],l.prototype,"sgdsDatepickerInput",void 0),l};var Hl=r`:host{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);color:var(--sgds-body-color-default);display:block;font-family:var(--sgds-font-family-brand);font-size:var(--sgds-font-size-16);font-weight:var(--sgds-font-weight-regular);line-height:var(--sgds-line-height-24);margin:0;*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:disabled{cursor:not-allowed}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}::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' viewBox='0 0 24 24' fill='none'%3E%3Cpath fill-rule='evenodd' clip-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.4ZM12.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-.6Z' fill='%230E0E0E'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath fill-rule='evenodd' clip-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.4ZM12.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-.6Z' fill='%230E0E0E'/%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}}`;class $l extends Ce{emit(e,t){const l=new CustomEvent(e,Object.assign({bubbles:!0,cancelable:!1,composed:!0,detail:{}},t));return this.dispatchEvent(l),l}static define(e,t=this,l={}){if(customElements.get(e));else try{customElements.define(e,t,l)}catch(i){customElements.define(e,class extends t{},l)}}constructor(){super(),this.ssr=Boolean(this.shadowRoot),Object.entries(this.constructor.dependencies).forEach(([e,t])=>{this.constructor.define(e,t)})}firstUpdated(e){var t;super.firstUpdated(e),this.ssr&&(null===(t=this.shadowRoot)||void 0===t||t.querySelectorAll("slot").forEach(e=>{e.dispatchEvent(new Event("slotchange",{bubbles:!0,composed:!1,cancelable:!1}))}))}}$l.styles=[Hl],$l.dependencies={},t([He({type:Boolean,reflect:!0})],$l.prototype,"ssr",void 0);class Sl extends $l{constructor(){super(...arguments),this.myDropdown=We(),this.dropdownMenuId=Ml("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=We(),this._handleClickOutOfElement=e=>{this.menuIsOpen&&(e.composedPath().includes(this)||this.hideMenu(!0))}}connectedCallback(){super.connectedCallback(),"inside"!==this.close&&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(),this._cleanupAutoUpdate=void 0)}firstUpdated(e){super.firstUpdated(e),this.menuIsOpen&&requestAnimationFrame(async()=>{await this.updateFloatingPosition(),this._startAutoUpdate()})}async showMenu(){this.disabled||this.menuIsOpen||(this.menuIsOpen=!0,this.emit("sgds-show"),await this.updateFloatingPosition(),this.emit("sgds-after-show"),this._startAutoUpdate())}_startAutoUpdate(){this.myDropdown.value&&this.menuRef.value&&(this._cleanupAutoUpdate=pl(this.myDropdown.value,this.menuRef.value,()=>this.updateFloatingPosition()))}hideMenu(e){this.menuIsOpen&&(this.emit("sgds-hide",{detail:{isOutside:e}}),this.menuIsOpen=!1,setTimeout(()=>this.emit("sgds-after-hide"),0),this._cleanupAutoUpdate&&(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){const l=e=>{var t;return(null==e?void 0:e.name)||(null===(t=null==e?void 0:e.constructor)||void 0===t?void 0:t.name)},i=t.map(l),a=e.map(e=>{const a=l(e),o=i.indexOf(a);return-1!==o?t[o]:e}).concat(t.filter(t=>!e.some(e=>l(e)===l(t))));return a}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"}const t=[gl(8),this.noFlip?void 0:fl(),wl()].filter(Boolean);let l=t;Array.isArray(this.floatingOpts.middleware)&&this.floatingOpts.middleware.length>0&&(l=this.mergeMiddleware(t,this.floatingOpts.middleware.filter(Boolean)));const i=Object.assign(Object.assign({strategy:"fixed",placement:e},this.floatingOpts),{middleware:l}),{x:a,y:o,strategy:n,placement:r}=await xl(this.myDropdown.value,this.menuRef.value,i);this.menuRef.value.setAttribute("data-placement",r),Object.assign(this.menuRef.value.style,{position:n,left:`${a}px`,top:`${o}px`})}}t([He({type:Boolean,state:!0})],Sl.prototype,"noFlip",void 0),t([He({type:Boolean,reflect:!0,state:!0})],Sl.prototype,"menuAlignRight",void 0),t([He({type:String,reflect:!0,state:!0})],Sl.prototype,"drop",void 0),t([He({type:Object})],Sl.prototype,"floatingOpts",void 0),t([He({type:Boolean,reflect:!0})],Sl.prototype,"menuIsOpen",void 0),t([He({type:Boolean,reflect:!0})],Sl.prototype,"disabled",void 0),t([He({type:Boolean,reflect:!0})],Sl.prototype,"readonly",void 0);class Bl extends Sl{constructor(){super(...arguments),this.nextDropdownItemNo=0,this.prevDropdownItemNo=-1,this.hidden=!1}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){const t=this._getActiveMenuItems(),l=t.indexOf(e.target);this.nextDropdownItemNo=l+1,this.prevDropdownItemNo=l<=0?t.length-1:l-1;const i=e.target;i.disabled||(this.emit("sgds-select",{detail:{item:i}}),"outside"!==this.close&&this.hideMenu())}_resetMenu(){this.nextDropdownItemNo=0,this.prevDropdownItemNo=-1;this._getMenuItems().forEach(e=>{var t;const l=null===(t=null==e?void 0:e.shadowRoot)||void 0===t?void 0:t.querySelector(".dropdown-item");l&&l.removeAttribute("tabindex")})}_handleKeyboardMenuItemsEvent(e){if(this.readonly)return;const t=this._getActiveMenuItems();if(0!==t.length)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"Enter":t.includes(e.target)&&this.handleSelectSlot(e)}}_getMenuItems(){var e,t;if(this.shadowRoot.querySelector("slot#default")){return null===(e=this.shadowRoot.querySelector("slot#default"))||void 0===e?void 0:e.assignedElements({flatten:!0}).filter(e=>!e.classList.contains("empty-menu")&&!e.hasAttribute("hidden"))}if(null===(t=this.menu)||void 0===t?void 0:t.hasChildNodes()){return[...Array.from(this.menu.children)]}return[]}_getActiveMenuItems(){return this._getMenuItems().filter(e=>!e.disabled&&!e.hidden)}_setMenuItem(e){const t=this._getActiveMenuItems();if(0===t.length)return;const l=(e%t.length+t.length)%t.length,i=t[l];this.emit("i-sgds-option-focus",{detail:{option:i}}),this.nextDropdownItemNo=(l+1)%t.length,this.prevDropdownItemNo=(l-1+t.length)%t.length,t.forEach(e=>{const t=e.shadowRoot.querySelector(".dropdown-item");t.setAttribute("tabindex",e===i?"0":"-1"),e===i&&t.focus()})}}var Al,kl;Bl.styles=Sl.styles,t([(Al="ul.dropdown-menu",(e,t,l)=>{const i=e=>{const l=e.renderRoot?.querySelector(Al)??null;if(null===l&&kl&&!e.hasUpdated){const e="object"==typeof t?t.name:t;Be("",`@query'd field ${JSON.stringify(String(e))} with the 'cache' flag set for selector '${Al}' has been accessed before the first update and returned null. This is expected if the renderRoot tree has not been provided beforehand (e.g. via Declarative Shadow DOM). Therefore the value hasn't been cached.`)}return l};if(kl){const{get:a,set:o}="object"==typeof t?e:l??(()=>{const e=Symbol(`${String(t)} (@query() cache)`);return{get(){return this[e]},set(t){this[e]=t}}})();return Se(e,t,{get(){let e=a.call(this);return void 0===e&&(e=i(this),(null!==e||this.hasUpdated)&&o.call(this,e)),e}})}return Se(e,t,{get(){return i(this)}})})],Bl.prototype,"menu",void 0),t([$e()],Bl.prototype,"nextDropdownItemNo",void 0),t([$e()],Bl.prototype,"prevDropdownItemNo",void 0),t([He({type:Boolean,reflect:!0})],Bl.prototype,"hidden",void 0);var Ll=r`.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)}`;class El extends(Vl(Bl)){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.menuList=[],this.selectedItems=[],this.filteredList=[],this._isTouched=!1,this._controlId=Ml("input"),this._labelId=Ml("label"),this.floatingOpts={middleware:[ml({apply({rects:e,elements:t}){t.floating.style.width=`${e.reference.width}px`}})]}}connectedCallback(){super.connectedCallback(),this.addEventListener("blur",async e=>{var t;const l=this.constructor.childName,i=(null===(t=e.relatedTarget)||void 0===t?void 0:t.tagName.toLowerCase())===l;this.invalid=!i&&!this._mixinReportValidity()})}reportValidity(){return this._mixinReportValidity()}checkValidity(){return this._mixinCheckValidity()}get validity(){return this._mixinGetValidity()}get validationMessage(){return this._mixinGetValidationMessage()}_renderFeedback(){return this.invalid&&this.hasFeedback?ee` <div class="invalid-feedback-container">
83
+ */const We=()=>new qe;class qe{}const je=new WeakMap;const Ke=Ee(class extends Fe{render(e){return ie}update(e,[t]){const l=t!==this._ref;return l&&void 0!==this._ref&&this._updateRefValue(void 0),(l||this._lastElementForRef!==this._element)&&(this._ref=t,this._context=e.options?.host,this._updateRefValue(this._element=e.element)),ie}_updateRefValue(e){if(this.isConnected||(e=void 0),"function"==typeof this._ref){const t=this._context??globalThis;let l=je.get(t);void 0===l&&(l=new WeakMap,je.set(t,l)),void 0!==l.get(this._ref)&&this._ref.call(this._context,void 0),l.set(this._ref,e),void 0!==e&&this._ref.call(this._context,e)}else this._ref.value=e}get _lastElementForRef(){return"function"==typeof this._ref?je.get(this._context??globalThis)?.get(this._ref):this._ref?.value}disconnected(){this._lastElementForRef===this._element&&this._updateRefValue(void 0)}reconnected(){this._updateRefValue(this._element)}}),Je=Math.min,Ge=Math.max,Ye=Math.round,Xe=Math.floor,Qe=e=>({x:e,y:e}),et={left:"right",right:"left",bottom:"top",top:"bottom"},tt={start:"end",end:"start"};function lt(e,t,l){return Ge(e,Je(t,l))}function it(e,t){return"function"==typeof e?e(t):e}function at(e){return e.split("-")[0]}function ot(e){return e.split("-")[1]}function nt(e){return"x"===e?"y":"x"}function rt(e){return"y"===e?"height":"width"}const st=new Set(["top","bottom"]);function ct(e){return st.has(at(e))?"y":"x"}function dt(e){return nt(ct(e))}function ht(e,t,l){void 0===l&&(l=!1);const i=ot(e),a=dt(e),o=rt(a);let n="x"===a?i===(l?"end":"start")?"right":"left":"start"===i?"bottom":"top";return t.reference[o]>t.floating[o]&&(n=mt(n)),[n,mt(n)]}function vt(e){return e.replace(/start|end/g,e=>tt[e])}const ut=["left","right"],pt=["right","left"],gt=["top","bottom"],wt=["bottom","top"];function ft(e,t,l,i){const a=ot(e);let o=function(e,t,l){switch(e){case"top":case"bottom":return l?t?pt:ut:t?ut:pt;case"left":case"right":return t?gt:wt;default:return[]}}(at(e),"start"===l,i);return a&&(o=o.map(e=>e+"-"+a),t&&(o=o.concat(o.map(vt)))),o}function mt(e){return e.replace(/left|right|bottom|top/g,e=>et[e])}function xt(e){return"number"!=typeof e?function(e){return{top:0,right:0,bottom:0,left:0,...e}}(e):{top:e,right:e,bottom:e,left:e}}function Zt(e){const{x:t,y:l,width:i,height:a}=e;return{width:i,height:a,top:l,left:t,right:t+i,bottom:l+a,x:t,y:l}}function Ct(e,t,l){let{reference:i,floating:a}=e;const o=ct(t),n=dt(t),r=rt(n),s=at(t),c="y"===o,d=i.x+i.width/2-a.width/2,h=i.y+i.height/2-a.height/2,v=i[r]/2-a[r]/2;let u;switch(s){case"top":u={x:d,y:i.y-a.height};break;case"bottom":u={x:d,y:i.y+i.height};break;case"right":u={x:i.x+i.width,y:h};break;case"left":u={x:i.x-a.width,y:h};break;default:u={x:i.x,y:i.y}}switch(ot(t)){case"start":u[n]-=v*(l&&c?-1:1);break;case"end":u[n]+=v*(l&&c?-1:1)}return u}async function yt(e,t){var l;void 0===t&&(t={});const{x:i,y:a,platform:o,rects:n,elements:r,strategy:s}=e,{boundary:c="clippingAncestors",rootBoundary:d="viewport",elementContext:h="floating",altBoundary:v=!1,padding:u=0}=it(t,e),p=xt(u),g=r[v?"floating"===h?"reference":"floating":h],w=Zt(await o.getClippingRect({element:null==(l=await(null==o.isElement?void 0:o.isElement(g)))||l?g:g.contextElement||await(null==o.getDocumentElement?void 0:o.getDocumentElement(r.floating)),boundary:c,rootBoundary:d,strategy:s})),f="floating"===h?{x:i,y:a,width:n.floating.width,height:n.floating.height}:n.reference,m=await(null==o.getOffsetParent?void 0:o.getOffsetParent(r.floating)),x=await(null==o.isElement?void 0:o.isElement(m))&&await(null==o.getScale?void 0:o.getScale(m))||{x:1,y:1},Z=Zt(o.convertOffsetParentRelativeRectToViewportRelativeRect?await o.convertOffsetParentRelativeRectToViewportRelativeRect({elements:r,rect:f,offsetParent:m,strategy:s}):f);return{top:(w.top-Z.top+p.top)/x.y,bottom:(Z.bottom-w.bottom+p.bottom)/x.y,left:(w.left-Z.left+p.left)/x.x,right:(Z.right-w.right+p.right)/x.x}}const bt=new Set(["left","top"]);function Mt(){return"undefined"!=typeof window}function _t(e){return $t(e)?(e.nodeName||"").toLowerCase():"#document"}function Vt(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function Ht(e){var t;return null==(t=($t(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function $t(e){return!!Mt()&&(e instanceof Node||e instanceof Vt(e).Node)}function St(e){return!!Mt()&&(e instanceof Element||e instanceof Vt(e).Element)}function Bt(e){return!!Mt()&&(e instanceof HTMLElement||e instanceof Vt(e).HTMLElement)}function At(e){return!(!Mt()||"undefined"==typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof Vt(e).ShadowRoot)}const kt=new Set(["inline","contents"]);function Lt(e){const{overflow:t,overflowX:l,overflowY:i,display:a}=Wt(e);return/auto|scroll|overlay|hidden|clip/.test(t+i+l)&&!kt.has(a)}const Et=new Set(["table","td","th"]);function It(e){return Et.has(_t(e))}const Pt=[":popover-open",":modal"];function Tt(e){return Pt.some(t=>{try{return e.matches(t)}catch(e){return!1}})}const Rt=["transform","translate","scale","rotate","perspective"],Ot=["transform","translate","scale","rotate","perspective","filter"],zt=["paint","layout","strict","content"];function Dt(e){const t=Nt(),l=St(e)?Wt(e):e;return Rt.some(e=>!!l[e]&&"none"!==l[e])||!!l.containerType&&"normal"!==l.containerType||!t&&!!l.backdropFilter&&"none"!==l.backdropFilter||!t&&!!l.filter&&"none"!==l.filter||Ot.some(e=>(l.willChange||"").includes(e))||zt.some(e=>(l.contain||"").includes(e))}function Nt(){return!("undefined"==typeof CSS||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}const Ut=new Set(["html","body","#document"]);function Ft(e){return Ut.has(_t(e))}function Wt(e){return Vt(e).getComputedStyle(e)}function qt(e){return St(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function jt(e){if("html"===_t(e))return e;const t=e.assignedSlot||e.parentNode||At(e)&&e.host||Ht(e);return At(t)?t.host:t}function Kt(e){const t=jt(e);return Ft(t)?e.ownerDocument?e.ownerDocument.body:e.body:Bt(t)&&Lt(t)?t:Kt(t)}function Jt(e,t,l){var i;void 0===t&&(t=[]),void 0===l&&(l=!0);const a=Kt(e),o=a===(null==(i=e.ownerDocument)?void 0:i.body),n=Vt(a);if(o){const e=Gt(n);return t.concat(n,n.visualViewport||[],Lt(a)?a:[],e&&l?Jt(e):[])}return t.concat(a,Jt(a,[],l))}function Gt(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Yt(e){const t=Wt(e);let l=parseFloat(t.width)||0,i=parseFloat(t.height)||0;const a=Bt(e),o=a?e.offsetWidth:l,n=a?e.offsetHeight:i,r=Ye(l)!==o||Ye(i)!==n;return r&&(l=o,i=n),{width:l,height:i,$:r}}function Xt(e){return St(e)?e:e.contextElement}function Qt(e){const t=Xt(e);if(!Bt(t))return Qe(1);const l=t.getBoundingClientRect(),{width:i,height:a,$:o}=Yt(t);let n=(o?Ye(l.width):l.width)/i,r=(o?Ye(l.height):l.height)/a;return n&&Number.isFinite(n)||(n=1),r&&Number.isFinite(r)||(r=1),{x:n,y:r}}const el=Qe(0);function tl(e){const t=Vt(e);return Nt()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:el}function ll(e,t,l,i){void 0===t&&(t=!1),void 0===l&&(l=!1);const a=e.getBoundingClientRect(),o=Xt(e);let n=Qe(1);t&&(i?St(i)&&(n=Qt(i)):n=Qt(e));const r=function(e,t,l){return void 0===t&&(t=!1),!(!l||t&&l!==Vt(e))&&t}(o,l,i)?tl(o):Qe(0);let s=(a.left+r.x)/n.x,c=(a.top+r.y)/n.y,d=a.width/n.x,h=a.height/n.y;if(o){const e=Vt(o),t=i&&St(i)?Vt(i):i;let l=e,a=Gt(l);for(;a&&i&&t!==l;){const e=Qt(a),t=a.getBoundingClientRect(),i=Wt(a),o=t.left+(a.clientLeft+parseFloat(i.paddingLeft))*e.x,n=t.top+(a.clientTop+parseFloat(i.paddingTop))*e.y;s*=e.x,c*=e.y,d*=e.x,h*=e.y,s+=o,c+=n,l=Vt(a),a=Gt(l)}}return Zt({width:d,height:h,x:s,y:c})}function il(e,t){const l=qt(e).scrollLeft;return t?t.left+l:ll(Ht(e)).left+l}function al(e,t){const l=e.getBoundingClientRect();return{x:l.left+t.scrollLeft-il(e,l),y:l.top+t.scrollTop}}const ol=new Set(["absolute","fixed"]);function nl(e,t,l){let i;if("viewport"===t)i=function(e,t){const l=Vt(e),i=Ht(e),a=l.visualViewport;let o=i.clientWidth,n=i.clientHeight,r=0,s=0;if(a){o=a.width,n=a.height;const e=Nt();(!e||e&&"fixed"===t)&&(r=a.offsetLeft,s=a.offsetTop)}const c=il(i);if(c<=0){const e=i.ownerDocument,t=e.body,l=getComputedStyle(t),a="CSS1Compat"===e.compatMode&&parseFloat(l.marginLeft)+parseFloat(l.marginRight)||0,n=Math.abs(i.clientWidth-t.clientWidth-a);n<=25&&(o-=n)}else c<=25&&(o+=c);return{width:o,height:n,x:r,y:s}}(e,l);else if("document"===t)i=function(e){const t=Ht(e),l=qt(e),i=e.ownerDocument.body,a=Ge(t.scrollWidth,t.clientWidth,i.scrollWidth,i.clientWidth),o=Ge(t.scrollHeight,t.clientHeight,i.scrollHeight,i.clientHeight);let n=-l.scrollLeft+il(e);const r=-l.scrollTop;return"rtl"===Wt(i).direction&&(n+=Ge(t.clientWidth,i.clientWidth)-a),{width:a,height:o,x:n,y:r}}(Ht(e));else if(St(t))i=function(e,t){const l=ll(e,!0,"fixed"===t),i=l.top+e.clientTop,a=l.left+e.clientLeft,o=Bt(e)?Qt(e):Qe(1);return{width:e.clientWidth*o.x,height:e.clientHeight*o.y,x:a*o.x,y:i*o.y}}(t,l);else{const l=tl(e);i={x:t.x-l.x,y:t.y-l.y,width:t.width,height:t.height}}return Zt(i)}function rl(e,t){const l=jt(e);return!(l===t||!St(l)||Ft(l))&&("fixed"===Wt(l).position||rl(l,t))}function sl(e,t,l){const i=Bt(t),a=Ht(t),o="fixed"===l,n=ll(e,!0,o,t);let r={scrollLeft:0,scrollTop:0};const s=Qe(0);function c(){s.x=il(a)}if(i||!i&&!o)if(("body"!==_t(t)||Lt(a))&&(r=qt(t)),i){const e=ll(t,!0,o,t);s.x=e.x+t.clientLeft,s.y=e.y+t.clientTop}else a&&c();o&&!i&&a&&c();const d=!a||i||o?Qe(0):al(a,r);return{x:n.left+r.scrollLeft-s.x-d.x,y:n.top+r.scrollTop-s.y-d.y,width:n.width,height:n.height}}function cl(e){return"static"===Wt(e).position}function dl(e,t){if(!Bt(e)||"fixed"===Wt(e).position)return null;if(t)return t(e);let l=e.offsetParent;return Ht(e)===l&&(l=l.ownerDocument.body),l}function hl(e,t){const l=Vt(e);if(Tt(e))return l;if(!Bt(e)){let t=jt(e);for(;t&&!Ft(t);){if(St(t)&&!cl(t))return t;t=jt(t)}return l}let i=dl(e,t);for(;i&&It(i)&&cl(i);)i=dl(i,t);return i&&Ft(i)&&cl(i)&&!Dt(i)?l:i||function(e){let t=jt(e);for(;Bt(t)&&!Ft(t);){if(Dt(t))return t;if(Tt(t))return null;t=jt(t)}return null}(e)||l}const vl={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:l,offsetParent:i,strategy:a}=e;const o="fixed"===a,n=Ht(i),r=!!t&&Tt(t.floating);if(i===n||r&&o)return l;let s={scrollLeft:0,scrollTop:0},c=Qe(1);const d=Qe(0),h=Bt(i);if((h||!h&&!o)&&(("body"!==_t(i)||Lt(n))&&(s=qt(i)),Bt(i))){const e=ll(i);c=Qt(i),d.x=e.x+i.clientLeft,d.y=e.y+i.clientTop}const v=!n||h||o?Qe(0):al(n,s);return{width:l.width*c.x,height:l.height*c.y,x:l.x*c.x-s.scrollLeft*c.x+d.x+v.x,y:l.y*c.y-s.scrollTop*c.y+d.y+v.y}},getDocumentElement:Ht,getClippingRect:function(e){let{element:t,boundary:l,rootBoundary:i,strategy:a}=e;const o=[..."clippingAncestors"===l?Tt(t)?[]:function(e,t){const l=t.get(e);if(l)return l;let i=Jt(e,[],!1).filter(e=>St(e)&&"body"!==_t(e)),a=null;const o="fixed"===Wt(e).position;let n=o?jt(e):e;for(;St(n)&&!Ft(n);){const t=Wt(n),l=Dt(n);l||"fixed"!==t.position||(a=null),(o?!l&&!a:!l&&"static"===t.position&&a&&ol.has(a.position)||Lt(n)&&!l&&rl(e,n))?i=i.filter(e=>e!==n):a=t,n=jt(n)}return t.set(e,i),i}(t,this._c):[].concat(l),i],n=o[0],r=o.reduce((e,l)=>{const i=nl(t,l,a);return e.top=Ge(i.top,e.top),e.right=Je(i.right,e.right),e.bottom=Je(i.bottom,e.bottom),e.left=Ge(i.left,e.left),e},nl(t,n,a));return{width:r.right-r.left,height:r.bottom-r.top,x:r.left,y:r.top}},getOffsetParent:hl,getElementRects:async function(e){const t=this.getOffsetParent||hl,l=this.getDimensions,i=await l(e.floating);return{reference:sl(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:i.width,height:i.height}}},getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){const{width:t,height:l}=Yt(e);return{width:t,height:l}},getScale:Qt,isElement:St,isRTL:function(e){return"rtl"===Wt(e).direction}};function ul(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function pl(e,t,l,i){void 0===i&&(i={});const{ancestorScroll:a=!0,ancestorResize:o=!0,elementResize:n="function"==typeof ResizeObserver,layoutShift:r="function"==typeof IntersectionObserver,animationFrame:s=!1}=i,c=Xt(e),d=a||o?[...c?Jt(c):[],...Jt(t)]:[];d.forEach(e=>{a&&e.addEventListener("scroll",l,{passive:!0}),o&&e.addEventListener("resize",l)});const h=c&&r?function(e,t){let l,i=null;const a=Ht(e);function o(){var e;clearTimeout(l),null==(e=i)||e.disconnect(),i=null}return function n(r,s){void 0===r&&(r=!1),void 0===s&&(s=1),o();const c=e.getBoundingClientRect(),{left:d,top:h,width:v,height:u}=c;if(r||t(),!v||!u)return;const p={rootMargin:-Xe(h)+"px "+-Xe(a.clientWidth-(d+v))+"px "+-Xe(a.clientHeight-(h+u))+"px "+-Xe(d)+"px",threshold:Ge(0,Je(1,s))||1};let g=!0;function w(t){const i=t[0].intersectionRatio;if(i!==s){if(!g)return n();i?n(!1,i):l=setTimeout(()=>{n(!1,1e-7)},1e3)}1!==i||ul(c,e.getBoundingClientRect())||n(),g=!1}try{i=new IntersectionObserver(w,{...p,root:a.ownerDocument})}catch(e){i=new IntersectionObserver(w,p)}i.observe(e)}(!0),o}(c,l):null;let v,u=-1,p=null;n&&(p=new ResizeObserver(e=>{let[i]=e;i&&i.target===c&&p&&(p.unobserve(t),cancelAnimationFrame(u),u=requestAnimationFrame(()=>{var e;null==(e=p)||e.observe(t)})),l()}),c&&!s&&p.observe(c),p.observe(t));let g=s?ll(e):null;return s&&function t(){const i=ll(e);g&&!ul(g,i)&&l();g=i,v=requestAnimationFrame(t)}(),l(),()=>{var e;d.forEach(e=>{a&&e.removeEventListener("scroll",l),o&&e.removeEventListener("resize",l)}),null==h||h(),null==(e=p)||e.disconnect(),p=null,s&&cancelAnimationFrame(v)}}const gl=function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){var l,i;const{x:a,y:o,placement:n,middlewareData:r}=t,s=await async function(e,t){const{placement:l,platform:i,elements:a}=e,o=await(null==i.isRTL?void 0:i.isRTL(a.floating)),n=at(l),r=ot(l),s="y"===ct(l),c=bt.has(n)?-1:1,d=o&&s?-1:1,h=it(t,e);let{mainAxis:v,crossAxis:u,alignmentAxis:p}="number"==typeof h?{mainAxis:h,crossAxis:0,alignmentAxis:null}:{mainAxis:h.mainAxis||0,crossAxis:h.crossAxis||0,alignmentAxis:h.alignmentAxis};return r&&"number"==typeof p&&(u="end"===r?-1*p:p),s?{x:u*d,y:v*c}:{x:v*c,y:u*d}}(t,e);return n===(null==(l=r.offset)?void 0:l.placement)&&null!=(i=r.arrow)&&i.alignmentOffset?{}:{x:a+s.x,y:o+s.y,data:{...s,placement:n}}}}},wl=function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){const{x:l,y:i,placement:a}=t,{mainAxis:o=!0,crossAxis:n=!1,limiter:r={fn:e=>{let{x:t,y:l}=e;return{x:t,y:l}}},...s}=it(e,t),c={x:l,y:i},d=await yt(t,s),h=ct(at(a)),v=nt(h);let u=c[v],p=c[h];if(o){const e="y"===v?"bottom":"right";u=lt(u+d["y"===v?"top":"left"],u,u-d[e])}if(n){const e="y"===h?"bottom":"right";p=lt(p+d["y"===h?"top":"left"],p,p-d[e])}const g=r.fn({...t,[v]:u,[h]:p});return{...g,data:{x:g.x-l,y:g.y-i,enabled:{[v]:o,[h]:n}}}}}},fl=function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var l,i;const{placement:a,middlewareData:o,rects:n,initialPlacement:r,platform:s,elements:c}=t,{mainAxis:d=!0,crossAxis:h=!0,fallbackPlacements:v,fallbackStrategy:u="bestFit",fallbackAxisSideDirection:p="none",flipAlignment:g=!0,...w}=it(e,t);if(null!=(l=o.arrow)&&l.alignmentOffset)return{};const f=at(a),m=ct(r),x=at(r)===r,Z=await(null==s.isRTL?void 0:s.isRTL(c.floating)),C=v||(x||!g?[mt(r)]:function(e){const t=mt(e);return[vt(e),t,vt(t)]}(r)),y="none"!==p;!v&&y&&C.push(...ft(r,g,p,Z));const b=[r,...C],M=await yt(t,w),_=[];let V=(null==(i=o.flip)?void 0:i.overflows)||[];if(d&&_.push(M[f]),h){const e=ht(a,n,Z);_.push(M[e[0]],M[e[1]])}if(V=[...V,{placement:a,overflows:_}],!_.every(e=>e<=0)){var H,$;const e=((null==(H=o.flip)?void 0:H.index)||0)+1,t=b[e];if(t){if(!("alignment"===h&&m!==ct(t))||V.every(e=>ct(e.placement)!==m||e.overflows[0]>0))return{data:{index:e,overflows:V},reset:{placement:t}}}let l=null==($=V.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:$.placement;if(!l)switch(u){case"bestFit":{var S;const e=null==(S=V.filter(e=>{if(y){const t=ct(e.placement);return t===m||"y"===t}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])?void 0:S[0];e&&(l=e);break}case"initialPlacement":l=r}if(a!==l)return{reset:{placement:l}}}return{}}}},ml=function(e){return void 0===e&&(e={}),{name:"size",options:e,async fn(t){var l,i;const{placement:a,rects:o,platform:n,elements:r}=t,{apply:s=()=>{},...c}=it(e,t),d=await yt(t,c),h=at(a),v=ot(a),u="y"===ct(a),{width:p,height:g}=o.floating;let w,f;"top"===h||"bottom"===h?(w=h,f=v===(await(null==n.isRTL?void 0:n.isRTL(r.floating))?"start":"end")?"left":"right"):(f=h,w="end"===v?"top":"bottom");const m=g-d.top-d.bottom,x=p-d.left-d.right,Z=Je(g-d[w],m),C=Je(p-d[f],x),y=!t.middlewareData.shift;let b=Z,M=C;if(null!=(l=t.middlewareData.shift)&&l.enabled.x&&(M=x),null!=(i=t.middlewareData.shift)&&i.enabled.y&&(b=m),y&&!v){const e=Ge(d.left,0),t=Ge(d.right,0),l=Ge(d.top,0),i=Ge(d.bottom,0);u?M=p-2*(0!==e||0!==t?e+t:Ge(d.left,d.right)):b=g-2*(0!==l||0!==i?l+i:Ge(d.top,d.bottom))}await s({...t,availableWidth:M,availableHeight:b});const _=await n.getDimensions(r.floating);return p!==_.width||g!==_.height?{reset:{rects:!0}}:{}}}},xl=(e,t,l)=>{const i=new Map,a={platform:vl,...l},o={...a.platform,_c:i};return(async(e,t,l)=>{const{placement:i="bottom",strategy:a="absolute",middleware:o=[],platform:n}=l,r=o.filter(Boolean),s=await(null==n.isRTL?void 0:n.isRTL(t));let c=await n.getElementRects({reference:e,floating:t,strategy:a}),{x:d,y:h}=Ct(c,i,s),v=i,u={},p=0;for(let l=0;l<r.length;l++){const{name:o,fn:g}=r[l],{x:w,y:f,data:m,reset:x}=await g({x:d,y:h,initialPlacement:i,placement:v,strategy:a,middlewareData:u,rects:c,platform:n,elements:{reference:e,floating:t}});d=null!=w?w:d,h=null!=f?f:h,u={...u,[o]:{...u[o],...m}},x&&p<=50&&(p++,"object"==typeof x&&(x.placement&&(v=x.placement),x.rects&&(c=!0===x.rects?await n.getElementRects({reference:e,floating:t,strategy:a}):x.rects),({x:d,y:h}=Ct(c,v,s))),l=-1)}return{x:d,y:h,placement:v,strategy:a,middlewareData:u}})(e,t,{...a,platform:o})};var Zl=r`: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-border-radius-md);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%}`,Cl=r`.invalid-feedback-container{display:flex;gap:var(--sgds-form-gap-sm)}.invalid-feedback,.invalid-feedback-container{color:var(--sgds-form-danger-color-default);line-height:var(--sgds-line-height-20)}.invalid-feedback{font-size:var(--sgds-font-size-14);font-weight:var(--sgds-font-weight-regular)}.valid-icon{color:var(--sgds-form-success-color-default)}`,yl=r`.form-text{color:var(--sgds-form-color-subtle);font-size:var(--sgds-font-size-14);line-height:var(--sgds-line-height-20)}.form-text.disabled{opacity:var(--sgds-opacity-50)}`,bl=r`.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-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-md));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-size:var(--sgds-font-size-16);line-height:var(--sgds-line-height-24);min-width:0;outline:none;padding:0;width:100%}.form-clearable{color:var(--sgds-color-subtle);cursor:pointer}@media (prefers-reduced-motion:reduce){.form-control-group{transition:none}}.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-form-outline-offset-focus)}.form-control-group:not(.disabled):not(.is-invalid):focus-within{outline:var(--sgds-form-outline-focus);outline-offset:var(--sgds-form-outline-offset-focus)}.form-control-container.disabled{opacity:var(--sgds-opacity-50)}.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-form-outline-offset-focus)}`;function Ml(e="",t=""){return`id-${Math.random().toString().substring(2,6)}-sgds-${e}-${t}`}class _l{constructor(e,t){(this.host=e).addController(this),this._internals=e._internals||this.host.attachInternals(),this.options=Object.assign({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){const t=e.target;this.options.setInvalid(this.host,!1),this.validateInput(t)}handleChange(e){const 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,l){return this._internals.setValidity(e,t,l)}setFormValue(){const e=this.options.value(this.host);this._internals.setFormValue(e)}validateInput(e){if(this.options.input(this.host).disabled)return this._internals.setValidity({});const t=e.validity;if(t.valid)this._internals.setValidity({});else for(const l in t)t[l]&&(this.validationError=l.toString(),this._internals.setValidity({[this.validationError]:!0},e.validationMessage,e))}}const Vl=e=>{class l extends e{constructor(...e){super(...e),this._isTouched=!1,this._internals=this.attachInternals()}connectedCallback(){var e;super.connectedCallback(),this._mixinShouldSkipSgdsValidation()||null!==(e=this.inputValidationController)&&void 0!==e||(this.inputValidationController=new _l(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._mixinShouldSkipSgdsValidation()||(this.inputValidationController.resetValidity(),this.inputValidationController.updateInvalidState(),this.inputValidationController.validateInput(e),this._isTouched&&(this._isTouched=!1))}_mixinValidate(e){this._mixinShouldSkipSgdsValidation()||this.inputValidationController.validateInput(e)}_mixinSetFormValue(){const e=this.value;this._internals.setFormValue(e)}_mixinCheckValidity(){return!!this._mixinShouldSkipSgdsValidation()||this.inputValidationController.checkValidity()}_mixinReportValidity(){return!!this._mixinShouldSkipSgdsValidation()||this.inputValidationController.reportValidity()}_mixinGetValidity(){return this._internals.validity}_mixinGetValidationMessage(){return this._internals.validationMessage}_mixinSetValidity(e,t,l){if(!this._mixinShouldSkipSgdsValidation())return this.inputValidationController.setValidity(e,t,l)}_mixinShouldSkipSgdsValidation(){const e=this.closest("form");return(null==e?void 0:e.noValidate)||this.noValidate}}return l.formAssociated=!0,t([Ae("sgds-input")],l.prototype,"sgdsInput",void 0),t([Ae("sgds-datepicker-input")],l.prototype,"sgdsDatepickerInput",void 0),l};var Hl=r`:host{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);color:var(--sgds-body-color-default);display:block;font-family:var(--sgds-font-family-brand);font-size:var(--sgds-font-size-16);font-weight:var(--sgds-font-weight-regular);line-height:var(--sgds-line-height-24);margin:0;*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:disabled{cursor:not-allowed}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}::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' viewBox='0 0 24 24' fill='none'%3E%3Cpath fill-rule='evenodd' clip-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.4ZM12.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-.6Z' fill='%230E0E0E'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath fill-rule='evenodd' clip-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.4ZM12.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-.6Z' fill='%230E0E0E'/%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}}`;class $l extends Ce{emit(e,t){const l=new CustomEvent(e,Object.assign({bubbles:!0,cancelable:!1,composed:!0,detail:{}},t));return this.dispatchEvent(l),l}static define(e,t=this,l={}){if(customElements.get(e));else try{customElements.define(e,t,l)}catch(i){customElements.define(e,class extends t{},l)}}constructor(){super(),this.ssr=Boolean(this.shadowRoot),Object.entries(this.constructor.dependencies).forEach(([e,t])=>{this.constructor.define(e,t)})}firstUpdated(e){var t;super.firstUpdated(e),this.ssr&&(null===(t=this.shadowRoot)||void 0===t||t.querySelectorAll("slot").forEach(e=>{e.dispatchEvent(new Event("slotchange",{bubbles:!0,composed:!1,cancelable:!1}))}))}}$l.styles=[Hl],$l.dependencies={},t([He({type:Boolean,reflect:!0})],$l.prototype,"ssr",void 0);class Sl extends $l{constructor(){super(...arguments),this.myDropdown=We(),this.dropdownMenuId=Ml("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=We(),this._handleClickOutOfElement=e=>{this.menuIsOpen&&(e.composedPath().includes(this)||this.hideMenu(!0))}}connectedCallback(){super.connectedCallback(),"inside"!==this.close&&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(),this._cleanupAutoUpdate=void 0)}firstUpdated(e){super.firstUpdated(e),this.menuIsOpen&&requestAnimationFrame(async()=>{await this.updateFloatingPosition(),this._startAutoUpdate()})}async showMenu(){this.disabled||this.menuIsOpen||(this.menuIsOpen=!0,this.emit("sgds-show"),await this.updateFloatingPosition(),this.emit("sgds-after-show"),this._startAutoUpdate())}_startAutoUpdate(){this.myDropdown.value&&this.menuRef.value&&(this._cleanupAutoUpdate=pl(this.myDropdown.value,this.menuRef.value,()=>this.updateFloatingPosition()))}hideMenu(e){this.menuIsOpen&&(this.emit("sgds-hide",{detail:{isOutside:e}}),this.menuIsOpen=!1,setTimeout(()=>this.emit("sgds-after-hide"),0),this._cleanupAutoUpdate&&(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){const l=e=>{var t;return(null==e?void 0:e.name)||(null===(t=null==e?void 0:e.constructor)||void 0===t?void 0:t.name)},i=t.map(l),a=e.map(e=>{const a=l(e),o=i.indexOf(a);return-1!==o?t[o]:e}).concat(t.filter(t=>!e.some(e=>l(e)===l(t))));return a}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"}const t=[gl(8),this.noFlip?void 0:fl(),wl()].filter(Boolean);let l=t;Array.isArray(this.floatingOpts.middleware)&&this.floatingOpts.middleware.length>0&&(l=this.mergeMiddleware(t,this.floatingOpts.middleware.filter(Boolean)));const i=Object.assign(Object.assign({strategy:"fixed",placement:e},this.floatingOpts),{middleware:l}),{x:a,y:o,strategy:n,placement:r}=await xl(this.myDropdown.value,this.menuRef.value,i);this.menuRef.value.setAttribute("data-placement",r),Object.assign(this.menuRef.value.style,{position:n,left:`${a}px`,top:`${o}px`})}}t([He({type:Boolean,state:!0})],Sl.prototype,"noFlip",void 0),t([He({type:Boolean,reflect:!0,state:!0})],Sl.prototype,"menuAlignRight",void 0),t([He({type:String,reflect:!0,state:!0})],Sl.prototype,"drop",void 0),t([He({type:Object})],Sl.prototype,"floatingOpts",void 0),t([He({type:Boolean,reflect:!0})],Sl.prototype,"menuIsOpen",void 0),t([He({type:Boolean,reflect:!0})],Sl.prototype,"disabled",void 0),t([He({type:Boolean,reflect:!0})],Sl.prototype,"readonly",void 0);class Bl extends Sl{constructor(){super(...arguments),this.nextDropdownItemNo=0,this.prevDropdownItemNo=-1,this.hidden=!1}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){const t=this._getActiveMenuItems(),l=t.indexOf(e.target);this.nextDropdownItemNo=l+1,this.prevDropdownItemNo=l<=0?t.length-1:l-1;const i=e.target;i.disabled||(this.emit("sgds-select",{detail:{item:i}}),"outside"!==this.close&&this.hideMenu())}_resetMenu(){this.nextDropdownItemNo=0,this.prevDropdownItemNo=-1;this._getMenuItems().forEach(e=>{var t;const l=null===(t=null==e?void 0:e.shadowRoot)||void 0===t?void 0:t.querySelector(".dropdown-item");l&&l.removeAttribute("tabindex")})}_handleKeyboardMenuItemsEvent(e){if(this.readonly)return;const t=this._getActiveMenuItems();if(0!==t.length)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"Enter":t.includes(e.target)&&this.handleSelectSlot(e)}}_getMenuItems(){var e,t;if(this.shadowRoot.querySelector("slot#default")){return null===(e=this.shadowRoot.querySelector("slot#default"))||void 0===e?void 0:e.assignedElements({flatten:!0}).filter(e=>!e.classList.contains("empty-menu")&&!e.hasAttribute("hidden"))}if(null===(t=this.menu)||void 0===t?void 0:t.hasChildNodes()){return[...Array.from(this.menu.children)]}return[]}_getActiveMenuItems(){return this._getMenuItems().filter(e=>!e.disabled&&!e.hidden)}_setMenuItem(e){const t=this._getActiveMenuItems();if(0===t.length)return;const l=(e%t.length+t.length)%t.length,i=t[l];this.emit("i-sgds-option-focus",{detail:{option:i}}),this.nextDropdownItemNo=(l+1)%t.length,this.prevDropdownItemNo=(l-1+t.length)%t.length,t.forEach(e=>{const t=e.shadowRoot.querySelector(".dropdown-item");t.setAttribute("tabindex",e===i?"0":"-1"),e===i&&t.focus()})}}var Al,kl;Bl.styles=Sl.styles,t([(Al="ul.dropdown-menu",(e,t,l)=>{const i=e=>{const l=e.renderRoot?.querySelector(Al)??null;if(null===l&&kl&&!e.hasUpdated){const e="object"==typeof t?t.name:t;Be("",`@query'd field ${JSON.stringify(String(e))} with the 'cache' flag set for selector '${Al}' has been accessed before the first update and returned null. This is expected if the renderRoot tree has not been provided beforehand (e.g. via Declarative Shadow DOM). Therefore the value hasn't been cached.`)}return l};if(kl){const{get:a,set:o}="object"==typeof t?e:l??(()=>{const e=Symbol(`${String(t)} (@query() cache)`);return{get(){return this[e]},set(t){this[e]=t}}})();return Se(e,t,{get(){let e=a.call(this);return void 0===e&&(e=i(this),(null!==e||this.hasUpdated)&&o.call(this,e)),e}})}return Se(e,t,{get(){return i(this)}})})],Bl.prototype,"menu",void 0),t([$e()],Bl.prototype,"nextDropdownItemNo",void 0),t([$e()],Bl.prototype,"prevDropdownItemNo",void 0),t([He({type:Boolean,reflect:!0})],Bl.prototype,"hidden",void 0);var Ll=r`.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)}`;class El extends(Vl(Bl)){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.menuList=[],this.selectedItems=[],this.filteredList=[],this._isTouched=!1,this._controlId=Ml("input"),this._labelId=Ml("label"),this.floatingOpts={middleware:[ml({apply({rects:e,elements:t}){t.floating.style.width=`${e.reference.width}px`}})]}}connectedCallback(){super.connectedCallback(),this.addEventListener("blur",async e=>{var t;const l=this.constructor.childName,i=(null===(t=e.relatedTarget)||void 0===t?void 0:t.tagName.toLowerCase())===l;this.invalid=!i&&!this._mixinReportValidity()})}reportValidity(){return this._mixinReportValidity()}checkValidity(){return this._mixinCheckValidity()}get validity(){return this._mixinGetValidity()}get validationMessage(){return this._mixinGetValidationMessage()}_renderFeedback(){return this.invalid&&this.hasFeedback?ee` <div class="invalid-feedback-container">
84
84
  <slot name="invalidIcon">
85
85
  <sgds-icon name="exclamation-circle-fill" size="md"></sgds-icon>
86
86
  </slot>
@@ -2375,7 +2375,7 @@ const ii=Symbol.for(""),ai=e=>{if(e?.r===ii)return e?._$litStatic$},oi=new Map,n
2375
2375
  </div>
2376
2376
  `}render(){return ee`
2377
2377
  <div
2378
- class=${Pe({disabled:this.disabled,select:!0,"form-control-container":!0})}
2378
+ class=${Pe({disabled:this.disabled,select:!0,"form-control-container":!0,"m-width-160":!0})}
2379
2379
  >
2380
2380
  ${this._renderLabel()}
2381
2381
  <!-- The input -->