@designsystem-se/af 38.1.0 → 38.2.1-beta.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 (195) hide show
  1. package/components/digi-calendar-datepicker.js +10 -6
  2. package/components/digi-form-checkbox.js +1 -1
  3. package/components/digi-form-error-list.js +33 -1
  4. package/components/digi-form-filter.js +1 -1
  5. package/components/digi-form-select-filter.js +84 -47
  6. package/components/{p-13c09880.js → p-f84f590e.js} +2 -2
  7. package/custom-elements.json +9 -1
  8. package/dist/cjs/digi-arbetsformedlingen.cjs.js +1 -1
  9. package/dist/cjs/digi-button_11.cjs.entry.js +1194 -0
  10. package/dist/cjs/digi-calendar-datepicker.cjs.entry.js +15 -13
  11. package/dist/cjs/digi-code-block_3.cjs.entry.js +6 -6
  12. package/dist/cjs/digi-dialog.cjs.entry.js +6 -6
  13. package/dist/cjs/digi-footer-card.cjs.entry.js +29 -0
  14. package/dist/cjs/digi-footer.cjs.entry.js +74 -0
  15. package/dist/cjs/digi-form-checkbox.cjs.entry.js +2 -2
  16. package/dist/cjs/digi-form-error-list.cjs.entry.js +39 -7
  17. package/dist/cjs/digi-form-file-upload.cjs.entry.js +9 -10
  18. package/dist/cjs/digi-form-input-search.cjs.entry.js +6 -7
  19. package/dist/cjs/digi-form-receipt.cjs.entry.js +6 -6
  20. package/dist/cjs/digi-header-avatar.cjs.entry.js +114 -0
  21. package/dist/cjs/digi-header-navigation-item.cjs.entry.js +27 -0
  22. package/dist/cjs/digi-header-navigation.cjs.entry.js +228 -0
  23. package/dist/cjs/digi-header-notification.cjs.entry.js +23 -0
  24. package/dist/cjs/digi-header.cjs.entry.js +115 -0
  25. package/dist/cjs/digi-icon-accessibility-universal.cjs.entry.js +30 -0
  26. package/dist/cjs/digi-icon-bars.cjs.entry.js +30 -0
  27. package/dist/cjs/digi-icon-bell-filled.cjs.entry.js +30 -0
  28. package/dist/cjs/digi-icon-envelope.cjs.entry.js +30 -0
  29. package/dist/cjs/{digi-link-external.cjs.entry.js → digi-icon-external-link-alt_2.cjs.entry.js} +24 -0
  30. package/dist/cjs/digi-icon-globe.cjs.entry.js +30 -0
  31. package/dist/cjs/digi-icon-sign.cjs.entry.js +30 -0
  32. package/dist/cjs/digi-icon-x.cjs.entry.js +30 -0
  33. package/dist/cjs/digi-layout-block_2.cjs.entry.js +92 -0
  34. package/dist/cjs/digi-link.cjs.entry.js +75 -0
  35. package/dist/cjs/digi-logo.cjs.entry.js +49 -0
  36. package/dist/cjs/digi-media-image_2.cjs.entry.js +167 -0
  37. package/dist/cjs/digi-navigation-pagination.cjs.entry.js +6 -6
  38. package/dist/cjs/digi-navigation-sidebar-button.cjs.entry.js +30 -0
  39. package/dist/cjs/digi-notification-alert.cjs.entry.js +6 -6
  40. package/dist/cjs/digi-notification-error-page.cjs.entry.js +6 -6
  41. package/dist/cjs/digi-title-logo.cjs.entry.js +133 -0
  42. package/dist/cjs/digi-tools-feedback.cjs.entry.js +6 -6
  43. package/dist/cjs/digi-typography.cjs.entry.js +26 -0
  44. package/dist/cjs/digi-util-breakpoint-observer.cjs.entry.js +48 -0
  45. package/dist/cjs/footer-card-variation.enum-99555edc.js +8 -0
  46. package/dist/cjs/{form-input-type.enum-9c8ee12a.js → form-input-type.enum-1fb2180a.js} +14 -0
  47. package/dist/cjs/{form-file-upload-variation.enum-634cfae8.js → form-validation-message-variation.enum-c5ec3e2d.js} +7 -0
  48. package/dist/cjs/index-7a477838.js +84 -20
  49. package/dist/cjs/index.cjs.js +73 -73
  50. package/dist/cjs/layout-container-max-width.enum-7e637f44.js +21 -0
  51. package/dist/cjs/loader.cjs.js +1 -1
  52. package/dist/cjs/logo-color.enum-76f6c506.js +7 -0
  53. package/dist/cjs/{typography-variation.enum-c0ef9190.js → typography-variation.enum-9aab5027.js} +28 -33
  54. package/dist/collection/components/_calendar/calendar-datepicker/calendar-datepicker.js +53 -6
  55. package/dist/collection/components/_form/form-checkbox/form-checkbox.js +8 -5
  56. package/dist/collection/components/_form/form-error-list/form-error-list.js +20 -1
  57. package/dist/collection/components/_form/form-select-filter/form-select-filter.js +85 -48
  58. package/dist/collection/design-tokens/components/_logo.variables.scss +17 -15
  59. package/dist/digi-arbetsformedlingen/design-tokens/components/_logo.variables.scss +2 -0
  60. package/dist/digi-arbetsformedlingen/digi-arbetsformedlingen.esm.js +1 -1
  61. package/dist/digi-arbetsformedlingen/index.esm.js +1 -1
  62. package/dist/digi-arbetsformedlingen/{p-8833044b.entry.js → p-02731621.entry.js} +1 -1
  63. package/dist/digi-arbetsformedlingen/p-0ef5ec06.entry.js +1 -0
  64. package/dist/digi-arbetsformedlingen/p-10261517.entry.js +1 -0
  65. package/dist/digi-arbetsformedlingen/{p-37c0ea9e.entry.js → p-2295239c.entry.js} +1 -1
  66. package/dist/digi-arbetsformedlingen/{p-97f66789.entry.js → p-25371300.entry.js} +1 -1
  67. package/dist/digi-arbetsformedlingen/p-2c685e4f.entry.js +1 -0
  68. package/dist/digi-arbetsformedlingen/p-300aa9ef.js +1 -0
  69. package/dist/digi-arbetsformedlingen/p-3887bb40.js +1 -0
  70. package/dist/digi-arbetsformedlingen/p-3efa2f0b.entry.js +1 -0
  71. package/dist/digi-arbetsformedlingen/p-47ab0b39.entry.js +1 -0
  72. package/dist/digi-arbetsformedlingen/p-4e9f2f05.entry.js +1 -0
  73. package/dist/digi-arbetsformedlingen/{p-ddd659bf.entry.js → p-655cda00.entry.js} +1 -1
  74. package/dist/digi-arbetsformedlingen/p-6abd8d58.entry.js +1 -0
  75. package/dist/digi-arbetsformedlingen/p-7e77bbe7.entry.js +1 -0
  76. package/dist/digi-arbetsformedlingen/p-7e85c9e3.entry.js +1 -0
  77. package/dist/digi-arbetsformedlingen/p-8713df13.entry.js +1 -0
  78. package/dist/digi-arbetsformedlingen/p-8d9f4f10.entry.js +1 -0
  79. package/dist/digi-arbetsformedlingen/p-8ef41ad9.entry.js +1 -0
  80. package/dist/digi-arbetsformedlingen/{p-18880083.entry.js → p-986a1582.entry.js} +1 -1
  81. package/dist/digi-arbetsformedlingen/p-9dd41cc4.js +1 -0
  82. package/dist/digi-arbetsformedlingen/p-a0c77dff.entry.js +1 -0
  83. package/dist/digi-arbetsformedlingen/p-a2008b0a.entry.js +1 -0
  84. package/dist/digi-arbetsformedlingen/{p-e5bd5a7e.entry.js → p-b3283953.entry.js} +1 -1
  85. package/dist/digi-arbetsformedlingen/p-beba49c2.entry.js +1 -0
  86. package/dist/digi-arbetsformedlingen/p-bf80a488.entry.js +1 -0
  87. package/dist/digi-arbetsformedlingen/{p-a186888d.entry.js → p-c3e0f6dd.entry.js} +1 -1
  88. package/dist/digi-arbetsformedlingen/p-c553b73b.entry.js +1 -0
  89. package/dist/digi-arbetsformedlingen/p-c604694f.entry.js +1 -0
  90. package/dist/digi-arbetsformedlingen/p-c604a480.entry.js +1 -0
  91. package/dist/digi-arbetsformedlingen/p-c64b4626.js +1 -0
  92. package/dist/digi-arbetsformedlingen/p-c7a512ee.entry.js +1 -0
  93. package/dist/digi-arbetsformedlingen/p-c7d079d0.entry.js +1 -0
  94. package/dist/digi-arbetsformedlingen/p-c9dfda73.js +1 -0
  95. package/dist/digi-arbetsformedlingen/p-d6d7b1d8.entry.js +1 -0
  96. package/dist/digi-arbetsformedlingen/p-db246e29.entry.js +1 -0
  97. package/dist/digi-arbetsformedlingen/{p-39468f49.entry.js → p-de22ce43.entry.js} +1 -1
  98. package/dist/digi-arbetsformedlingen/p-ecc2e481.entry.js +1 -0
  99. package/dist/digi-arbetsformedlingen/p-ee88e3f1.js +1 -0
  100. package/dist/digi-arbetsformedlingen/p-f2e16531.entry.js +1 -0
  101. package/dist/digi-arbetsformedlingen/p-f5bcd77b.entry.js +1 -0
  102. package/dist/digi-arbetsformedlingen/p-f87c0b45.entry.js +1 -0
  103. package/dist/digi-arbetsformedlingen/p-fa77fcf7.entry.js +1 -0
  104. package/dist/esm/digi-arbetsformedlingen.js +1 -1
  105. package/dist/esm/digi-button_11.entry.js +1180 -0
  106. package/dist/esm/digi-calendar-datepicker.entry.js +14 -12
  107. package/dist/esm/digi-code-block_3.entry.js +6 -6
  108. package/dist/esm/digi-dialog.entry.js +6 -6
  109. package/dist/esm/digi-footer-card.entry.js +25 -0
  110. package/dist/esm/digi-footer.entry.js +70 -0
  111. package/dist/esm/digi-form-checkbox.entry.js +2 -2
  112. package/dist/esm/digi-form-error-list.entry.js +39 -7
  113. package/dist/esm/digi-form-file-upload.entry.js +1 -2
  114. package/dist/esm/digi-form-input-search.entry.js +1 -2
  115. package/dist/esm/digi-form-receipt.entry.js +6 -6
  116. package/dist/esm/digi-header-avatar.entry.js +110 -0
  117. package/dist/esm/digi-header-navigation-item.entry.js +23 -0
  118. package/dist/esm/digi-header-navigation.entry.js +224 -0
  119. package/dist/esm/digi-header-notification.entry.js +19 -0
  120. package/dist/esm/digi-header.entry.js +111 -0
  121. package/dist/esm/digi-icon-accessibility-universal.entry.js +26 -0
  122. package/dist/esm/digi-icon-bars.entry.js +26 -0
  123. package/dist/esm/digi-icon-bell-filled.entry.js +26 -0
  124. package/dist/esm/digi-icon-envelope.entry.js +26 -0
  125. package/dist/esm/{digi-link-external.entry.js → digi-icon-external-link-alt_2.entry.js} +25 -2
  126. package/dist/esm/digi-icon-globe.entry.js +26 -0
  127. package/dist/esm/digi-icon-sign.entry.js +26 -0
  128. package/dist/esm/digi-icon-x.entry.js +26 -0
  129. package/dist/esm/digi-layout-block_2.entry.js +87 -0
  130. package/dist/esm/digi-link.entry.js +71 -0
  131. package/dist/esm/digi-logo.entry.js +45 -0
  132. package/dist/esm/digi-media-image_2.entry.js +162 -0
  133. package/dist/esm/digi-navigation-pagination.entry.js +6 -6
  134. package/dist/esm/digi-navigation-sidebar-button.entry.js +26 -0
  135. package/dist/esm/digi-notification-alert.entry.js +6 -6
  136. package/dist/esm/digi-notification-error-page.entry.js +6 -6
  137. package/dist/esm/digi-title-logo.entry.js +129 -0
  138. package/dist/esm/digi-tools-feedback.entry.js +6 -6
  139. package/dist/esm/digi-typography.entry.js +22 -0
  140. package/dist/esm/digi-util-breakpoint-observer.entry.js +44 -0
  141. package/dist/esm/footer-card-variation.enum-cc732148.js +8 -0
  142. package/dist/esm/{form-input-type.enum-3da3db27.js → form-input-type.enum-a6bba983.js} +15 -1
  143. package/dist/esm/{form-file-upload-variation.enum-9c49ec5e.js → form-validation-message-variation.enum-f7835fc5.js} +8 -1
  144. package/dist/esm/index-148a7577.js +84 -20
  145. package/dist/esm/index.js +6 -6
  146. package/dist/esm/layout-container-max-width.enum-c40018ac.js +21 -0
  147. package/dist/esm/loader.js +1 -1
  148. package/dist/esm/logo-color.enum-8593dca6.js +7 -0
  149. package/dist/esm/{typography-variation.enum-c85d7857.js → typography-variation.enum-fdda731c.js} +29 -34
  150. package/dist/types/components/_calendar/calendar-datepicker/calendar-datepicker.d.ts +10 -0
  151. package/dist/types/components/_form/form-checkbox/form-checkbox.d.ts +5 -2
  152. package/dist/types/components/_form/form-error-list/form-error-list.d.ts +3 -0
  153. package/dist/types/components/_form/form-select-filter/form-select-filter.d.ts +22 -3
  154. package/dist/types/components.d.ts +26 -6
  155. package/hydrate/index.js +129 -56
  156. package/hydrate/index.mjs +129 -56
  157. package/package.json +1 -1
  158. package/dist/cjs/digi-button_27.cjs.entry.js +0 -1380
  159. package/dist/cjs/digi-form-input.cjs.entry.js +0 -194
  160. package/dist/cjs/digi-form-label_3.cjs.entry.js +0 -129
  161. package/dist/cjs/digi-form-select-filter.cjs.entry.js +0 -564
  162. package/dist/cjs/digi-icon-check.cjs.entry.js +0 -30
  163. package/dist/cjs/digi-icon-chevron-down.cjs.entry.js +0 -30
  164. package/dist/cjs/digi-icon-validation-error_2.cjs.entry.js +0 -53
  165. package/dist/cjs/form-input-search-variation.enum-e0e025b1.js +0 -15
  166. package/dist/cjs/form-input-variation.enum-c750520c.js +0 -29
  167. package/dist/cjs/form-validation-message-variation.enum-855ae0be.js +0 -8
  168. package/dist/digi-arbetsformedlingen/p-111fb07d.entry.js +0 -1
  169. package/dist/digi-arbetsformedlingen/p-1f956af8.js +0 -1
  170. package/dist/digi-arbetsformedlingen/p-2788683e.entry.js +0 -1
  171. package/dist/digi-arbetsformedlingen/p-2d2f6950.entry.js +0 -1
  172. package/dist/digi-arbetsformedlingen/p-30dc159d.entry.js +0 -1
  173. package/dist/digi-arbetsformedlingen/p-4841b4e1.js +0 -1
  174. package/dist/digi-arbetsformedlingen/p-59073668.entry.js +0 -1
  175. package/dist/digi-arbetsformedlingen/p-7933b555.js +0 -1
  176. package/dist/digi-arbetsformedlingen/p-82611050.entry.js +0 -1
  177. package/dist/digi-arbetsformedlingen/p-82a74908.entry.js +0 -1
  178. package/dist/digi-arbetsformedlingen/p-88b4d03a.js +0 -1
  179. package/dist/digi-arbetsformedlingen/p-905ccb30.js +0 -1
  180. package/dist/digi-arbetsformedlingen/p-9c053cf8.entry.js +0 -1
  181. package/dist/digi-arbetsformedlingen/p-9dae073c.entry.js +0 -1
  182. package/dist/digi-arbetsformedlingen/p-d595e8a3.js +0 -1
  183. package/dist/digi-arbetsformedlingen/p-eda570be.entry.js +0 -1
  184. package/dist/digi-arbetsformedlingen/p-ef689144.entry.js +0 -1
  185. package/dist/digi-arbetsformedlingen/p-f0a405ca.entry.js +0 -1
  186. package/dist/esm/digi-button_27.entry.js +0 -1350
  187. package/dist/esm/digi-form-input.entry.js +0 -190
  188. package/dist/esm/digi-form-label_3.entry.js +0 -123
  189. package/dist/esm/digi-form-select-filter.entry.js +0 -560
  190. package/dist/esm/digi-icon-check.entry.js +0 -26
  191. package/dist/esm/digi-icon-chevron-down.entry.js +0 -26
  192. package/dist/esm/digi-icon-validation-error_2.entry.js +0 -48
  193. package/dist/esm/form-input-search-variation.enum-6d8dc10a.js +0 -15
  194. package/dist/esm/form-input-variation.enum-64d9450f.js +0 -29
  195. package/dist/esm/form-validation-message-variation.enum-bcef8a9d.js +0 -8
@@ -2229,6 +2229,8 @@ const CalendarDatepicker = /*@__PURE__*/ proxyCustomElement(class CalendarDatepi
2229
2229
  this.afCloseOnSelect = false;
2230
2230
  this.afOpenCalendarTo = undefined;
2231
2231
  this.afErrorMessageIsAlert = true;
2232
+ this.afAnnounceIfOptional = false;
2233
+ this.afAnnounceIfOptionalText = undefined;
2232
2234
  }
2233
2235
  afDisableValidationChangeHandler(newVal) {
2234
2236
  if (!newVal) {
@@ -2560,9 +2562,9 @@ const CalendarDatepicker = /*@__PURE__*/ proxyCustomElement(class CalendarDatepi
2560
2562
  return this.afSelectedDates;
2561
2563
  }
2562
2564
  render() {
2563
- return (h(Host, { key: '6b080d933e012fe050aee0181f927c3252b0bb7e', tabindex: -1 }, h("div", { key: 'ec59a7f209f7a5e06c62d4443fbca980b1030d12', class: Object.assign({ 'digi-calendar-datepicker': true }, this.cssModifiers), id: `${this.afId}-datepicker` }, h("div", { key: '2bf3bd4f0a82c14c4fb04610dab19767fbba595d', class: "digi-calendar-datepicker__input-field" }, h("digi-form-input", { key: 'ebde8123611c021b60104f75c2e4085e35fb4697', ref: (el) => (this._input = el), class: 'digi-calendar-datepicker__input-component', afLabel: this.afLabel, afLabelDescription: this.afLabelDescription, afName: this.afName, afValue: this.inputValue, afValidation: this.hasBuiltInValidationError()
2565
+ return (h(Host, { key: 'a22b366eece8bdf2a6d66ba7b4561093391ad16d', tabindex: -1 }, h("div", { key: '5ec3557df78bb012f2e10f1852252e78e2470ee3', class: Object.assign({ 'digi-calendar-datepicker': true }, this.cssModifiers), id: `${this.afId}-datepicker` }, h("div", { key: '1215a13021718ac98ad2a4a7a5bae3c456385124', class: "digi-calendar-datepicker__input-field" }, h("digi-form-input", { key: '8794d312452fe11f0f9052bbdd238e5570ec55f0', ref: (el) => (this._input = el), class: 'digi-calendar-datepicker__input-component', afLabel: this.afLabel, afLabelDescription: this.afLabelDescription, afName: this.afName, afValue: this.inputValue, afValidation: this.hasBuiltInValidationError()
2564
2566
  ? FormInputValidation.ERROR
2565
- : this.afValidation, afValidationText: this.getErrorText(), afId: this.afId, afAriaDescribedby: `${this.afId}--validation-message`, afRequired: this.afRequired, afRequiredText: this.afRequiredText, onAfOnChange: (evt) => {
2567
+ : this.afValidation, afValidationText: this.getErrorText(), afId: this.afId, afAriaDescribedby: `${this.afId}--validation-message`, afRequired: this.afRequired, afRequiredText: this.afRequiredText, afAnnounceIfOptional: this.afAnnounceIfOptional, afAnnounceIfOptionalText: this.afAnnounceIfOptionalText, onAfOnChange: (evt) => {
2566
2568
  evt.stopImmediatePropagation();
2567
2569
  this.parseInput(evt);
2568
2570
  }, onAfOnBlur: (evt) => {
@@ -2577,11 +2579,11 @@ const CalendarDatepicker = /*@__PURE__*/ proxyCustomElement(class CalendarDatepi
2577
2579
  e.preventDefault();
2578
2580
  const focusableDateButton = this.hostElement.querySelector('.digi-calendar__date[tabindex="0"]');
2579
2581
  focusableDateButton === null || focusableDateButton === void 0 ? void 0 : focusableDateButton.focus();
2580
- } }, h("button", { key: '04df5ccb789271d7ba2f693b740f316301f9fae0', id: this.afId + '-button', class: "digi-calendar-datepicker__input-button", slot: "button", "aria-label": this.showCalendar
2582
+ } }, h("button", { key: 'c953ddf0c99cfd3b892941da7da4a887b342fd78', id: this.afId + '-button', class: "digi-calendar-datepicker__input-button", slot: "button", "aria-label": this.showCalendar
2581
2583
  ? this.afCloseCalendarAriaLabel
2582
- : this.afOpenCalendarAriaLabel, "aria-controls": "calendar-popup", "aria-expanded": this.showCalendar ? 'true' : 'false', onClick: () => this.toggleCalendar(), type: "button" }, h("digi-icon-calendar-alt", { key: '65b9a472f629bbaa46a64c8a304f358da76b0830', class: "digi-calendar-datepicker__button-icon", slot: "icon" })))), h("div", { key: 'd0df89ce680bb2a0ca7f311b2c0ead0f72dc30b6', class: "digi-calendar-datepicker__calendar", id: "calendar-popup" }, h("p", { key: '9796876e15e88b1599d772863c29fc472da24c69', role: "alert", class: "digi-calendar-datepicker__sr-instructions" }, this.showCalendar
2584
+ : this.afOpenCalendarAriaLabel, "aria-controls": "calendar-popup", "aria-expanded": this.showCalendar ? 'true' : 'false', onClick: () => this.toggleCalendar(), type: "button" }, h("digi-icon-calendar-alt", { key: '46c7387d404b77911b97f31c10e7147bd436c7e3', class: "digi-calendar-datepicker__button-icon", slot: "icon" })))), h("div", { key: '91894a4219afa79d913f558f5d1cc6b410b535ce', class: "digi-calendar-datepicker__calendar", id: "calendar-popup" }, h("p", { key: '989fc17ea7a95aa014a26e09f7db7f59fe53a36b', role: "alert", class: "digi-calendar-datepicker__sr-instructions" }, this.showCalendar
2583
2585
  ? `${_t.calendar.screenReaderInstructions}${this.screenReaderUpdateTrigger ? '\u200B' : ''}`
2584
- : ''), h("digi-calendar", { key: 'bd5f34bcdbcb2276b5080c43479337c514861ba9', afActive: this.showCalendar, afShowWeekNumber: this.afShowWeekNumber, afMultipleDates: this.afMultipleDates, afYearSelect: this.afYearSelect, afSelectedDates: this.getSelectedDates, afMinDate: this.afMinDate, afMaxDate: this.afMaxDate, "aria-hidden": !this.showCalendar, afOpenCalendarTo: this.afOpenCalendarTo, onAfOnDateSelectedChange: (evt) => {
2586
+ : ''), h("digi-calendar", { key: '6e62fb845769eca0a9b8cb21e4a09a5620804d42', afActive: this.showCalendar, afShowWeekNumber: this.afShowWeekNumber, afMultipleDates: this.afMultipleDates, afYearSelect: this.afYearSelect, afSelectedDates: this.getSelectedDates, afMinDate: this.afMinDate, afMaxDate: this.afMaxDate, "aria-hidden": !this.showCalendar, afOpenCalendarTo: this.afOpenCalendarTo, onAfOnDateSelectedChange: (evt) => {
2585
2587
  evt.stopImmediatePropagation();
2586
2588
  this.parseCalendar(evt);
2587
2589
  }, onKeyDown: (e) => {
@@ -2592,7 +2594,7 @@ const CalendarDatepicker = /*@__PURE__*/ proxyCustomElement(class CalendarDatepi
2592
2594
  return;
2593
2595
  e.preventDefault();
2594
2596
  this.focusOnCalendarInput();
2595
- } })), this.afCloseOnSelect && !this.afMultipleDates && (h("div", { key: 'fc150d20f14731e8f67f38c6042e8af4e24eae38', class: "digi-calendar-datepicker__selected-date-alert", role: this.errorMessageIsAlert ? 'alert' : null }, this.afSelectedDates.length > 0
2597
+ } })), this.afCloseOnSelect && !this.afMultipleDates && (h("div", { key: 'd9f3eb470b29a0ab96134f1e4666743efacd7448', class: "digi-calendar-datepicker__selected-date-alert", role: this.errorMessageIsAlert ? 'alert' : null }, this.afSelectedDates.length > 0
2596
2598
  ? `${_t.calendar.datepicker.selectedDate}: ${this.datesToInputString(this.afSelectedDates)}`
2597
2599
  : '')))));
2598
2600
  }
@@ -2630,6 +2632,8 @@ const CalendarDatepicker = /*@__PURE__*/ proxyCustomElement(class CalendarDatepi
2630
2632
  "afCloseOnSelect": [4, "af-close-on-select"],
2631
2633
  "afOpenCalendarTo": [16],
2632
2634
  "afErrorMessageIsAlert": [8, "af-error-message-is-alert"],
2635
+ "afAnnounceIfOptional": [4, "af-announce-if-optional"],
2636
+ "afAnnounceIfOptionalText": [1, "af-announce-if-optional-text"],
2633
2637
  "showWrongFormatError": [32],
2634
2638
  "showDisabledDateError": [32],
2635
2639
  "showCalendar": [32],
@@ -1,4 +1,4 @@
1
- import { F as FormCheckbox, d as defineCustomElement$1 } from './p-13c09880.js';
1
+ import { F as FormCheckbox, d as defineCustomElement$1 } from './p-f84f590e.js';
2
2
 
3
3
  const DigiFormCheckbox = FormCheckbox;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -59,6 +59,20 @@ import { d as defineCustomElement$4 } from './p-4b44f757.js';
59
59
  import { d as defineCustomElement$3 } from './p-75c8d67e.js';
60
60
  import { d as defineCustomElement$2 } from './p-2881b363.js';
61
61
 
62
+ /**
63
+ * Small utility for adding Stencil component scope to dynamically inserted elements
64
+ * (e.g. svg for title logotypes)
65
+ */
66
+ function applyStencilScope(host, root) {
67
+ const scopeClasses = [...host.classList].filter(c => c.startsWith('sc-'));
68
+ if (!scopeClasses.length)
69
+ return;
70
+ root.classList.add(...scopeClasses);
71
+ root.querySelectorAll('*').forEach(el => {
72
+ el.classList.add(...scopeClasses);
73
+ });
74
+ }
75
+
62
76
  const formErrorListCss = ".sc-digi-form-error-list-h{--digi--form-error-list--list--padding:var(--digi--gutter--smaller) 0 0 0;--digi--form-error-list--list--margin:0;--digi--form-error-list--item--padding:var(--digi--padding--smaller) 0 0 0;--digi--form-error-list--item--margin:0}.sc-digi-form-error-list-h .digi-form-error-list.sc-digi-form-error-list ul.sc-digi-form-error-list{list-style:none;padding:var(--digi--form-error-list--list--padding);margin:var(--digi--form-error-list--list--margin)}.sc-digi-form-error-list-h .digi-form-error-list.sc-digi-form-error-list ul.sc-digi-form-error-list>li.sc-digi-form-error-list{list-style:none;padding:var(--digi--form-error-list--item--padding);margin:var(--digi--form-error-list--item--margin)}";
63
77
  const DigiFormErrorListStyle0 = formErrorListCss;
64
78
 
@@ -82,6 +96,24 @@ const FormErrorList = /*@__PURE__*/ proxyCustomElement(class FormErrorList exten
82
96
  async afMSetHeadingFocus() {
83
97
  this.setHeadingFocus();
84
98
  }
99
+ connectedCallback() {
100
+ this.observer = new MutationObserver((mutations) => {
101
+ const hasChildChanges = mutations.some(mutation => mutation.type === 'childList');
102
+ if (hasChildChanges) {
103
+ const hostElement = this.hostElement.querySelector('.digi-form-error-list');
104
+ applyStencilScope(hostElement, hostElement);
105
+ }
106
+ });
107
+ this.observer.observe(this.hostElement, {
108
+ childList: true,
109
+ subtree: true
110
+ });
111
+ }
112
+ disconnectedCallback() {
113
+ if (this.observer) {
114
+ this.observer.disconnect();
115
+ }
116
+ }
85
117
  componentDidLoad() {
86
118
  this.setHeadingFocus();
87
119
  this.afOnReady.emit();
@@ -108,7 +140,7 @@ const FormErrorList = /*@__PURE__*/ proxyCustomElement(class FormErrorList exten
108
140
  this.afOnClickLink.emit({ id });
109
141
  }
110
142
  render() {
111
- return (h("div", { key: '59bc43d4b3dd0149647b50203cc1ae585d829006', class: "digi-form-error-list", id: this.afId }, h("digi-notification-alert", { key: 'a2b034276ff7549c9c0711202020e3753da7808d', ref: (el) => (this._notificationAlert = el), "af-heading": this.afHeading, "af-heading-level": this.afHeadingLevel, "af-variation": NotificationAlertVariation.DANGER }, this.afDescription && (h("digi-typography", { key: '3a61c65373b92a73694770f851c6727e27f853e7', "af-variation": TypographyVariation.SMALL }, h("p", { key: 'a088b4d084f5a6db85cedcb4f469f4dff803f8f6', class: "digi-form-error-list__description" }, this.afDescription))), h("slot", { key: '794c42cdece0d06945255b70a96a6992eb4dcd4c' }))));
143
+ return (h("div", { key: '9471a904e95c6304644d884e15aac90d3b0fbad1', class: "digi-form-error-list", id: this.afId }, h("digi-notification-alert", { key: '13a8bf3037570f929f470cc2a531156d552ca53a', ref: (el) => (this._notificationAlert = el), "af-heading": this.afHeading, "af-heading-level": this.afHeadingLevel, "af-variation": NotificationAlertVariation.DANGER }, this.afDescription && (h("digi-typography", { key: '8e8ef106286f426b0cbcfd904407582e79e8ce24', "af-variation": TypographyVariation.SMALL }, h("p", { key: '51175a8da94efe46a262ce365994aa3c23983f2e', class: "digi-form-error-list__description" }, this.afDescription))), h("slot", { key: 'b9f5287d0e2c0326100a094a48fa5e7ab314b92f' }))));
112
144
  }
113
145
  get hostElement() { return this; }
114
146
  static get style() { return DigiFormErrorListStyle0; }
@@ -5,7 +5,7 @@ import { d as detectClickOutside } from './p-430607cb.js';
5
5
  import { d as detectFocusOutside } from './p-ee33960b.js';
6
6
  import { _ as _t } from './p-903a27d9.js';
7
7
  import { d as defineCustomElement$4 } from './p-70fad0ea.js';
8
- import { d as defineCustomElement$3 } from './p-13c09880.js';
8
+ import { d as defineCustomElement$3 } from './p-f84f590e.js';
9
9
  import { d as defineCustomElement$2 } from './p-14119afa.js';
10
10
 
11
11
  const formFilterCss = ".sc-digi-form-filter-h{--digi--form-filter--footer--background:var(--digi--color--background--secondary-accent);--digi--form-filter--scroll--max-height:18.75rem;--digi--form-filter--scroll--max-height--large:23.4275rem;--digi--form-filter--scroll--padding:var(--digi--padding--small);--digi--form-filter--reset-button--margin-left:var(--digi--padding--small);--digi--form-filter--legend__border-bottom:var(--digi--border-width--primary) solid var(--digi--color--divider--primary);--digi--form-filter--list--margin:0;--digi--form-filter--list--padding:var(--digi--gutter--small) 0 0 0;--digi--form-filter--item--margin:var(--digi--gutter--small) 0;--digi--form-filter--toggle-icon--transition:ease-in-out 0.2s all;--digi--form-filter--dropdown--box-shadow:0 0.125rem 0.375rem 0 rgba(0, 0, 0, 0.7);--digi--form-filter--dropdown--border-radius:var(--digi--border--radius--primary);--digi--form-filter--dropdown--background:var(--digi--color--background--primary);--digi--form-filter--dropdown--min-width:18.75rem;--digi--form-filter--dropdown--margin-top:var(--digi--gutter--small);--digi--form-filter--dropdown--z-index:999;--digi--form-filter--toggle-button-indicator--color--default:transparent;--digi--form-filter--toggle-button-indicator--color--active:var(--digi--color--marking--indication--primary);--digi--form-filter--toggle-button-indicator--width:0.625rem;--digi--form-filter--toggle-button-indicator--height:0.625rem;--digi--form-filter--toggle-button-indicator--margin-right:var(--digi--margin--small);--digi--form-filter--toggle-button-indicator--margin-left:calc(var(--digi--margin--smaller) * -1);--digi--form-filter--toggle-button--text--margin-right:var(--digi--margin--smaller);--digi--form-filter--toggle-icon--width:0.875rem;--digi--form-filter--toggle-icon--height:0.875rem;--digi--form-filter--legend--font-weight:var(--digi--typography--preamble--font-weight--desktop);--digi--form-filter--legend--font-family:var(--digi--global--typography--font-family--default);--digi--form-filter--legend--font-size:var(--digi--typography--preamble--font-size--desktop)}.sc-digi-form-filter-h .digi-form-filter.sc-digi-form-filter{--INDICATOR--BACKGROUND:var(--digi--form-filter--toggle-button-indicator--color--default);--SCROLL--MAX-HEIGHT:var(--digi--form-filter--scroll--max-height);position:relative}.sc-digi-form-filter-h .digi-form-filter--open.sc-digi-form-filter .digi-form-filter__toggle-icon.sc-digi-form-filter{transform:rotate(-180deg)}.sc-digi-form-filter-h .digi-form-filter__toggle-icon.sc-digi-form-filter{transition:var(--digi--form-filter--toggle-icon--transition)}.sc-digi-form-filter-h .digi-form-filter__toggle-icon.sc-digi-form-filter-s>[slot^=icon],.sc-digi-form-filter-h .digi-form-filter__toggle-icon .sc-digi-form-filter-s>[slot^=icon]{--digi--icon--width:var(--digi--form-filter--toggle-icon--width);--digi--icon--height:var(--digi--form-filter--toggle-icon--height)}.sc-digi-form-filter-h .digi-form-filter__legend.sc-digi-form-filter{font-weight:var(--digi--form-filter--legend--font-weight);font-family:var(--digi--form-filter--legend--font-family);font-size:var(--digi--form-filter--legend--font-size)}.sc-digi-form-filter-h .digi-form-filter__scroll.sc-digi-form-filter{max-height:var(--SCROLL--MAX-HEIGHT);overflow-y:auto;padding:var(--digi--form-filter--scroll--padding);overflow-x:hidden}@media (min-width: 48rem){.sc-digi-form-filter-h .digi-form-filter__scroll.sc-digi-form-filter{--SCROLL--MAX-HEIGHT:var(--digi--form-filter--scroll--max-height--large)}}.sc-digi-form-filter-h .digi-form-filter__scroll.sc-digi-form-filter fieldset.sc-digi-form-filter{border:none}.sc-digi-form-filter-h .digi-form-filter__scroll.sc-digi-form-filter legend.sc-digi-form-filter{width:100%;border-bottom:var(--digi--form-filter--legend__border-bottom);padding-bottom:0.25rem}.sc-digi-form-filter-h .digi-form-filter__scroll.sc-digi-form-filter .legend-hidden.sc-digi-form-filter{border:0;clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sc-digi-form-filter-h .digi-form-filter__footer.sc-digi-form-filter{display:flex;align-items:center;justify-content:center;background:var(--digi--form-filter--footer--background);padding:var(--digi--form-filter--scroll--padding)}.sc-digi-form-filter-h .digi-form-filter__reset-button.sc-digi-form-filter{display:inline-block;margin-left:var(--digi--form-filter--reset-button--margin-left)}.sc-digi-form-filter-h .digi-form-filter__dropdown.sc-digi-form-filter{min-width:var(--digi--form-filter--dropdown--min-width);position:absolute;z-index:var(--digi--form-filter--dropdown--z-index);background:var(--digi--form-filter--dropdown--background);border-radius:var(--digi--form-filter--dropdown--border-radius);box-shadow:var(--digi--form-filter--dropdown--box-shadow);overflow:hidden;margin-top:var(--digi--form-filter--dropdown--margin-top)}@media (min-width: 48rem){.sc-digi-form-filter-h .digi-form-filter__dropdown--right.sc-digi-form-filter{right:0}}.sc-digi-form-filter-h .digi-form-filter__dropdown--hidden.sc-digi-form-filter{display:none}.sc-digi-form-filter-h .digi-form-filter__toggle-button-indicator.sc-digi-form-filter:before{content:\"\";width:var(--digi--form-filter--toggle-button-indicator--width);height:var(--digi--form-filter--toggle-button-indicator--height);background:var(--INDICATOR--BACKGROUND);display:inline-block;margin-right:var(--digi--form-filter--toggle-button-indicator--margin-right);border-radius:50% 50%;overflow:hidden;margin-left:var(--digi--form-filter--toggle-button-indicator--margin-left)}.sc-digi-form-filter-h .digi-form-filter__toggle-button-indicator--active.sc-digi-form-filter{--INDICATOR--BACKGROUND:var(--digi--form-filter--toggle-button-indicator--color--active)}.sc-digi-form-filter-h .digi-form-filter__list.sc-digi-form-filter{margin:var(--digi--form-filter--list--margin);padding:var(--digi--form-filter--list--padding)}.sc-digi-form-filter-h .digi-form-filter__item.sc-digi-form-filter{display:block}.sc-digi-form-filter-h .digi-form-filter__toggle-button-text.sc-digi-form-filter{margin-right:var(--digi--form-filter--toggle-button--text--margin-right)}";
@@ -79,6 +79,10 @@ const FormSelectFilter = /*@__PURE__*/ proxyCustomElement(class FormSelectFilter
79
79
  this.afOnSelect = createEvent(this, "afOnSelect", 7);
80
80
  this.afOnQueryChanged = createEvent(this, "afOnQueryChanged", 7);
81
81
  this._searchQuery = '';
82
+ /** True when `value` was set from outside (e.g. Angular CVA) — then value is selection master. */
83
+ this._valueIsMaster = false;
84
+ /** Guards internal `value` writes so they don't flip `_valueIsMaster`. */
85
+ this._updatingValueInternally = false;
82
86
  this.isOpen = false;
83
87
  this.focusListItemIndex = 0;
84
88
  this.focusInList = false;
@@ -112,17 +116,19 @@ const FormSelectFilter = /*@__PURE__*/ proxyCustomElement(class FormSelectFilter
112
116
  this.afFilterButtonAriaDescribedby = undefined;
113
117
  this.afErrorMessageIsAlert = true;
114
118
  }
115
- onValueChanged(value) {
116
- const joinedArray = [...value, ...this._selectedItems];
117
- const noDuplicates = joinedArray.filter((item, pos) => joinedArray.indexOf(item) === pos);
118
- if (noDuplicates && noDuplicates.length > 0) {
119
- if (this.afMultipleItems) {
120
- this._selectedItems = [...noDuplicates];
121
- }
122
- else {
123
- this._selectedItems = [noDuplicates[0]];
124
- }
119
+ onValueChanged(newValue) {
120
+ let parsedValue;
121
+ if (typeof newValue === 'string') {
122
+ parsedValue = newValue ? JSON.parse(newValue) : [];
123
+ }
124
+ else {
125
+ parsedValue = newValue || [];
126
+ }
127
+ if (!this._updatingValueInternally) {
128
+ this._valueIsMaster = true;
125
129
  }
130
+ this.value = parsedValue;
131
+ this.syncValueAndSelectedListItems('valueChange');
126
132
  }
127
133
  handleListItems() {
128
134
  if (this.afListItems) {
@@ -138,15 +144,7 @@ const FormSelectFilter = /*@__PURE__*/ proxyCustomElement(class FormSelectFilter
138
144
  }
139
145
  this.giveItemsValueIfNoneExist();
140
146
  this.sortListAlphabetically();
141
- const selectedListItems = this._afListItems.filter((item) => item.selected);
142
- if (selectedListItems && selectedListItems.length > 0) {
143
- this._selectedItems = [...selectedListItems];
144
- this.afOnSelect.emit(this._selectedItems);
145
- this.value = this._selectedItems;
146
- }
147
- else if (this.value && this.value.length > 0) {
148
- this._selectedItems = [...this.value];
149
- }
147
+ this.syncValueAndSelectedListItems('afListItemsChange');
150
148
  this.filterResults();
151
149
  }
152
150
  catch (e) {
@@ -198,14 +196,58 @@ const FormSelectFilter = /*@__PURE__*/ proxyCustomElement(class FormSelectFilter
198
196
  focusOnElement() {
199
197
  this._toggleButton.focus();
200
198
  }
201
- debounce(func, timeout = 300) {
202
- let timer;
203
- return (...args) => {
204
- clearTimeout(timer);
205
- timer = setTimeout(() => {
206
- func.apply(this, args);
207
- }, timeout);
208
- };
199
+ componentWillLoad() {
200
+ /* Stencil @Watch does not run for the initial prop value.
201
+ * Given that Angular Control Value Accessors writeValue often sets `value` before willLoad —
202
+ * we need to force a value check here with bootstrapInitialValue .*/
203
+ this.bootstrapInitialValue();
204
+ this.handleListItems();
205
+ }
206
+ bootstrapInitialValue() {
207
+ if (typeof this.value === 'string') {
208
+ const parsed = this.value ? JSON.parse(this.value) : [];
209
+ this._updatingValueInternally = true;
210
+ this.value = parsed;
211
+ this._updatingValueInternally = false;
212
+ }
213
+ if (Array.isArray(this.value) && this.value.length > 0) {
214
+ this._valueIsMaster = true;
215
+ }
216
+ }
217
+ /**
218
+ * Keep `value` and `afListItems[].selected` in sync.
219
+ * - If `value` was set externally (`_valueIsMaster`), value wins on list updates.
220
+ * - Otherwise selection is seeded from `afListItems[].selected` (React/vanilla data-as-master).
221
+ * Does not emit `afOnSelect` — that is reserved for user interaction so Angular Control Value Accessors
222
+ * does not get feedback loops on prop sync.
223
+ */
224
+ syncValueAndSelectedListItems(whereDidTheChangeComeFrom) {
225
+ if (!this._afListItems) {
226
+ return;
227
+ }
228
+ if (whereDidTheChangeComeFrom === 'afListItemsChange') {
229
+ if (this._valueIsMaster) {
230
+ this.applyValueToListItems(this.value);
231
+ }
232
+ else {
233
+ this._selectedItems = this._afListItems.filter((item) => item.selected);
234
+ this.setValueInternally([...this._selectedItems]);
235
+ }
236
+ return;
237
+ }
238
+ this.applyValueToListItems(this.value);
239
+ }
240
+ applyValueToListItems(value) {
241
+ const selectedValues = new Set((value !== null && value !== void 0 ? value : []).map((item) => item.value));
242
+ this._afListItems.forEach((item) => {
243
+ item.selected = selectedValues.has(item.value);
244
+ });
245
+ this._selectedItems = this._afListItems.filter((item) => selectedValues.has(item.value));
246
+ }
247
+ setValueInternally(nextValue) {
248
+ this._updatingValueInternally = true;
249
+ this.value = nextValue;
250
+ this._updatingValueInternally = false;
209
251
  }
210
252
  setClosed(focusToggleButton = false) {
211
253
  this.isOpen = false;
@@ -264,9 +306,6 @@ const FormSelectFilter = /*@__PURE__*/ proxyCustomElement(class FormSelectFilter
264
306
  this.setClosed(true);
265
307
  this.afOnFilterClosed.emit();
266
308
  }
267
- componentWillLoad() {
268
- this.handleListItems();
269
- }
270
309
  setFocusItem() {
271
310
  const element = this.inputItem(`${this.afId}-select-filter-list`, this.focusListItemIndex);
272
311
  if (element) {
@@ -371,16 +410,14 @@ const FormSelectFilter = /*@__PURE__*/ proxyCustomElement(class FormSelectFilter
371
410
  }
372
411
  filterResults() {
373
412
  if (this._searchQuery && this._searchQuery.length > 0) {
374
- this._filteredResult = [
375
- ...this._afListItems.filter((item) => {
376
- return item.label
377
- .toLowerCase()
378
- .includes(this._searchQuery.toLowerCase());
379
- })
380
- ];
413
+ this._filteredResult = this._afListItems.filter((item) => {
414
+ return item.label
415
+ .toLowerCase()
416
+ .includes(this._searchQuery.toLowerCase());
417
+ });
381
418
  }
382
419
  else {
383
- this._filteredResult = [...this._afListItems];
420
+ this._filteredResult = this._afListItems;
384
421
  }
385
422
  }
386
423
  inputSearchKeyboardHandler(e) {
@@ -400,7 +437,7 @@ const FormSelectFilter = /*@__PURE__*/ proxyCustomElement(class FormSelectFilter
400
437
  }
401
438
  resetSelectItems(close = false) {
402
439
  this._selectedItems = [];
403
- this.value = [];
440
+ this.setValueInternally([]);
404
441
  this.afOnSelect.emit([]);
405
442
  this._searchQuery = '';
406
443
  this.filterResults();
@@ -430,7 +467,7 @@ const FormSelectFilter = /*@__PURE__*/ proxyCustomElement(class FormSelectFilter
430
467
  this._selectedItems = [item];
431
468
  this.emitFilterClosedEvent();
432
469
  }
433
- this.value = this._selectedItems;
470
+ this.setValueInternally([...this._selectedItems]);
434
471
  this.afOnSelect.emit(this._selectedItems);
435
472
  this.filterResults();
436
473
  }
@@ -521,15 +558,15 @@ const FormSelectFilter = /*@__PURE__*/ proxyCustomElement(class FormSelectFilter
521
558
  } }, h("slot", { name: "empty-search-result" })))));
522
559
  }
523
560
  render() {
524
- return (h(Host, { key: '62acc267c182d80703024115c50dddec8413ad3c', tabindex: -1 }, h("div", { key: 'feea697aee9107e7b90792251c7661ff0ada1a98', class: Object.assign({ 'digi-form-select-filter': true }, this.cssModifiers), role: "application", id: `${this.afId}-identifier` }, h("digi-form-label", { key: '90a45c8dc587e1d236f27b03c0e2f71dc8477b7f', afLabel: this.afFilterButtonTextLabel, afFor: `${this.afId}`, afId: `${this.afId}-label`, class: "digi-form-select-filter__label", afDescription: this.afDescription, afRequired: this.afRequired, afAnnounceIfOptional: this.afAnnounceIfOptional, afRequiredText: this.afRequiredText, afAnnounceIfOptionalText: this.afAnnounceIfOptionalText }), h("digi-util-keydown-handler", { key: '703080c3a43d0d8ccd233560b2287d9127a87a8b', onAfOnEsc: () => this.escHandler() }, h("button", { key: '54498ff1eb5b930a8173c4dfdb950b8a94ba590e', type: "button", id: `${this.afId}`, class: "digi-form-select-filter__toggle-button", onClick: () => this.toggleDropdown(), ref: (el) => (this._toggleButton = el), "aria-haspopup": "true", "aria-label": this.ariaLabel, "aria-describedby": `${this.afFilterButtonAriaDescribedby} ${this.afId}--validation-message`, "aria-controls": `${this.afId}-dropdown-menu`, "aria-expanded": this.isOpen }, h("div", { key: '4b913f6134090cb598f7dbc331c290ef655f687e', class: Object.assign({ 'digi-form-filter__toggle-button-wrapper': true }, this.cssModifiersToggleButtonWrapper) }, h("digi-icon-check", { key: 'ccb42c85db8f9bf3d39fd3864b8c02aacb98c6d9', class: Object.assign({ 'digi-form-select-filter__toggle-button-indicator': true }, this.cssModifiersToggleButtonIndicator), slot: "icon" }), h("span", { key: '704782f9bc33016df16c8492b29721723ed591fb', class: "digi-form-select-filter__toggle-button-text" }, this.renderButtonLabel)), h("digi-icon-chevron-down", { key: '83211db95b19280716ee81611a183816fa00b1d0', class: "digi-form-select-filter__toggle-icon" })), h("div", { key: 'a88f7aa3f0923e34b0f8866a936261ecbb0701e6', id: `${this.afId}-dropdown-menu`, tabindex: this.isOpen ? '-1' : undefined, class: {
561
+ return (h(Host, { key: '1a07fd41c8f9ccc1fbd0ca768fd3f87fc719dec4', tabindex: -1 }, h("div", { key: '6492705706e717048243892a3f8b269fa26dc6b9', class: Object.assign({ 'digi-form-select-filter': true }, this.cssModifiers), role: "application", id: `${this.afId}-identifier` }, h("digi-form-label", { key: '99d0e29f7dad712882c0a3c5fd3f468af7dd5c55', afLabel: this.afFilterButtonTextLabel, afFor: `${this.afId}`, afId: `${this.afId}-label`, class: "digi-form-select-filter__label", afDescription: this.afDescription, afRequired: this.afRequired, afAnnounceIfOptional: this.afAnnounceIfOptional, afRequiredText: this.afRequiredText, afAnnounceIfOptionalText: this.afAnnounceIfOptionalText }), h("digi-util-keydown-handler", { key: 'a53d9d63b71557554da9442511af10870e345263', onAfOnEsc: () => this.escHandler() }, h("button", { key: '260c22654935d7422d5fc30a47fbd0c37ec00f0c', type: "button", id: `${this.afId}`, class: "digi-form-select-filter__toggle-button", onClick: () => this.toggleDropdown(), ref: (el) => (this._toggleButton = el), "aria-haspopup": "true", "aria-label": this.ariaLabel, "aria-describedby": `${this.afFilterButtonAriaDescribedby} ${this.afId}--validation-message`, "aria-controls": `${this.afId}-dropdown-menu`, "aria-expanded": this.isOpen }, h("div", { key: 'b92a13d75d3e320a39ca99128354178c01c1ff0d', class: Object.assign({ 'digi-form-filter__toggle-button-wrapper': true }, this.cssModifiersToggleButtonWrapper) }, h("digi-icon-check", { key: '37ab06f299d37c36516a7b809472bb300d244c18', class: Object.assign({ 'digi-form-select-filter__toggle-button-indicator': true }, this.cssModifiersToggleButtonIndicator), slot: "icon" }), h("span", { key: 'ca373143f83ab3da2e6579b3a0e1e145a10d2235', class: "digi-form-select-filter__toggle-button-text" }, this.renderButtonLabel)), h("digi-icon-chevron-down", { key: '1a62747454653ceafa650e329301a8975179d75d', class: "digi-form-select-filter__toggle-icon" })), h("div", { key: 'b0cafd4ce8ad8017f60e8fab88417512a6698f20', id: `${this.afId}-dropdown-menu`, tabindex: this.isOpen ? '-1' : undefined, class: {
525
562
  'digi-form-select-filter__dropdown': true,
526
563
  'digi-form-select-filter__dropdown--right': this.afAlignRight,
527
564
  'digi-form-select-filter__dropdown--hidden': !this.isOpen
528
- } }, h("fieldset", { key: 'b79878e2277511c2543663776189ba0a42047894' }, h("div", { key: 'a0d832fe7834a55eb92bf48a9182057886d5e82e', class: "digi-form-select-filter__header" }, h("legend", { key: '59acc3f35f85559e958656e00216ad9439448344', class: "digi-form-select-filter__legend" }, this.afFilterButtonTextLabel), h("digi-form-input", { key: 'ed1ba547b5c69791779d0127a58dff9c86a48976', afLabel: this.afName, afId: `${this.afId}-search`, afVariation: FormInputVariation.MEDIUM, afType: FormInputType.SEARCH, afValidation: FormInputValidation.NEUTRAL, onAfOnFocus: () => {
565
+ } }, h("fieldset", { key: 'f98295e8e804f93428489daf5844df9854ed6053' }, h("div", { key: 'c614d142260b6eaa0b6ea643b34f135551aaf1ec', class: "digi-form-select-filter__header" }, h("legend", { key: 'f1c94bf0ea6e3745d8965fbe5bfdf0a298d7b4f0', class: "digi-form-select-filter__legend" }, this.afFilterButtonTextLabel), h("digi-form-input", { key: '6def27fd94b52e666c3e8dac4385ddf874f85bd1', afLabel: this.afName, afId: `${this.afId}-search`, afVariation: FormInputVariation.MEDIUM, afType: FormInputType.SEARCH, afValidation: FormInputValidation.NEUTRAL, onAfOnFocus: () => {
529
566
  this.focusListItemIndex = 0;
530
567
  }, onAfOnKeyup: (e) => {
531
568
  this.inputSearchKeyboardHandler(e.detail);
532
- }, onAfOnInput: (e) => this.inputSearchInputHandler(e.detail), afValue: this._searchQuery, class: "digi-form-select-filter__search-input", afAriaControls: `${this.afId}-select-filter-list`, afAutocomplete: "off", afAriaAutocomplete: "none" }), this.renderEmptyStateBox()), h("div", { key: '793751dc225d514f42af1a9ec017b7faa9d363c5', class: "digi-form-select-filter__scroll" }, h("digi-util-keydown-handler", { key: '57007b01069dee8bfa0154cbe6d35d91f20894fd', onAfOnDown: (e) => this.downHandler(e), onAfOnRight: (e) => this.downHandler(e), onAfOnUp: (e) => this.upHandler(e), onAfOnLeft: (e) => this.upHandler(e), onAfOnHome: (e) => this.homeHandler(e), onAfOnEnd: (e) => this.endHandler(e), onAfOnEnter: (e) => this.enterHandler(e), onAfOnSpace: (e) => this.spaceHandler(e), onAfOnTab: () => this.tabHandler(), onAfOnShiftTab: () => this.shiftHandler() }, h("ul", { key: '45d0622dc2e50e8dcba11d21696faa0a6b230516', class: "digi-form-select-filter__list", "aria-labelledby": `${this.afId}`, id: `${this.afId}-select-filter-list`, role: this.afMultipleItems ? '' : 'radiogroup', "aria-invalid": this.afMultipleItems
569
+ }, onAfOnInput: (e) => this.inputSearchInputHandler(e.detail), afValue: this._searchQuery, class: "digi-form-select-filter__search-input", afAriaControls: `${this.afId}-select-filter-list`, afAutocomplete: "off", afAriaAutocomplete: "none" }), this.renderEmptyStateBox()), h("div", { key: 'bcfc446573bb4b8f88aabdde1a8b6da1a6ac51f7', class: "digi-form-select-filter__scroll" }, h("digi-util-keydown-handler", { key: '656253e1dba64d2906ae9b195063300fe5cbd900', onAfOnDown: (e) => this.downHandler(e), onAfOnRight: (e) => this.downHandler(e), onAfOnUp: (e) => this.upHandler(e), onAfOnLeft: (e) => this.upHandler(e), onAfOnHome: (e) => this.homeHandler(e), onAfOnEnd: (e) => this.endHandler(e), onAfOnEnter: (e) => this.enterHandler(e), onAfOnSpace: (e) => this.spaceHandler(e), onAfOnTab: () => this.tabHandler(), onAfOnShiftTab: () => this.shiftHandler() }, h("ul", { key: '4a42a8ee02e3921710aa00826b31558ed1f9a485', class: "digi-form-select-filter__list", "aria-labelledby": `${this.afId}`, id: `${this.afId}-select-filter-list`, role: this.afMultipleItems ? '' : 'radiogroup', "aria-invalid": this.afMultipleItems
533
570
  ? 'false'
534
571
  : this.afValidation ===
535
572
  FormSelectFilterValidation.ERROR
@@ -538,11 +575,11 @@ const FormSelectFilter = /*@__PURE__*/ proxyCustomElement(class FormSelectFilter
538
575
  ? false
539
576
  : this.afRequired
540
577
  ? 'true'
541
- : 'false' }, this.showNeutralValue && (h("li", { key: '1d1a778273c5ac8f3d30b65048162e47b19f00cd', class: "digi-form-select-filter__item", role: "radio", "aria-required": this.afMultipleItems
578
+ : 'false' }, this.showNeutralValue && (h("li", { key: '40d30a579a332fec15b5c3f38865eacce0a8c2ee', class: "digi-form-select-filter__item", role: "radio", "aria-required": this.afMultipleItems
542
579
  ? 'false'
543
580
  : this.afRequired
544
581
  ? 'true'
545
- : 'false', "aria-checked": this._selectedItems.length === 0 ? 'true' : 'false', onClick: () => this.resetSelectItems(true), tabIndex: 0, "aria-label": this.afFilterButtonText }, this._selectedItems.length === 0 && (h("digi-icon-check", { key: 'aa7ea145f0ad6f125f9df0ba11aaf90d0113c20c', class: "digi-form-select-filter__item__icon", "aria-hidden": 'true' })), this.afFilterButtonText)), this._filteredResult &&
582
+ : 'false', "aria-checked": this._selectedItems.length === 0 ? 'true' : 'false', onClick: () => this.resetSelectItems(true), tabIndex: 0, "aria-label": this.afFilterButtonText }, this._selectedItems.length === 0 && (h("digi-icon-check", { key: '43f446e70c707681dd1de50e11af511e8c4d060e', class: "digi-form-select-filter__item__icon", "aria-hidden": 'true' })), this.afFilterButtonText)), this._filteredResult &&
546
583
  this._filteredResult.map((item, index) => {
547
584
  return (h("li", { class: "digi-form-select-filter__item", key: index, dir: item.dir, lang: item.lang, "aria-checked": this.isSelected(item.value) ? 'true' : 'false', role: this.afMultipleItems ? 'checkbox' : 'radio', "aria-required": this.afMultipleItems
548
585
  ? 'false'
@@ -558,9 +595,9 @@ const FormSelectFilter = /*@__PURE__*/ proxyCustomElement(class FormSelectFilter
558
595
  : index === 0
559
596
  ? 0
560
597
  : -1 }, this.isSelected(item.value) && (h("digi-icon-check", { class: "digi-form-select-filter__item__icon", "aria-hidden": 'true' })), item.label));
561
- }))))), this.afMultipleItems && (h("div", { key: '428fecfda65ca5dab87d15049010462f38bf49f3', class: "digi-form-select-filter__footer" }, !this.afHideResetButton && (h("digi-button", { key: 'e8ed222dada0ef4e78d3d66062c7d432e5231671', "af-variation": "secondary", "af-aria-label": this.afResetButtonTextAriaLabel, onClick: () => this.resetSelectItems(), class: "digi-form-select-filter__reset-button" }, this.afResetButtonText)), h("digi-util-keydown-handler", { key: 'd151b5df0a4002633e0966d44d0482183b7ecfe5', onAfOnUp: () => this.setFocusItem() }, h("digi-button", { key: '207d29e920ec9db9aa2f2ba29bd650453210e8b3', ref: (el) => (this._submitButton = el), "af-variation": "primary", "af-aria-label": this.afSubmitButtonTextAriaLabel, onClick: () => {
598
+ }))))), this.afMultipleItems && (h("div", { key: 'f94a71fb292baf936c9358e33316f1ee93ce37f3', class: "digi-form-select-filter__footer" }, !this.afHideResetButton && (h("digi-button", { key: '305beb8e5f817d46d5f7b5364e4125c101cbaed5', "af-variation": "secondary", "af-aria-label": this.afResetButtonTextAriaLabel, onClick: () => this.resetSelectItems(), class: "digi-form-select-filter__reset-button" }, this.afResetButtonText)), h("digi-util-keydown-handler", { key: '3bf7f1f1bcd2a4e07fd900ba4b6377decc617cd7', onAfOnUp: () => this.setFocusItem() }, h("digi-button", { key: 'eaa1389239c8b5e93ecac2ed2f6ed09fcda81863', ref: (el) => (this._submitButton = el), "af-variation": "primary", "af-aria-label": this.afSubmitButtonTextAriaLabel, onClick: () => {
562
599
  this.setClosed(true);
563
- }, class: "digi-form-select-filter__submit-button" }, this.afSubmitButtonText)))))), h("div", { key: '514a8e6c957b4293f095b0718139ac47e64648ab', class: "digi-form-select__footer" }, h("div", { key: '3b5ceffdcbf3f1fd4671bc73fdea48a573cd0379', "aria-atomic": "true", role: this.errorMessageIsAlert ? 'alert' : null, id: `${this.afId}--validation-message` }, this.showValidation() && (h("digi-form-validation-message", { key: 'faab034ee053826ebd82fda81273d0f815b648ec', "af-variation": this.afValidation }, this.afValidationText)))))));
600
+ }, class: "digi-form-select-filter__submit-button" }, this.afSubmitButtonText)))))), h("div", { key: '213a685ba0d080e873721d526c1517e62f1779be', class: "digi-form-select__footer" }, h("div", { key: '81b470b19af8e472e50a789a6116448b8204359e', "aria-atomic": "true", role: this.errorMessageIsAlert ? 'alert' : null, id: `${this.afId}--validation-message` }, this.showValidation() && (h("digi-form-validation-message", { key: '457f29208d032eb29e7bb94c9db9fb9634866524', "af-variation": this.afValidation }, this.afValidationText)))))));
564
601
  }
565
602
  get hostElement() { return this; }
566
603
  static get watchers() { return {
@@ -115,7 +115,7 @@ const FormCheckbox = /*@__PURE__*/ proxyCustomElement(class FormCheckbox extends
115
115
  this.afOnInput.emit(e);
116
116
  }
117
117
  render() {
118
- return (h(Host, { key: '93a52532d5ee8e2b89982b3d06509c16b3656bce', tabindex: -1 }, h("div", { key: '3f2fe30e35c36080d80fdec5c57abf8e310ae14b', class: Object.assign({ 'digi-form-checkbox': true }, this.cssModifiers) }, h("input", { key: 'a45c26da379bff48830f0b03ceebcf24b06c3b17', class: "digi-form-checkbox__input", ref: (el) => {
118
+ return (h(Host, { key: 'e8ca1dfe96537dd438a4b6c206adfc7c9fd64d9c', tabindex: -1 }, h("div", { key: '850911b7ffdcea222b12c2c883cf93b63f703b4f', class: Object.assign({ 'digi-form-checkbox': true }, this.cssModifiers) }, h("input", { key: '923a49d0402e6b3034d3e8e6d43033692695c830', class: "digi-form-checkbox__input", ref: (el) => {
119
119
  var _a;
120
120
  this._input = el;
121
121
  (_a = this === null || this === void 0 ? void 0 : this.afInputRef) === null || _a === void 0 ? void 0 : _a.call(this, el);
@@ -123,7 +123,7 @@ const FormCheckbox = /*@__PURE__*/ proxyCustomElement(class FormCheckbox extends
123
123
  ? null
124
124
  : `${this.afAriaDescribedby ? `${this.afAriaDescribedby} ` : ''}${this.afDescription ? `${this.afId}-description` : ''}`, "aria-labelledby": this.afAriaLabelledby, "aria-label": this.afAriaLabel, "aria-invalid": this.afValidation === FormCheckboxValidation.ERROR
125
125
  ? 'true'
126
- : 'false', required: this.afRequired, id: this.afId, name: this.afName, type: "checkbox", checked: this.afChecked, value: this.afValue, indeterminate: this.afIndeterminate, autofocus: this.afAutofocus ? this.afAutofocus : null }), h("label", { key: '54cd68f1c10fd023e9dd81bd0fabb2920b911c12', htmlFor: this.afId, class: "digi-form-checkbox__label" }, h("span", { key: 'c7184f48868d38d04485a48f214cc3c37d862ba4', class: "digi-form-checkbox__box" }), this.afLabel), !!this.afDescription && (h("p", { key: 'afc00a7de3cef740bdbf23607cd9247887752759', id: `${this.afId}-description`, class: "digi-form-checkbox__description" }, this.afDescription)))));
126
+ : 'false', required: this.afRequired, id: this.afId, name: this.afName, type: "checkbox", checked: this.afChecked, value: this.afValue, indeterminate: this.afIndeterminate, autofocus: this.afAutofocus ? this.afAutofocus : null }), h("label", { key: 'dccbd4e83dbc757483a18ac22d1539ef83dfb534', htmlFor: this.afId, class: "digi-form-checkbox__label" }, h("span", { key: '1cbc88be9d74dab3e04472bc9462712377447d4a', class: "digi-form-checkbox__box" }), this.afLabel), !!this.afDescription && (h("p", { key: 'bdab264d9d13520858c581d2664c0d53171a1415', id: `${this.afId}-description`, class: "digi-form-checkbox__description" }, this.afDescription)))));
127
127
  }
128
128
  get hostElement() { return this; }
129
129
  static get watchers() { return {
@@ -226,6 +226,14 @@
226
226
  "value": ""
227
227
  },
228
228
  "attributes": [
229
+ {
230
+ "name": "af-announce-if-optional",
231
+ "description": "Sätt denna till true om formuläret innehåller fler obligatoriska fält än valfria."
232
+ },
233
+ {
234
+ "name": "af-announce-if-optional-text",
235
+ "description": "Sätter text för afAnnounceIfOptional."
236
+ },
229
237
  {
230
238
  "name": "af-close-calendar-aria-label",
231
239
  "description": "Aria-label till knappen som stänger kalendern"
@@ -772,7 +780,7 @@
772
780
  },
773
781
  {
774
782
  "name": "af-tab-index",
775
- "description": "Tabindex"
783
+ "description": ""
776
784
  },
777
785
  {
778
786
  "name": "af-validation",