@designsystem-se/af 38.2.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 (178) hide show
  1. package/components/digi-form-select-filter.js +84 -47
  2. package/dist/cjs/digi-arbetsformedlingen.cjs.js +1 -1
  3. package/dist/cjs/digi-button_11.cjs.entry.js +1194 -0
  4. package/dist/cjs/digi-calendar-datepicker.cjs.entry.js +7 -7
  5. package/dist/cjs/digi-code-block_3.cjs.entry.js +6 -6
  6. package/dist/cjs/digi-dialog.cjs.entry.js +6 -6
  7. package/dist/cjs/digi-footer-card.cjs.entry.js +29 -0
  8. package/dist/cjs/digi-footer.cjs.entry.js +74 -0
  9. package/dist/cjs/digi-form-error-list.cjs.entry.js +6 -6
  10. package/dist/cjs/digi-form-file-upload.cjs.entry.js +9 -10
  11. package/dist/cjs/digi-form-input-search.cjs.entry.js +6 -7
  12. package/dist/cjs/digi-form-receipt.cjs.entry.js +6 -6
  13. package/dist/cjs/digi-header-avatar.cjs.entry.js +114 -0
  14. package/dist/cjs/digi-header-navigation-item.cjs.entry.js +27 -0
  15. package/dist/cjs/digi-header-navigation.cjs.entry.js +228 -0
  16. package/dist/cjs/digi-header-notification.cjs.entry.js +23 -0
  17. package/dist/cjs/digi-header.cjs.entry.js +115 -0
  18. package/dist/cjs/digi-icon-accessibility-universal.cjs.entry.js +30 -0
  19. package/dist/cjs/digi-icon-bars.cjs.entry.js +30 -0
  20. package/dist/cjs/digi-icon-bell-filled.cjs.entry.js +30 -0
  21. package/dist/cjs/digi-icon-envelope.cjs.entry.js +30 -0
  22. package/dist/cjs/{digi-link-external.cjs.entry.js → digi-icon-external-link-alt_2.cjs.entry.js} +24 -0
  23. package/dist/cjs/digi-icon-globe.cjs.entry.js +30 -0
  24. package/dist/cjs/digi-icon-sign.cjs.entry.js +30 -0
  25. package/dist/cjs/digi-icon-x.cjs.entry.js +30 -0
  26. package/dist/cjs/digi-layout-block_2.cjs.entry.js +92 -0
  27. package/dist/cjs/digi-link.cjs.entry.js +75 -0
  28. package/dist/cjs/digi-logo.cjs.entry.js +49 -0
  29. package/dist/cjs/digi-media-image_2.cjs.entry.js +167 -0
  30. package/dist/cjs/digi-navigation-pagination.cjs.entry.js +6 -6
  31. package/dist/cjs/digi-navigation-sidebar-button.cjs.entry.js +30 -0
  32. package/dist/cjs/digi-notification-alert.cjs.entry.js +6 -6
  33. package/dist/cjs/digi-notification-error-page.cjs.entry.js +6 -6
  34. package/dist/cjs/digi-title-logo.cjs.entry.js +133 -0
  35. package/dist/cjs/digi-tools-feedback.cjs.entry.js +6 -6
  36. package/dist/cjs/digi-typography.cjs.entry.js +26 -0
  37. package/dist/cjs/digi-util-breakpoint-observer.cjs.entry.js +48 -0
  38. package/dist/cjs/footer-card-variation.enum-99555edc.js +8 -0
  39. package/dist/cjs/{form-input-type.enum-9c8ee12a.js → form-input-type.enum-1fb2180a.js} +14 -0
  40. package/dist/cjs/{form-file-upload-variation.enum-634cfae8.js → form-validation-message-variation.enum-c5ec3e2d.js} +7 -0
  41. package/dist/cjs/index-7a477838.js +84 -20
  42. package/dist/cjs/index.cjs.js +73 -73
  43. package/dist/cjs/layout-container-max-width.enum-7e637f44.js +21 -0
  44. package/dist/cjs/loader.cjs.js +1 -1
  45. package/dist/cjs/logo-color.enum-76f6c506.js +7 -0
  46. package/dist/cjs/{typography-variation.enum-c0ef9190.js → typography-variation.enum-9aab5027.js} +28 -33
  47. package/dist/collection/components/_form/form-select-filter/form-select-filter.js +85 -48
  48. package/dist/digi-arbetsformedlingen/design-tokens/components/_logo.variables.scss +2 -0
  49. package/dist/digi-arbetsformedlingen/digi-arbetsformedlingen.esm.js +1 -1
  50. package/dist/digi-arbetsformedlingen/index.esm.js +1 -1
  51. package/dist/digi-arbetsformedlingen/{p-8833044b.entry.js → p-02731621.entry.js} +1 -1
  52. package/dist/digi-arbetsformedlingen/p-0ef5ec06.entry.js +1 -0
  53. package/dist/digi-arbetsformedlingen/p-10261517.entry.js +1 -0
  54. package/dist/digi-arbetsformedlingen/{p-97f66789.entry.js → p-25371300.entry.js} +1 -1
  55. package/dist/digi-arbetsformedlingen/p-2c685e4f.entry.js +1 -0
  56. package/dist/digi-arbetsformedlingen/p-300aa9ef.js +1 -0
  57. package/dist/digi-arbetsformedlingen/p-3887bb40.js +1 -0
  58. package/dist/digi-arbetsformedlingen/p-3efa2f0b.entry.js +1 -0
  59. package/dist/digi-arbetsformedlingen/p-47ab0b39.entry.js +1 -0
  60. package/dist/digi-arbetsformedlingen/p-4e9f2f05.entry.js +1 -0
  61. package/dist/digi-arbetsformedlingen/{p-ddd659bf.entry.js → p-655cda00.entry.js} +1 -1
  62. package/dist/digi-arbetsformedlingen/p-6abd8d58.entry.js +1 -0
  63. package/dist/digi-arbetsformedlingen/p-7e77bbe7.entry.js +1 -0
  64. package/dist/digi-arbetsformedlingen/p-7e85c9e3.entry.js +1 -0
  65. package/dist/digi-arbetsformedlingen/p-8713df13.entry.js +1 -0
  66. package/dist/digi-arbetsformedlingen/p-8d9f4f10.entry.js +1 -0
  67. package/dist/digi-arbetsformedlingen/p-8ef41ad9.entry.js +1 -0
  68. package/dist/digi-arbetsformedlingen/{p-18880083.entry.js → p-986a1582.entry.js} +1 -1
  69. package/dist/digi-arbetsformedlingen/p-9dd41cc4.js +1 -0
  70. package/dist/digi-arbetsformedlingen/p-a0c77dff.entry.js +1 -0
  71. package/dist/digi-arbetsformedlingen/p-a2008b0a.entry.js +1 -0
  72. package/dist/digi-arbetsformedlingen/{p-e5bd5a7e.entry.js → p-b3283953.entry.js} +1 -1
  73. package/dist/digi-arbetsformedlingen/p-beba49c2.entry.js +1 -0
  74. package/dist/digi-arbetsformedlingen/p-bf80a488.entry.js +1 -0
  75. package/dist/digi-arbetsformedlingen/{p-a186888d.entry.js → p-c3e0f6dd.entry.js} +1 -1
  76. package/dist/digi-arbetsformedlingen/p-c553b73b.entry.js +1 -0
  77. package/dist/digi-arbetsformedlingen/p-c604694f.entry.js +1 -0
  78. package/dist/digi-arbetsformedlingen/{p-7f155bd5.entry.js → p-c604a480.entry.js} +1 -1
  79. package/dist/digi-arbetsformedlingen/p-c64b4626.js +1 -0
  80. package/dist/digi-arbetsformedlingen/p-c7a512ee.entry.js +1 -0
  81. package/dist/digi-arbetsformedlingen/p-c7d079d0.entry.js +1 -0
  82. package/dist/digi-arbetsformedlingen/p-c9dfda73.js +1 -0
  83. package/dist/digi-arbetsformedlingen/p-d6d7b1d8.entry.js +1 -0
  84. package/dist/digi-arbetsformedlingen/p-db246e29.entry.js +1 -0
  85. package/dist/digi-arbetsformedlingen/{p-39468f49.entry.js → p-de22ce43.entry.js} +1 -1
  86. package/dist/digi-arbetsformedlingen/p-ecc2e481.entry.js +1 -0
  87. package/dist/digi-arbetsformedlingen/p-ee88e3f1.js +1 -0
  88. package/dist/digi-arbetsformedlingen/p-f2e16531.entry.js +1 -0
  89. package/dist/digi-arbetsformedlingen/p-f5bcd77b.entry.js +1 -0
  90. package/dist/digi-arbetsformedlingen/p-f87c0b45.entry.js +1 -0
  91. package/dist/digi-arbetsformedlingen/p-fa77fcf7.entry.js +1 -0
  92. package/dist/esm/digi-arbetsformedlingen.js +1 -1
  93. package/dist/esm/digi-button_11.entry.js +1180 -0
  94. package/dist/esm/digi-calendar-datepicker.entry.js +6 -6
  95. package/dist/esm/digi-code-block_3.entry.js +6 -6
  96. package/dist/esm/digi-dialog.entry.js +6 -6
  97. package/dist/esm/digi-footer-card.entry.js +25 -0
  98. package/dist/esm/digi-footer.entry.js +70 -0
  99. package/dist/esm/digi-form-error-list.entry.js +6 -6
  100. package/dist/esm/digi-form-file-upload.entry.js +1 -2
  101. package/dist/esm/digi-form-input-search.entry.js +1 -2
  102. package/dist/esm/digi-form-receipt.entry.js +6 -6
  103. package/dist/esm/digi-header-avatar.entry.js +110 -0
  104. package/dist/esm/digi-header-navigation-item.entry.js +23 -0
  105. package/dist/esm/digi-header-navigation.entry.js +224 -0
  106. package/dist/esm/digi-header-notification.entry.js +19 -0
  107. package/dist/esm/digi-header.entry.js +111 -0
  108. package/dist/esm/digi-icon-accessibility-universal.entry.js +26 -0
  109. package/dist/esm/digi-icon-bars.entry.js +26 -0
  110. package/dist/esm/digi-icon-bell-filled.entry.js +26 -0
  111. package/dist/esm/digi-icon-envelope.entry.js +26 -0
  112. package/dist/esm/{digi-link-external.entry.js → digi-icon-external-link-alt_2.entry.js} +25 -2
  113. package/dist/esm/digi-icon-globe.entry.js +26 -0
  114. package/dist/esm/digi-icon-sign.entry.js +26 -0
  115. package/dist/esm/digi-icon-x.entry.js +26 -0
  116. package/dist/esm/digi-layout-block_2.entry.js +87 -0
  117. package/dist/esm/digi-link.entry.js +71 -0
  118. package/dist/esm/digi-logo.entry.js +45 -0
  119. package/dist/esm/digi-media-image_2.entry.js +162 -0
  120. package/dist/esm/digi-navigation-pagination.entry.js +6 -6
  121. package/dist/esm/digi-navigation-sidebar-button.entry.js +26 -0
  122. package/dist/esm/digi-notification-alert.entry.js +6 -6
  123. package/dist/esm/digi-notification-error-page.entry.js +6 -6
  124. package/dist/esm/digi-title-logo.entry.js +129 -0
  125. package/dist/esm/digi-tools-feedback.entry.js +6 -6
  126. package/dist/esm/digi-typography.entry.js +22 -0
  127. package/dist/esm/digi-util-breakpoint-observer.entry.js +44 -0
  128. package/dist/esm/footer-card-variation.enum-cc732148.js +8 -0
  129. package/dist/esm/{form-input-type.enum-3da3db27.js → form-input-type.enum-a6bba983.js} +15 -1
  130. package/dist/esm/{form-file-upload-variation.enum-9c49ec5e.js → form-validation-message-variation.enum-f7835fc5.js} +8 -1
  131. package/dist/esm/index-148a7577.js +84 -20
  132. package/dist/esm/index.js +6 -6
  133. package/dist/esm/layout-container-max-width.enum-c40018ac.js +21 -0
  134. package/dist/esm/loader.js +1 -1
  135. package/dist/esm/logo-color.enum-8593dca6.js +7 -0
  136. package/dist/esm/{typography-variation.enum-c85d7857.js → typography-variation.enum-fdda731c.js} +29 -34
  137. package/dist/types/components/_form/form-select-filter/form-select-filter.d.ts +22 -3
  138. package/dist/types/components.d.ts +2 -2
  139. package/hydrate/index.js +84 -47
  140. package/hydrate/index.mjs +84 -47
  141. package/package.json +1 -1
  142. package/dist/cjs/digi-button_27.cjs.entry.js +0 -1380
  143. package/dist/cjs/digi-form-input.cjs.entry.js +0 -194
  144. package/dist/cjs/digi-form-label_3.cjs.entry.js +0 -129
  145. package/dist/cjs/digi-form-select-filter.cjs.entry.js +0 -564
  146. package/dist/cjs/digi-icon-check.cjs.entry.js +0 -30
  147. package/dist/cjs/digi-icon-chevron-down.cjs.entry.js +0 -30
  148. package/dist/cjs/digi-icon-validation-error_2.cjs.entry.js +0 -53
  149. package/dist/cjs/form-input-search-variation.enum-e0e025b1.js +0 -15
  150. package/dist/cjs/form-input-variation.enum-c750520c.js +0 -29
  151. package/dist/cjs/form-validation-message-variation.enum-855ae0be.js +0 -8
  152. package/dist/digi-arbetsformedlingen/p-111fb07d.entry.js +0 -1
  153. package/dist/digi-arbetsformedlingen/p-1f956af8.js +0 -1
  154. package/dist/digi-arbetsformedlingen/p-2788683e.entry.js +0 -1
  155. package/dist/digi-arbetsformedlingen/p-2d2f6950.entry.js +0 -1
  156. package/dist/digi-arbetsformedlingen/p-30dc159d.entry.js +0 -1
  157. package/dist/digi-arbetsformedlingen/p-42ae53aa.entry.js +0 -1
  158. package/dist/digi-arbetsformedlingen/p-4841b4e1.js +0 -1
  159. package/dist/digi-arbetsformedlingen/p-59073668.entry.js +0 -1
  160. package/dist/digi-arbetsformedlingen/p-7933b555.js +0 -1
  161. package/dist/digi-arbetsformedlingen/p-82611050.entry.js +0 -1
  162. package/dist/digi-arbetsformedlingen/p-82a74908.entry.js +0 -1
  163. package/dist/digi-arbetsformedlingen/p-88b4d03a.js +0 -1
  164. package/dist/digi-arbetsformedlingen/p-905ccb30.js +0 -1
  165. package/dist/digi-arbetsformedlingen/p-9c053cf8.entry.js +0 -1
  166. package/dist/digi-arbetsformedlingen/p-9dae073c.entry.js +0 -1
  167. package/dist/digi-arbetsformedlingen/p-d595e8a3.js +0 -1
  168. package/dist/digi-arbetsformedlingen/p-eda570be.entry.js +0 -1
  169. package/dist/esm/digi-button_27.entry.js +0 -1350
  170. package/dist/esm/digi-form-input.entry.js +0 -190
  171. package/dist/esm/digi-form-label_3.entry.js +0 -123
  172. package/dist/esm/digi-form-select-filter.entry.js +0 -560
  173. package/dist/esm/digi-icon-check.entry.js +0 -26
  174. package/dist/esm/digi-icon-chevron-down.entry.js +0 -26
  175. package/dist/esm/digi-icon-validation-error_2.entry.js +0 -48
  176. package/dist/esm/form-input-search-variation.enum-6d8dc10a.js +0 -15
  177. package/dist/esm/form-input-variation.enum-64d9450f.js +0 -29
  178. package/dist/esm/form-validation-message-variation.enum-bcef8a9d.js +0 -8
@@ -0,0 +1,1180 @@
1
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement, F as Fragment } from './index-148a7577.js';
2
+ import { r as randomIdGenerator } from './randomIdGenerator.util-56406f2e.js';
3
+ import { B as ButtonSize } from './code-example-variation.enum-e656d235.js';
4
+ import { B as ButtonType, b as FormInputType, a as FormInputButtonVariation } from './form-input-type.enum-a6bba983.js';
5
+ import { B as ButtonVariation } from './button-variation.enum-94fffdd6.js';
6
+ import { e as FormInputMode, g as FormInputVariation, f as FormInputValidation, o as FormSelectFilterValidation } from './typography-variation.enum-fdda731c.js';
7
+ import { l as logger } from './logger.util-ede3c48a.js';
8
+ import { _ as _t } from './text-8f88c0f6.js';
9
+ import { d as detectClickOutside } from './detectClickOutside.util-72594957.js';
10
+ import { d as detectFocusOutside } from './detectFocusOutside.util-a8676bee.js';
11
+ import './badge-notification-shape.enum-e15a6245.js';
12
+ import './badge-status-variation.enum-8d6370ff.js';
13
+ import './calendar-week-view-heading-level.enum-6774297c.js';
14
+ import './bar-chart-variation.enum-97c0b47f.js';
15
+ import './code-variation.enum-1eee7c7a.js';
16
+ import './expandable-accordion-header-level.enum-85681e2f.js';
17
+ import './expandable-faq-item-variation.enum-a8cb225b.js';
18
+ import './expandable-faq-variation.enum-6934c367.js';
19
+ import './footer-card-variation.enum-cc732148.js';
20
+ import './form-checkbox-variation.enum-83e906fc.js';
21
+ import { c as FormValidationMessageVariation } from './form-validation-message-variation.enum-f7835fc5.js';
22
+ import './form-radiogroup-validation.enum-d790fc66.js';
23
+ import './form-select-variation.enum-f2f6098d.js';
24
+ import './form-textarea-variation.enum-05017e8e.js';
25
+ import './info-card-multi-type.enum-07ee124f.js';
26
+ import './info-card-variation.enum-2ccc52c1.js';
27
+ import './layout-container-max-width.enum-c40018ac.js';
28
+ import './layout-block-variation.enum-b7a20db4.js';
29
+ import './layout-columns-variation.enum-34f7754e.js';
30
+ import './link-button-variation.enum-84d4976f.js';
31
+ import './list-type.enum-fbb331ad.js';
32
+ import './loader-skeleton-variation.enum-f9f867b4.js';
33
+ import './loader-spinner-size.enum-0b246fa0.js';
34
+ import './logo-color.enum-8593dca6.js';
35
+ import './media-figure-alignment.enum-a1d36567.js';
36
+ import './navigation-sidebar-variation.enum-8fead764.js';
37
+ import './navigation-vertical-menu-variation.enum-c30b0ea9.js';
38
+ import './progress-circle-role.enum-7737a2c6.js';
39
+ import './progress-indicator-variation.enum-b12ba50a.js';
40
+ import './progress-list-item-variation.enum-384b9a3a.js';
41
+ import './progress-list-variation.enum-300bd89d.js';
42
+ import './progressbar-variation.enum-40adaab4.js';
43
+ import './quote-image-inner-position.enum-8e9b1e65.js';
44
+ import './table-variation.enum-dd9366b6.js';
45
+ import './tag-media-icon.enum-fefa191c.js';
46
+ import './tag-size.enum-403e0cd8.js';
47
+ import './tools-feedback-banner-type.enum-74b4e580.js';
48
+ import './tools-feedback-rating-variation.enum-29058ff2.js';
49
+ import './tools-theme-provider.brand.enum-8c5a98c9.js';
50
+ import './typography-heading-jumbo-variation.enum-eb737f1b.js';
51
+ import './typography-meta-variation.enum-1f7c2878.js';
52
+ import './typography-time-variation.enum-34c830ef.js';
53
+ import './util-breakpoint-observer-breakpoints.enum-6d004731.js';
54
+ import { K as KEY_CODE, k as keyboardHandler } from './keyboardHandler.util-383c0054.js';
55
+ import './detectClosest.util-58a7504f.js';
56
+
57
+ const buttonCss = ".sc-digi-button-h{--digi--button--color--background--primary--default:var(--digi--color--background--interactive--default--primary);--digi--button--color--background--primary--hover:var(--digi--color--background--interactive--hover--primary);--digi--button--color--background--primary--focus:var(--digi--color--background--interactive--hover--primary);--digi--button--color--background--primary--active:var(--digi--color--background--interactive--hover--primary);--digi--button--color--background--secondary--default:var(--digi--color--background--interactive--default--secondary);--digi--button--color--background--secondary--hover:var(--digi--color--background--interactive--hover--secondary);--digi--button--color--background--secondary--focus:var(--digi--color--background--interactive--hover--secondary);--digi--button--color--background--secondary--active:var(--digi--color--background--interactive--hover--secondary);--digi--button--color--background--function--default:transparent;--digi--button--color--background--function--hover:transparent;--digi--button--color--background--function--focus:transparent;--digi--button--color--background--function--active:transparent;--digi--button--color--text--primary--default:var(--digi--color--text--interactive--secondary);--digi--button--color--text--primary--hover:var(--digi--color--text--interactive--secondary);--digi--button--color--text--primary--focus:var(--digi--color--text--interactive--secondary);--digi--button--color--text--primary--active:var(--digi--color--text--interactive--secondary);--digi--button--color--text--secondary--default:var(--digi--color--text--interactive--brand-primary);--digi--button--color--text--secondary--hover:var(--digi--color--text--interactive--brand-primary);--digi--button--color--text--secondary--focus:var(--digi--color--text--interactive--brand-primary);--digi--button--color--text--secondary--active:var(--digi--color--text--interactive--brand-primary);--digi--button--color--text--function--default:var(--digi--color--text--interactive--primary);--digi--button--color--text--function--hover:var(--digi--color--text--interactive--primary);--digi--button--color--text--function--focus:var(--digi--color--text--interactive--primary);--digi--button--color--text--function--active:var(--digi--color--text--interactive--primary);--digi--button--color--border--primary--default:var(--digi--color--background--interactive--default--primary);--digi--button--color--border--primary--hover:var(--digi--color--background--interactive--hover--primary);--digi--button--color--border--primary--focus:var(--digi--color--background--interactive--default--primary);--digi--button--color--border--primary--active:var(--digi--color--background--interactive--default--primary);--digi--button--color--border--secondary--default:var(--digi--color--border--interactive--default--primary);--digi--button--color--border--secondary--hover:var(--digi--color--border--interactive--hover--secondary);--digi--button--color--border--secondary--focus:var(--digi--color--border--interactive--default--primary);--digi--button--color--border--secondary--active:var(--digi--color--border--interactive--default--primary);--digi--button--color--border--function--default:initial;--digi--button--color--border--function--hover:initial;--digi--button--color--border--function--focus:initial;--digi--button--color--border--function--active:initial;--digi--button--color--icon--primary--default:var(--digi--color--icon--secondary);--digi--button--color--icon--primary--hover:var(--digi--color--icon--secondary);--digi--button--color--icon--primary--focus:var(--digi--color--icon--secondary);--digi--button--color--icon--primary--active:var(--digi--color--icon--secondary);--digi--button--color--icon--secondary--default:var(--digi--color--icon--brand-primary);--digi--button--color--icon--secondary--hover:var(--digi--color--icon--brand-primary);--digi--button--color--icon--secondary--focus:var(--digi--color--icon--brand-primary);--digi--button--color--icon--secondary--active:var(--digi--color--icon--brand-primary);--digi--button--color--icon--function--default:var(--digi--color--icon--cta);--digi--button--color--icon--function--hover:var(--digi--color--icon--cta);--digi--button--color--icon--function--focus:var(--digi--color--icon--cta);--digi--button--color--icon--function--active:var(--digi--color--icon--cta);--digi--button--border-width--primary--default:var(--digi--border-width--primary);--digi--button--border-width--primary--hover:var(--digi--border-width--primary);--digi--button--border-width--secondary--default:var(--digi--border-width--primary);--digi--button--border-width--secondary--hover:var(--digi--border-width--primary);--digi--button--border-width--function--default:initial;--digi--button--border-width--function--hover:initial;--digi--button--border-style--primary--default:var(--digi--border-style--primary);--digi--button--border-style--primary--hover:var(--digi--border-style--primary);--digi--button--border-style--primary--focus:var(--digi--border-style--primary);--digi--button--border-style--primary--active:var(--digi--border-style--primary);--digi--button--border-style--secondary--default:var(--digi--border-style--primary);--digi--button--border-style--secondary--hover:var(--digi--border-style--primary);--digi--button--border-style--secondary--focus:var(--digi--border-style--primary);--digi--button--border-style--secondary--active:var(--digi--border-style--primary);--digi--button--border-style--function--default:var(--digi--border-style--secondary);--digi--button--border-style--function--hover:var(--digi--border-style--secondary);--digi--button--border-style--function--focus:var(--digi--border-style--secondary);--digi--button--border-style--function--active:var(--digi--border-style--secondary);--digi--button--border-radius--primary--default:var(--digi--border-radius--secondary);--digi--button--border-radius--primary--hover:var(--digi--border-radius--secondary);--digi--button--border-radius--primary--focus:var(--digi--border-radius--secondary);--digi--button--border-radius--primary--active:var(--digi--border-radius--secondary);--digi--button--border-radius--secondary--default:var(--digi--border-radius--secondary);--digi--button--border-radius--secondary--hover:var(--digi--border-radius--secondary);--digi--button--border-radius--secondary--focus:var(--digi--border-radius--secondary);--digi--button--border-radius--secondary--active:var(--digi--border-radius--secondary);--digi--button--border-radius--function--default:initial;--digi--button--border-radius--function--hover:initial;--digi--button--border-radius--function--focus:initial;--digi--button--border-radius--function--active:initial;--digi--button--padding--small:var(--digi--gutter--button-block-small) var(--digi--gutter--button-inline-small);--digi--button--padding--medium:var(--digi--gutter--button-block-medium) var(--digi--gutter--button-inline-medium);--digi--button--font-size--small:var(--digi--global--typography--font-size--interaction-small);--digi--button--font-size--medium:var(--digi--global--typography--font-size--interaction-medium);--digi--button--font-family:var(--digi--global--typography--font-family--default);--digi--button--font-weight--default:var(--digi--typography--button--font-weight--desktop);--digi--button--font-weight--function:var(--digi--typography--label--font-weight--desktop);--digi--button--width:initial;--digi--button--display:initial;--digi--button--justify-content--default:initial;--digi--button--justify-content--full-width:center;--digi--button--align-items:center;--digi--button--text-align--default:initial;--digi--button--text-align--full-width:center;--digi--button--outline--default:initial;--digi--button--outline--focus:initial;--digi--button--cursor:pointer;--digi--button--icon--spacing:var(--digi--gutter--large);--digi--button--min-height--small:unset}.sc-digi-button-h .digi-button--variation-primary.sc-digi-button{--COLOR--BACKGROUND--DEFAULT:var(--digi--button--color--background--primary--default);--COLOR--BACKGROUND--HOVER:var(--digi--button--color--background--primary--hover);--COLOR--BACKGROUND--FOCUS:var(--digi--button--color--background--primary--focus);--COLOR--BACKGROUND--ACTIVE:var(--digi--button--color--background--primary--active);--COLOR--TEXT--DEFAULT:var(--digi--button--color--text--primary--default);--COLOR--TEXT--HOVER:var(--digi--button--color--text--primary--hover);--COLOR--TEXT--FOCUS:var(--digi--button--color--text--primary--focus);--COLOR--TEXT--ACTIVE:var(--digi--button--color--text--primary--active);--COLOR--ICON--DEFAULT:var(--digi--button--color--icon--primary--default);--COLOR--ICON--HOVER:var(--digi--button--color--icon--primary--hover);--COLOR--ICON--FOCUS:var(--digi--button--color--icon--primary--focus);--COLOR--ICON--ACTIVE:var(--digi--button--color--icon--primary--active);--COLOR--BORDER--DEFAULT:var(--digi--button--color--border--primary--default);--COLOR--BORDER--HOVER:var(--digi--button--color--border--primary--hover);--COLOR--BORDER--FOCUS:var(--digi--button--color--border--primary--focus);--COLOR--BORDER--ACTIVE:var(--digi--button--color--border--primary--active);--BORDER-RADIUS--DEFAULT:var(--digi--button--border-radius--primary--default);--BORDER-RADIUS--HOVER:var(--digi--button--border-radius--primary--hover);--BORDER-RADIUS--FOCUS:var(--digi--button--border-radius--primary--focus);--BORDER-RADIUS--ACTIVE:var(--digi--button--border-radius--primary--active);--BORDER-WIDTH--DEFAULT:var(--digi--button--border-width--primary--default);--BORDER-WIDTH--HOVER:var(--digi--button--border-width--primary--hover);--BORDER-WIDTH--FOCUS:var(--digi--button--border-width--primary--focus);--BORDER-WIDTH--ACTIVE:var(--digi--button--border-width--primary--active);--BORDER-STYLE--DEFAULT:var(--digi--button--border-style--primary--default);--BORDER-STYLE--HOVER:var(--digi--button--border-style--primary--hover);--BORDER-STYLE--FOCUS:var(--digi--button--border-style--primary--focus);--BORDER-STYLE--ACTIVE:var(--digi--button--border-style--primary--active);--FONT-WEIGHT:var(--digi--button--font-weight--default)}.sc-digi-button-h .digi-button--variation-secondary.sc-digi-button{--COLOR--BACKGROUND--DEFAULT:var(--digi--button--color--background--secondary--default);--COLOR--BACKGROUND--HOVER:var(--digi--button--color--background--secondary--hover);--COLOR--BACKGROUND--FOCUS:var(--digi--button--color--background--secondary--focus);--COLOR--BACKGROUND--ACTIVE:var(--digi--button--color--background--secondary--active);--COLOR--TEXT--DEFAULT:var(--digi--button--color--text--secondary--default);--COLOR--TEXT--HOVER:var(--digi--button--color--text--secondary--hover);--COLOR--TEXT--FOCUS:var(--digi--button--color--text--secondary--focus);--COLOR--TEXT--ACTIVE:var(--digi--button--color--text--secondary--active);--COLOR--ICON--DEFAULT:var(--digi--button--color--icon--secondary--default);--COLOR--ICON--HOVER:var(--digi--button--color--icon--secondary--hover);--COLOR--ICON--FOCUS:var(--digi--button--color--icon--secondary--focus);--COLOR--ICON--ACTIVE:var(--digi--button--color--icon--secondary--active);--COLOR--BORDER--DEFAULT:var(--digi--button--color--border--secondary--default);--COLOR--BORDER--HOVER:var(--digi--button--color--border--secondary--hover);--COLOR--BORDER--FOCUS:var(--digi--button--color--border--secondary--focus);--COLOR--BORDER--ACTIVE:var(--digi--button--color--border--secondary--active);--BORDER-RADIUS--DEFAULT:var(--digi--button--border-radius--secondary--default);--BORDER-RADIUS--HOVER:var(--digi--button--border-radius--secondary--hover);--BORDER-RADIUS--FOCUS:var(--digi--button--border-radius--secondary--focus);--BORDER-RADIUS--ACTIVE:var(--digi--button--border-radius--secondary--active);--BORDER-WIDTH--DEFAULT:var(--digi--button--border-width--secondary--default);--BORDER-WIDTH--HOVER:var(--digi--button--border-width--secondary--hover);--BORDER-WIDTH--FOCUS:var(--digi--button--border-width--secondary--focus);--BORDER-WIDTH--ACTIVE:var(--digi--button--border-width--secondary--active);--BORDER-STYLE--DEFAULT:var(--digi--button--border-style--secondary--default);--BORDER-STYLE--HOVER:var(--digi--button--border-style--secondary--hover);--BORDER-STYLE--FOCUS:var(--digi--button--border-style--secondary--focus);--BORDER-STYLE--ACTIVE:var(--digi--button--border-style--secondary--active);--FONT-WEIGHT:var(--digi--button--font-weight--default)}.sc-digi-button-h .digi-button--variation-function.sc-digi-button{--COLOR--BACKGROUND--DEFAULT:var(--digi--button--color--background--function--default);--COLOR--BACKGROUND--HOVER:var(--digi--button--color--background--function--hover);--COLOR--BACKGROUND--FOCUS:var(--digi--button--color--background--function--focus);--COLOR--BACKGROUND--ACTIVE:var(--digi--button--color--background--function--active);--COLOR--TEXT--DEFAULT:var(--digi--button--color--text--function--default);--COLOR--TEXT--HOVER:var(--digi--button--color--text--function--hover);--COLOR--TEXT--FOCUS:var(--digi--button--color--text--function--focus);--COLOR--TEXT--ACTIVE:var(--digi--button--color--text--function--active);--COLOR--ICON--DEFAULT:var(--digi--button--color--icon--function--default);--COLOR--ICON--HOVER:var(--digi--button--color--icon--function--hover);--COLOR--ICON--FOCUS:var(--digi--button--color--icon--function--focus);--COLOR--ICON--ACTIVE:var(--digi--button--color--icon--function--active);--COLOR--BORDER--DEFAULT:var(--digi--button--color--border--function--default);--COLOR--BORDER--HOVER:var(--digi--button--color--border--function--hover);--COLOR--BORDER--FOCUS:var(--digi--button--color--border--function--focus);--COLOR--BORDER--ACTIVE:var(--digi--button--color--border--function--active);--BORDER-RADIUS--DEFAULT:var(--digi--button--border-radius--function--default);--BORDER-RADIUS--HOVER:var(--digi--button--border-radius--function--hover);--BORDER-RADIUS--FOCUS:var(--digi--button--border-radius--function--focus);--BORDER-RADIUS--ACTIVE:var(--digi--button--border-radius--function--active);--BORDER-WIDTH--DEFAULT:var(--digi--button--border-width--function--default);--BORDER-WIDTH--HOVER:var(--digi--button--border-width--function--hover);--BORDER-WIDTH--FOCUS:var(--digi--button--border-width--function--focus);--BORDER-WIDTH--ACTIVE:var(--digi--button--border-width--function--active);--BORDER-STYLE--DEFAULT:var(--digi--button--border-style--function--default);--BORDER-STYLE--HOVER:var(--digi--button--border-style--function--hover);--BORDER-STYLE--FOCUS:var(--digi--button--border-style--function--focus);--BORDER-STYLE--ACTIVE:var(--digi--button--border-style--function--active);--FONT-WEIGHT:var(--digi--button--font-weight--function)}.sc-digi-button-h .digi-button--variation-function.sc-digi-button:hover,.sc-digi-button-h .digi-button--variation-function.sc-digi-button:focus{text-decoration:underline}.sc-digi-button-h .digi-button--size-small.sc-digi-button{--FONT-SIZE:var(--digi--button--font-size--small);--PADDING:var(--digi--button--padding--small);--MIN-HEIGHT:var(--digi--button--min-height--small)}.sc-digi-button-h .digi-button--size-medium.sc-digi-button{--FONT-SIZE:var(--digi--button--font-size--medium);--PADDING:var(--digi--button--padding--medium);--MIN-HEIGHT:var(--digi--button--min-height--small)}.sc-digi-button-h .digi-button.sc-digi-button-s>[slot^=icon],.sc-digi-button-h .digi-button .sc-digi-button-s>[slot^=icon]{--digi--icon--height:1em;--digi--icon--width:1em;--digi--icon--color:var(--COLOR--ICON--DEFAULT);min-height:0}.sc-digi-button-h .digi-button.sc-digi-button{font-family:var(--digi--button--font-family);background:var(--COLOR--BACKGROUND--DEFAULT);color:var(--COLOR--TEXT--DEFAULT);padding:var(--PADDING);border-radius:var(--BORDER-RADIUS--DEFAULT);border-width:var(--BORDER-WIDTH--DEFAULT);border-style:var(--BORDER-STYLE--DEFAULT);border-color:var(--COLOR--BORDER--DEFAULT);font-weight:var(--FONT-WEIGHT);font-size:var(--FONT-SIZE);outline:var(--digi--button--outline--default);text-align:var(--digi--button--text-align--default);width:var(--digi--button--width);display:var(--digi--button--display);justify-content:var(--digi--button--justify-content--default);cursor:var(--digi--button--cursor);min-height:var(--MIN-HEIGHT);align-items:var(--digi--button--align-items);white-space:nowrap}@media (any-hover: hover){.sc-digi-button-h .digi-button.sc-digi-button:hover{background:var(--COLOR--BACKGROUND--HOVER);border-radius:var(--BORDER-RADIUS--HOVER);border-width:var(--BORDER-WIDTH--HOVER);border-style:var(--BORDER-STYLE--HOVER);border-color:var(--COLOR--BORDER--HOVER);color:var(--COLOR--TEXT--HOVER)}.sc-digi-button-h .digi-button:hover.sc-digi-button-s>[slot^=icon],.sc-digi-button-h .digi-button:hover .sc-digi-button-s>[slot^=icon]{--digi--icon--color:var(--COLOR--ICON--HOVER)}}.sc-digi-button-h .digi-button.sc-digi-button:focus-visible{background:var(--COLOR--BACKGROUND--FOCUS);color:var(--COLOR--TEXT--FOCUS);border-style:var(--BORDER-STYLE--FOCUS);border-color:var(--COLOR--BORDER--FOCUS);outline:2px solid black;outline-offset:2px;box-shadow:0px 0px 0px 5px white}.sc-digi-button-h .digi-button:focus-visible.sc-digi-button-s>[slot^=icon],.sc-digi-button-h .digi-button:focus-visible .sc-digi-button-s>[slot^=icon]{--digi--icon--color:var(--COLOR--ICON--FOCUS)}.sc-digi-button-h .digi-button.sc-digi-button:active{background:var(--COLOR--BACKGROUND--ACTIVE);color:var(--COLOR--TEXT--ACTIVE)}.sc-digi-button-h .digi-button:active.sc-digi-button-s>[slot^=icon],.sc-digi-button-h .digi-button:active .sc-digi-button-s>[slot^=icon]{--digi--icon--color:var(--COLOR--ICON--ACTIVE)}.sc-digi-button-h .digi-button--icon.sc-digi-button,.sc-digi-button-h .digi-button--icon-secondary.sc-digi-button{--digi--button--display:flex;align-items:center;justify-content:var(--digi--button--justify-content--default);gap:var(--digi--button--icon--spacing)}.sc-digi-button-h .digi-button--full-width.sc-digi-button{--digi--button--width:100%;--digi--button--text-align--default:var(--digi--button--text-align--full-width);--digi--button--justify-content--default:var(--digi--button--justify-content--full-width)}";
58
+ const DigiButtonStyle0 = buttonCss;
59
+
60
+ const Button = class {
61
+ constructor(hostRef) {
62
+ registerInstance(this, hostRef);
63
+ this.afOnClick = createEvent(this, "afOnClick", 7);
64
+ this.afOnFocus = createEvent(this, "afOnFocus", 7);
65
+ this.afOnBlur = createEvent(this, "afOnBlur", 7);
66
+ this.afOnReady = createEvent(this, "afOnReady", 3);
67
+ this.hasIcon = undefined;
68
+ this.hasIconSecondary = undefined;
69
+ this.isFullSize = undefined;
70
+ this.afSize = ButtonSize.MEDIUM;
71
+ this.afTabindex = undefined;
72
+ this.afVariation = ButtonVariation.PRIMARY;
73
+ this.afType = ButtonType.BUTTON;
74
+ this.afId = randomIdGenerator('digi-button');
75
+ this.afAriaLabel = undefined;
76
+ this.afAriaLabelledby = undefined;
77
+ this.afAriaControls = undefined;
78
+ this.afForm = undefined;
79
+ this.afAriaPressed = undefined;
80
+ this.afAriaExpanded = undefined;
81
+ this.afAriaHaspopup = undefined;
82
+ this.afAriaCurrent = undefined;
83
+ this.afRole = undefined;
84
+ this.afAriaChecked = undefined;
85
+ this.afLang = undefined;
86
+ this.afDir = undefined;
87
+ this.afFullWidth = false;
88
+ this.afAutofocus = undefined;
89
+ this.afInputRef = undefined;
90
+ }
91
+ fullWidthHandler() {
92
+ this.isFullSize = this.afFullWidth;
93
+ }
94
+ /**
95
+ * Hämta en referens till buttonelementet. Bra för att t.ex. sätta fokus programmatiskt.
96
+ * @en Returns a reference to the button element. Handy for setting focus programmatically.
97
+ */
98
+ async afMGetButtonElement() {
99
+ return this._button;
100
+ }
101
+ componentWillLoad() {
102
+ this.setHasIcon();
103
+ this.fullWidthHandler();
104
+ }
105
+ componentWillUpdate() {
106
+ this.setHasIcon();
107
+ }
108
+ componentDidLoad() {
109
+ this.afOnReady.emit();
110
+ }
111
+ setHasIcon() {
112
+ const icon = !!this.hostElement.querySelector('[slot="icon"]');
113
+ const iconSecondary = !!this.hostElement.querySelector('[slot="icon-secondary"]');
114
+ if (icon) {
115
+ this.hasIcon = icon;
116
+ }
117
+ if (iconSecondary) {
118
+ this.hasIconSecondary = iconSecondary;
119
+ }
120
+ }
121
+ get cssModifiers() {
122
+ return {
123
+ [`digi-button--variation-${this.afVariation}`]: !!this.afVariation,
124
+ [`digi-button--size-${this.afSize}`]: !!this.afSize,
125
+ 'digi-button--icon': this.hasIcon,
126
+ 'digi-button--icon-secondary': this.hasIconSecondary,
127
+ 'digi-button--full-width': this.isFullSize
128
+ };
129
+ }
130
+ get pressedState() {
131
+ if (this.afAriaPressed === null || this.afAriaPressed === undefined) {
132
+ return;
133
+ }
134
+ return this.afAriaPressed ? 'true' : 'false';
135
+ }
136
+ get expandedState() {
137
+ if (this.afAriaExpanded === null || this.afAriaExpanded === undefined) {
138
+ return;
139
+ }
140
+ return this.afAriaExpanded ? 'true' : 'false';
141
+ }
142
+ get hasPopup() {
143
+ if (this.afAriaHaspopup === null || this.afAriaHaspopup === undefined) {
144
+ return;
145
+ }
146
+ return this.afAriaHaspopup ? 'true' : 'false';
147
+ }
148
+ clickHandler(e) {
149
+ this.afOnClick.emit(e);
150
+ }
151
+ focusHandler(e) {
152
+ this.afOnFocus.emit(e);
153
+ }
154
+ blurHandler(e) {
155
+ this.afOnBlur.emit(e);
156
+ }
157
+ render() {
158
+ return (h(Host, { key: '3a398d75ad83e3caa9ec54928544d5bf8315d30f' }, h("button", { key: '2159552d7e8064acbb6da5c02c28ead3d4985e85', class: Object.assign({ 'digi-button': true }, this.cssModifiers), type: this.afType, role: this.afRole, ref: (el) => {
159
+ var _a, _b, _c;
160
+ this._button = el;
161
+ (_a = this === null || this === void 0 ? void 0 : this.afInputRef) === null || _a === void 0 ? void 0 : _a.call(this, el);
162
+ // Stencil has a bug wiith form attribute so we need to set it like this
163
+ // https://github.com/ionic-team/stencil/issues/2703
164
+ this.afForm
165
+ ? (_b = this._button) === null || _b === void 0 ? void 0 : _b.setAttribute('form', this.afForm)
166
+ : (_c = this._button) === null || _c === void 0 ? void 0 : _c.removeAttribute('form');
167
+ }, id: this.afId, tabindex: this.afTabindex, "aria-label": this.afAriaLabel, "aria-labelledby": this.afAriaLabelledby, "aria-controls": this.afAriaControls, "aria-pressed": this.pressedState, "aria-expanded": this.expandedState, "aria-haspopup": this.hasPopup, "aria-current": this.afAriaCurrent, "aria-checked": this.afAriaChecked, onClick: (e) => this.clickHandler(e), onFocus: (e) => this.focusHandler(e), onBlur: (e) => this.blurHandler(e), autoFocus: this.afAutofocus ? this.afAutofocus : null, form: this.afForm, lang: this.afLang, dir: this.afDir }, this.hasIcon && (h("span", { key: '1188d5cb005a51e4e065b70663d06877db3a1477', class: "digi-button__icon" }, h("slot", { key: 'f90319563c18e1f82fa13f478b4d4d13ce3e9bf7', name: "icon" }))), h("span", { key: '17dce8eed2e845ca6166cf85a1c0252c2c0b8037', class: "digi-button__text" }, h("slot", { key: '2f637e48b837ecd0f0f2333349f328c497aee650' })), this.hasIconSecondary && (h("span", { key: '49ffd3361b0cc00c074e1ce332dab2de33127fcc', class: "digi-button__icon digi-button__icon--secondary" }, h("slot", { key: '367d3ba37e2fd0b7e83d600f35d02d4df303c1c0', name: "icon-secondary" }))))));
168
+ }
169
+ get hostElement() { return getElement(this); }
170
+ static get watchers() { return {
171
+ "afFullWidth": ["fullWidthHandler"]
172
+ }; }
173
+ };
174
+ Button.style = DigiButtonStyle0;
175
+
176
+ const formInputCss = ".sc-digi-form-input-h{--digi--form-input--height--small:var(--digi--input-height--small);--digi--form-input--height--medium:var(--digi--input-height--medium);--digi--form-input--height--large:var(--digi--input-height--large);--digi--form-input--border-radius:var(--digi--border-radius--input);--digi--form-input--padding:0 var(--digi--gutter--medium);--digi--form-input--background--empty:var(--digi--color--background--interactive--default--input-elements);--digi--form-input--background--neutral:var(--digi--color--background--interactive--default--input-elements);--digi--form-input--background--success:var(--digi--color--background--interactive--validation--success);--digi--form-input--background--warning:var(--digi--color--background--interactive--validation--warning);--digi--form-input--background--error:var(--digi--color--background--interactive--validation--error);--digi--form-input--border--neutral:var(--digi--border-width--input-regular) solid;--digi--form-input--border--error:var(--digi--border-width--input-validation) solid;--digi--form-input--border--success:var(--digi--border-width--input-validation) solid;--digi--form-input--border--warning:var(--digi--border-width--input-validation) solid;--digi--form-input--border-color--neutral:var(--digi--color--border--interactive--default--on-input);--digi--form-input--border-color--success:var(--digi--color--border--interactive--validation--success);--digi--form-input--border-color--warning:var(--digi--color--border--interactive--validation--warning);--digi--form-input--border-color--error:var(--digi--color--border--interactive--validation--error)}.sc-digi-form-input-h .digi-form-input.sc-digi-form-input{display:flex;flex-direction:column;gap:0.4em}.sc-digi-form-input-h .digi-form-input--small.sc-digi-form-input{--HEIGHT:var(--digi--form-input--height--small)}.sc-digi-form-input-h .digi-form-input--medium.sc-digi-form-input{--HEIGHT:var(--digi--form-input--height--medium)}.sc-digi-form-input-h .digi-form-input--large.sc-digi-form-input{--HEIGHT:var(--digi--form-input--height--large)}.sc-digi-form-input-h .digi-form-input--neutral.sc-digi-form-input{--BORDER:var(--digi--form-input--border--neutral);--BORDER-COLOR:var(--digi--form-input--border-color--neutral);--BACKGROUND:var(--digi--form-input--background--neutral)}.sc-digi-form-input-h .digi-form-input--empty.sc-digi-form-input:not(:focus-within){--BACKGROUND:var(--digi--form-input--background--empty)}.sc-digi-form-input-h .digi-form-input--success.sc-digi-form-input{--BORDER:var(--digi--form-input--border--success);--BORDER-COLOR:var(--digi--form-input--border-color--success);--BACKGROUND:var(--digi--form-input--background--success)}.sc-digi-form-input-h .digi-form-input--warning.sc-digi-form-input{--BORDER:var(--digi--form-input--border--warning);--BORDER-COLOR:var(--digi--form-input--border-color--warning);--BACKGROUND:var(--digi--form-input--background--warning)}.sc-digi-form-input-h .digi-form-input--error.sc-digi-form-input{--BORDER:var(--digi--form-input--border--error);--BORDER-COLOR:var(--digi--form-input--border-color--error);--BACKGROUND:var(--digi--form-input--background--error)}.digi-form-input__input-wrapper.sc-digi-form-input{position:relative;display:flex}.digi-form-input__input-wrapper.sc-digi-form-input-s>[slot^=button] button,.digi-form-input__input-wrapper .sc-digi-form-input-s>[slot^=button] button{--MIN-HEIGHT:100%}.digi-form-input--button-variation-primary .digi-form-input__input-wrapper.sc-digi-form-input-s>[slot^=button] button,.digi-form-input__input-wrapper .sc-digi-form-input-s>[slot^=button] button{border-start-start-radius:0;border-end-start-radius:0}.digi-form-input--button-variation-secondary.digi-form-input--has-button-true.sc-digi-form-input .digi-form-input__input-wrapper.sc-digi-form-input{gap:var(--digi--gutter--medium);flex-wrap:wrap}.digi-form-input__input.sc-digi-form-input{flex:1;height:var(--HEIGHT);font-family:var(--digi--global--typography--font-family--default);font-size:var(--digi--typography--body--font-size--desktop);padding:var(--digi--form-input--padding);color:var(--digi--color--text--primary);background:var(--BACKGROUND);border:var(--BORDER);border-color:var(--BORDER-COLOR);border-radius:var(--digi--form-input--border-radius);box-sizing:border-box}.digi-form-input__input.sc-digi-form-input:focus-visible{outline:2px solid black;outline-offset:2px;box-shadow:0px 0px 0px 5px white}.digi-form-input--button-variation-primary.digi-form-input--has-button-true.sc-digi-form-input .digi-form-input__input.sc-digi-form-input{border-end-end-radius:0;border-start-end-radius:0}";
177
+ const DigiFormInputStyle0 = formInputCss;
178
+
179
+ const FormInput = class {
180
+ constructor(hostRef) {
181
+ registerInstance(this, hostRef);
182
+ this.afOnChange = createEvent(this, "afOnChange", 7);
183
+ this.afOnBlur = createEvent(this, "afOnBlur", 7);
184
+ this.afOnKeyup = createEvent(this, "afOnKeyup", 7);
185
+ this.afOnFocus = createEvent(this, "afOnFocus", 7);
186
+ this.afOnFocusout = createEvent(this, "afOnFocusout", 7);
187
+ this.afOnInput = createEvent(this, "afOnInput", 7);
188
+ this.afOnDirty = createEvent(this, "afOnDirty", 7);
189
+ this.afOnTouched = createEvent(this, "afOnTouched", 7);
190
+ this.afOnReady = createEvent(this, "afOnReady", 3);
191
+ this.hasActiveValidationMessage = false;
192
+ this.hasButton = undefined;
193
+ this.dirty = false;
194
+ this.touched = false;
195
+ this.afLabel = undefined;
196
+ this.afLabelDescription = undefined;
197
+ this.afType = FormInputType.TEXT;
198
+ this.afInputmode = FormInputMode.DEFAULT;
199
+ this.afButtonVariation = FormInputButtonVariation.PRIMARY;
200
+ this.afAutofocus = undefined;
201
+ this.afVariation = FormInputVariation.MEDIUM;
202
+ this.afName = undefined;
203
+ this.afId = randomIdGenerator('digi-form-input');
204
+ this.afMaxlength = undefined;
205
+ this.afMinlength = undefined;
206
+ this.afRequired = undefined;
207
+ this.afRequiredText = undefined;
208
+ this.afAnnounceIfOptional = false;
209
+ this.afAnnounceIfOptionalText = undefined;
210
+ this.value = undefined;
211
+ this.afValue = undefined;
212
+ this.afValidation = FormInputValidation.NEUTRAL;
213
+ this.afValidationText = undefined;
214
+ this.afRole = undefined;
215
+ this.afAutocomplete = undefined;
216
+ this.afMin = undefined;
217
+ this.afMax = undefined;
218
+ this.afList = undefined;
219
+ this.afStep = undefined;
220
+ this.afDirname = undefined;
221
+ this.afAriaAutocomplete = undefined;
222
+ this.afAriaActivedescendant = undefined;
223
+ this.afAriaLabelledby = undefined;
224
+ this.afAriaDescribedby = undefined;
225
+ this.afAriaControls = undefined;
226
+ this.afTrimValue = undefined;
227
+ this.afErrorMessageIsAlert = true;
228
+ }
229
+ onValueChanged(value) {
230
+ this.afValue = value;
231
+ }
232
+ onAfValueChanged(value) {
233
+ this.value = value;
234
+ if (this._input && this._input.value !== String(value !== null && value !== void 0 ? value : '')) {
235
+ this._input.value = String(value !== null && value !== void 0 ? value : '');
236
+ }
237
+ }
238
+ get errorMessageIsAlert() {
239
+ return (this.afErrorMessageIsAlert !== false &&
240
+ this.afErrorMessageIsAlert !== 'false');
241
+ }
242
+ afValidationTextWatch() {
243
+ this.setActiveValidationMessage();
244
+ }
245
+ /**
246
+ * Hämtar en referens till inputelementet. Bra för att t.ex. sätta fokus programmatiskt.
247
+ * @en Returns a reference to the input element. Handy for setting focus programmatically.
248
+ */
249
+ async afMGetFormControlElement() {
250
+ return this._input;
251
+ }
252
+ /**
253
+ * Lyssnar på om fokus sätts på custom-elementet och propagerar ner det till själva input-elementet.
254
+ * @en Listens for when focus is set on the custom element and propagates it down to the actual input element.
255
+ */
256
+ focusOnInput() {
257
+ this._input.focus();
258
+ }
259
+ componentWillLoad() {
260
+ this.afValue ? (this.value = this.afValue) : (this.afValue = this.value);
261
+ this.setActiveValidationMessage();
262
+ this.setHasButton();
263
+ }
264
+ componentWillUpdate() {
265
+ this.setHasButton();
266
+ }
267
+ componentDidLoad() {
268
+ this.afOnReady.emit();
269
+ }
270
+ setActiveValidationMessage() {
271
+ this.hasActiveValidationMessage = !!this.afValidationText;
272
+ }
273
+ get cssModifiers() {
274
+ return {
275
+ 'digi-form-input--small': this.afVariation === FormInputVariation.SMALL,
276
+ 'digi-form-input--medium': this.afVariation === FormInputVariation.MEDIUM,
277
+ 'digi-form-input--large': this.afVariation === FormInputVariation.LARGE,
278
+ 'digi-form-input--neutral': this.afValidation === FormInputValidation.NEUTRAL,
279
+ 'digi-form-input--success': this.afValidation === FormInputValidation.SUCCESS,
280
+ 'digi-form-input--error': this.afValidation === FormInputValidation.ERROR,
281
+ 'digi-form-input--warning': this.afValidation === FormInputValidation.WARNING,
282
+ [`digi-form-input--button-variation-${this.afButtonVariation}`]: !!this.afButtonVariation,
283
+ [`digi-form-input--has-button-${this.hasButton}`]: true,
284
+ 'digi-form-input--empty': !this.afValue &&
285
+ (!this.afValidation ||
286
+ this.afValidation === FormInputValidation.NEUTRAL)
287
+ };
288
+ }
289
+ blurHandler(e) {
290
+ const trimableTypes = [
291
+ FormInputType.TEXT,
292
+ FormInputType.EMAIL,
293
+ FormInputType.SEARCH,
294
+ FormInputType.TEL,
295
+ FormInputType.URL
296
+ ];
297
+ const shouldTrim = this.afTrimValue && trimableTypes.includes(this.afType);
298
+ if (shouldTrim && typeof e.target.value === 'string') {
299
+ const trimmedValue = e.target.value.trim();
300
+ if (trimmedValue !== e.target.value) {
301
+ this.afValue = this.value = trimmedValue;
302
+ if (this._input) {
303
+ this._input.value = trimmedValue;
304
+ }
305
+ // Emittar afOnInput så Angulars value accessor får det trimmade värdet
306
+ this.afOnInput.emit(e);
307
+ }
308
+ }
309
+ if (!this.touched) {
310
+ this.afOnTouched.emit(e);
311
+ this.touched = true;
312
+ }
313
+ this.afOnBlur.emit(e);
314
+ }
315
+ changeHandler(e) {
316
+ this.setActiveValidationMessage();
317
+ this.afOnChange.emit(e);
318
+ }
319
+ focusHandler(e) {
320
+ this.afOnFocus.emit(e);
321
+ }
322
+ focusoutHandler(e) {
323
+ this.afOnFocusout.emit(e);
324
+ }
325
+ keyupHandler(e) {
326
+ this.afOnKeyup.emit(e);
327
+ }
328
+ inputHandler(e) {
329
+ this.afValue = this.value =
330
+ this.afType === FormInputType.NUMBER
331
+ ? parseFloat(e.target.value)
332
+ : e.target.value;
333
+ if (!this.dirty) {
334
+ this.afOnDirty.emit(e);
335
+ this.dirty = true;
336
+ }
337
+ this.setActiveValidationMessage();
338
+ this.afOnInput.emit(e);
339
+ }
340
+ setHasButton() {
341
+ this.hasButton = !!this.hostElement.querySelector('[slot="button"]');
342
+ }
343
+ render() {
344
+ return (h(Host, { key: '2739bdd7385125581d7ea9c25a3610f5950c6a74', tabindex: -1 }, h("div", { key: '7e261c1e2fc4f37f4ddda861872a470c89181e16', class: Object.assign({ 'digi-form-input': true }, this.cssModifiers) }, h("digi-form-label", { key: '7e8fd283dedf0a851c714331ae640f7c74176bde', class: "digi-form-input__label", afFor: this.afId, afLabel: this.afLabel, afDescription: this.afLabelDescription, afRequired: this.afRequired, afAnnounceIfOptional: this.afAnnounceIfOptional, afRequiredText: this.afRequiredText, afAnnounceIfOptionalText: this.afAnnounceIfOptionalText }), h("div", { key: '68d715181c180ebaf957dfb46afb63b19b8a8188', class: "digi-form-input__input-wrapper" }, h("input", Object.assign({ key: 'e25ab871e988f9e8bd0837f75403e85f7423805f', class: "digi-form-input__input", ref: (el) => (this._input = el), onBlur: (e) => this.blurHandler(e), onChange: (e) => this.changeHandler(e), onFocus: (e) => this.focusHandler(e), onFocusout: (e) => this.focusoutHandler(e), onKeyUp: (e) => this.keyupHandler(e), onInput: (e) => this.inputHandler(e), "aria-activedescendant": this.afAriaActivedescendant, "aria-describedby": `${this.afAriaDescribedby} ${this.afId}--validation-message`, "aria-labelledby": this.afAriaLabelledby, "aria-autocomplete": this.afAriaAutocomplete, "aria-invalid": this.afValidation === FormInputValidation.ERROR
345
+ ? 'true'
346
+ : 'false', "aria-controls": this.afAriaControls, autocomplete: this.afAutocomplete, autofocus: this.afAutofocus ? this.afAutofocus : null, maxLength: this.afMaxlength, minLength: this.afMinlength, max: this.afMax, min: this.afMin, step: this.afStep, list: this.afList, role: this.afRole, dirName: this.afDirname, required: this.afRequired, id: this.afId, name: this.afName, type: this.afType, value: this.afValue }, (this.afInputmode == FormInputMode.DEFAULT
347
+ ? {}
348
+ : { inputmode: this.afInputmode }))), h("slot", { key: 'c14ae079a53099fc3928bcf3ac7f5517c20b0f36', name: "button" })), h("div", { key: '75d6afa176cd8620e31c384e169b3c84a3bb584d', class: "digi-form-input__footer" }, h("div", { key: '81029d425aae06e3c72c08afe982f2ff1a7bb81d', class: "digi-form-input__validation", "aria-atomic": "true", role: this.errorMessageIsAlert ? 'alert' : null, id: `${this.afId}--validation-message` }, this.hasActiveValidationMessage &&
349
+ this.afValidation != FormInputValidation.NEUTRAL && (h("digi-form-validation-message", { key: '9a8fec12db8c78a037a9b70194b32814d7641dad', class: "digi-form-input__validation-message", "af-variation": this.afValidation }, this.afValidationText)))))));
350
+ }
351
+ get hostElement() { return getElement(this); }
352
+ static get watchers() { return {
353
+ "value": ["onValueChanged"],
354
+ "afValue": ["onAfValueChanged"],
355
+ "afValidationText": ["afValidationTextWatch"]
356
+ }; }
357
+ };
358
+ FormInput.style = DigiFormInputStyle0;
359
+
360
+ const formLabelCss = ".sc-digi-form-label-h .digi-form-label.sc-digi-form-label{font-family:var(--digi--global--typography--font-family--default);font-size:var(--digi--typography--label--font-size--desktop);color:var(--digi--color--text--primary);display:flex;flex-direction:column}.sc-digi-form-label-h .digi-form-label__label--label.sc-digi-form-label{font-weight:var(--digi--typography--label--font-weight--desktop)}.sc-digi-form-label-h .digi-form-label__label--label.sc-digi-form-label,.sc-digi-form-label-h .digi-form-label__label--description.sc-digi-form-label{line-height:var(--digi--typography--label--line-height--desktop);cursor:pointer;display:block}.sc-digi-form-label-h .digi-form-label__label-group.sc-digi-form-label{display:inline-flex;align-items:center;gap:var(--digi--gutter--icon)}.sc-digi-form-label-h .digi-form-label__description.sc-digi-form-label{max-width:var(--digi--paragraph-width--medium);line-height:var(--digi--typography--label-description--line-height--desktop);font-size:var(--digi--typography--label-description--font-size--desktop)}";
361
+ const DigiFormLabelStyle0 = formLabelCss;
362
+
363
+ const FormLabel = class {
364
+ constructor(hostRef) {
365
+ registerInstance(this, hostRef);
366
+ this.labelText = undefined;
367
+ this.hasActionSlot = undefined;
368
+ this.afLabel = undefined;
369
+ this.afId = randomIdGenerator('digi-form-label');
370
+ this.afFor = undefined;
371
+ this.afDescription = undefined;
372
+ this.afRequired = undefined;
373
+ this.afAnnounceIfOptional = false;
374
+ this.afRequiredText = _t.required.toLowerCase();
375
+ this.afAnnounceIfOptionalText = _t.optional.toLowerCase();
376
+ }
377
+ componentWillLoad() {
378
+ this.setLabelText();
379
+ this.validateFor();
380
+ this.handleSlotVisibility();
381
+ }
382
+ validateFor() {
383
+ if (this.afFor == null) {
384
+ logger.warn(`digi-form-label must have a for attribute. Please add a for attribute using af-for`, this.hostElement);
385
+ }
386
+ }
387
+ setLabelText() {
388
+ this.labelText = `${this.afLabel} ${this.requiredText}`;
389
+ if (!this.afLabel) {
390
+ logger.warn(`digi-form-label must have a label. Please add a label using af-label`, this.hostElement);
391
+ }
392
+ }
393
+ handleSlotVisibility() {
394
+ this.hasActionSlot = !!this.hostElement.querySelector('[slot="actions"]');
395
+ }
396
+ get requiredText() {
397
+ if (this.afRequired && !this.afAnnounceIfOptional) {
398
+ return this.afRequiredText ? ` (${this.afRequiredText})` : '';
399
+ }
400
+ else if (!this.afRequired && this.afAnnounceIfOptional) {
401
+ return this.afAnnounceIfOptionalText
402
+ ? ` (${this.afAnnounceIfOptionalText})`
403
+ : '';
404
+ }
405
+ else {
406
+ return '';
407
+ }
408
+ }
409
+ render() {
410
+ return (h("div", { key: 'ac9aec4d1d20cc37694af578a97a16a17291c9f3', class: "digi-form-label" }, h("div", { key: 'bf27c3012d1973798095e6b832572fc20863c5f1', class: "digi-form-label__label-group" }, this.afFor && this.afLabel && (h("label", { key: '75435e49548e4fa27330a35b033689a0ed9e99a7', class: "digi-form-label__label", htmlFor: this.afFor, id: this.afId }, h("span", { key: '0527ddcebbd2a1b215f42eaed06ba7fc28633d43', class: "digi-form-label__label--label" }, this.labelText), this.afDescription && (h("span", { key: '8a3b3e6a0ec0a97adb0760b390f0ddb34b3e0b87', class: "digi-form-label__label--description" }, this.afDescription)))), this.hasActionSlot && (h("div", { key: 'f2e6ad691a5cbc57b990416097454a393da35c01', class: "digi-form-label__actions" }, h("slot", { key: '1fab5cca94da7ad0f2b617db7f713d3b4d17c52d', name: "actions" }))))));
411
+ }
412
+ get hostElement() { return getElement(this); }
413
+ static get watchers() { return {
414
+ "afFor": ["validateFor"],
415
+ "afLabel": ["setLabelText"],
416
+ "afRequired": ["setLabelText"],
417
+ "afAnnounceIfOptional": ["setLabelText"]
418
+ }; }
419
+ };
420
+ FormLabel.style = DigiFormLabelStyle0;
421
+
422
+ const formSelectFilterCss = ".sc-digi-form-select-filter-h{--digi--form-select-filter--footer--background:var(--digi--color--background--secondary);--digi--form-select-filter--scroll--max-height:10.625rem;--digi--form-select-filter--scroll--padding:var(--digi--padding--small);--digi--form-select-filter--reset-button--margin-right:var(--digi--padding--small);--digi--form-select-filter--legend__border-bottom:var(--digi--border-width--primary) solid var(--digi--color--divider--primary);--digi--form-select-filter--list--margin:0;--digi--form-select-filter--list--padding:var(--digi--gutter--small) 0 0 0;--digi--form-select-filter--item--margin:var(--digi--gutter--small) 0;--digi--form-select-filter--toggle-icon--transition:ease-in-out 0.2s all;--digi--form-select-filter--dropdown--border-radius:var(--digi--border-radius--input);--digi--form-select-filter--dropdown--background:var(--digi--color--background--interactive--default--input-elements);--digi--form-select-filter--dropdown--min-width:18.75rem;--digi--form-select-filter--dropdown--margin-top:var(--digi--gutter--small);--digi--form-select-filter--dropdown--z-index:999;--digi--form-select-filter--dropdown--header--background:var(--digi--color--background--secondary-accent);--digi--form-select-filter--dropdown--item--cursor:pointer;--digi--form-select-filter--dropdown--item--height:auto;--digi--form-select-filter--dropdown--item--min-height:1.5rem;--digi--form-select-filter--dropdown--item--color:var(--digi--color--text--primary);--digi--form-select-filter--dropdown--item--font-size:var(--digi--typography--body--font-size--desktop);--digi--form-select-filter--dropdown--item--font-family:var(--digi--global--typography--font-family--default);--digi--form-select-filter--dropdown--item--font-weight--default:var(--digi--typography--link--font-weight--desktop);--digi--form-select-filter--dropdown--item--font-weight--selected:var(--digi--typography--link-bold--font-weight--desktop);--digi--form-select-filter--dropdown--item--font-weight--hover:var(--digi--typography--link-bold--font-weight--desktop);--digi--form-select-filter--dropdown--item--letter-spacing:0px;--digi--form-select-filter--dropdown--item--line-height:1.5;--digi--form-select-filter--dropdown--item--margin-bottom:0px;--digi--form-select-filter--dropdown--item--border-width:var(--digi--border-width--primary);--digi--form-select-filter--dropdown--item--border-type:var(--digi--border-style--primary);--digi--form-select-filter--dropdown--item--border-color:var(--digi--color--divider--primary);--digi--form-select-filter--dropdown--item--padding-y:var(--digi--margin--small);--digi--form-select-filter--dropdown--item--padding-x:var(--digi--margin--largest);--digi--form-select-filter--dropdown--item--multiple--padding-y:var(--digi--margin--small);--digi--form-select-filter--dropdown--item--multiple--padding-x:var(--digi--padding--largest-2);--digi--form-select-filter--dropdown--item--background-color--default:var(--digi--color--background--interactive--default--input-elements);--digi--form-select-filter--dropdown--item--background-color--focus:var(--digi--color--background--interactive--hover--quarternary);--digi--form-select-filter--dropdown--item--background-color--hover:var(--digi--color--background--interactive--hover--quarternary);--digi--form-select-filter--dropdown--item--background-color--active:var(--digi--color--background--interactive--selected--tertiary);--digi--form-select-filter--dropdown--item--background-color--selected:var(--digi--color--background--interactive--selected--tertiary);--digi--form-select-filter--dropdown--item--checkbox--background-color:var(--digi--color--background--interactive--default--input-elements);--digi--form-select-filter--dropdown--item--checkbox--background-color--selected:var(--digi--color--marking--indication--primary);--digi--form-select-filter--dropdown--item--checkbox--border-color:var(--digi--color--border--interactive--default--on-input);--digi--form-select-filter--dropdown--item--checkbox--border-width:var(--digi--border-width--primary);--digi--form-select-filter--dropdown--item--checkbox--border-style:var(--digi--border-style--primary);--digi--form-select-filter--dropdown--item--checkbox--border-radius:var(--digi--border-radius--tertiary);--digi--form-select-filter--dropdown--item--checkbox--width:1.25rem;--digi--form-select-filter--dropdown--item--checkbox--height:1.25rem;--digi--form-select-filter--toggle-button-indicator--color--default:var(--digi--color--background--interactive--default--input-elements);--digi--form-select-filter--toggle-button-indicator--color--active:var(--digi--color--marking--indication--primary);--digi--form-select-filter--toggle-button-indicator--width:1rem;--digi--form-select-filter--toggle-button-indicator--height:1rem;--digi--form-select-filter--toggle-button-indicator--margin-right:var(--digi--margin--small);--digi--form-select-filter--toggle-button-indicator--margin-left:calc(var(--digi--margin--smaller) * -1);--digi--form-select-filter--toggle-button--text--margin-right:var(--digi--margin--smaller);--digi--form-select-filter--toggle-button-indicator--color:var(--digi--color--marking--indication--primary);--digi--form-select-filter--toggle-icon--width:0.875rem;--digi--form-select-filter--toggle-icon--height:0.875rem;--digi--form-select-filter--search-input--border-radius:var(--digi--border-radius--input);--digi--form-select-filter--search-input--border-width:var(--digi--border-width--input-regular);--digi--form-select-filter--search-input--border-style:var(--digi--border-style--primary);--digi--form-select-filter--search-input--border-color:var(--digi--form-select-filter--toggle-button--border-width--neutral);--digi--form-select-filter--search-input--height:var(--digi--input-height--medium);--digi--form-select-filter--search-input--width:100%;--digi--form-select-filter--legend--font-weight:var(--digi--typography--preamble--font-weight--desktop);--digi--form-select-filter--legend--font-family:var(--digi--global--typography--font-family--default);--digi--form-select-filter--legend--font-size:var(--digi--typography--preamble--font-size--desktop);--digi--form-select-filter--toggle-button--border-width--neutral:var(--digi--border-width--input-regular);--digi--form-select-filter--toggle-button--border-color--neutral:var(--digi--color--border--interactive--default--on-input);--digi--form-select-filter--toggle-button--background--neutral:var(--digi--color--background--interactive--default--input-elements);--digi--form-select-filter--toggle-button--border-width--success:var(--digi--border-width--input-validation);--digi--form-select-filter--toggle-button--border-color--success:var(--digi--color--border--interactive--validation--success);--digi--form-select-filter--toggle-button--background--success:var(--digi--color--background--interactive--validation--success);--digi--form-select-filter--toggle-button--border-width--warning:var(--digi--border-width--input-validation);--digi--form-select-filter--toggle-button--border-color--warning:var(--digi--color--border--interactive--validation--warning);--digi--form-select-filter--toggle-button--background--warning:var(--digi--color--background--interactive--validation--warning);--digi--form-select-filter--toggle-button--border-width--error:var(--digi--border-width--input-validation);--digi--form-select-filter--toggle-button--border-color--error:var(--digi--color--border--interactive--validation--error);--digi--form-select-filter--toggle-button--background--error:var(--digi--color--background--interactive--validation--error);box-sizing:content-box}.sc-digi-form-select-filter-h .digi--a11y--sr-only.sc-digi-form-select-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-select-filter-h .digi-form-select-filter.sc-digi-form-select-filter{display:flex;flex-direction:column;gap:0.4em;position:relative;--INDICATOR--BACKGROUND:var(--digi--form-select-filter--toggle-button-indicator--color--default);--SCROLL--MAX-HEIGHT:var(--digi--form-select-filter--scroll--max-height)}.sc-digi-form-select-filter-h .digi-form-select-filter--neutral.sc-digi-form-select-filter{--BORDER-WIDTH:var(\n --digi--form-select-filter--toggle-button--border-width--neutral\n );--BORDER-COLOR:var(\n --digi--form-select-filter--toggle-button--border-color--neutral\n );--BACKGROUND:var(\n --digi--form-select-filter--toggle-button--background--neutral\n )}.sc-digi-form-select-filter-h .digi-form-select-filter--success.sc-digi-form-select-filter{--BORDER-WIDTH:var(\n --digi--form-select-filter--toggle-button--border-width--success\n );--BORDER-COLOR:var(\n --digi--form-select-filter--toggle-button--border-color--success\n );--BACKGROUND:var(\n --digi--form-select-filter--toggle-button--background--success\n )}.sc-digi-form-select-filter-h .digi-form-select-filter--warning.sc-digi-form-select-filter{--BORDER-WIDTH:var(\n --digi--form-select-filter--toggle-button--border-width--warning\n );--BORDER-COLOR:var(\n --digi--form-select-filter--toggle-button--border-color--warning\n );--BACKGROUND:var(\n --digi--form-select-filter--toggle-button--background--warning\n )}.sc-digi-form-select-filter-h .digi-form-select-filter--error.sc-digi-form-select-filter{--BORDER-WIDTH:var(\n --digi--form-select-filter--toggle-button--border-width--error\n );--BORDER-COLOR:var(\n --digi--form-select-filter--toggle-button--border-color--error\n );--BACKGROUND:var(\n --digi--form-select-filter--toggle-button--background--error\n )}.sc-digi-form-select-filter-h .digi-form-select-filter--open.sc-digi-form-select-filter .digi-form-select-filter__toggle-icon.sc-digi-form-select-filter{transform:rotate(-180deg)}.sc-digi-form-select-filter-h .digi-form-select-filter__toggle-button.sc-digi-form-select-filter{background:var(--BACKGROUND);border:var(--BORDER-WIDTH) solid var(--BORDER-COLOR);border-radius:var(--digi--border-radius--input);color:var(--digi--color--text--primary);cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-weight:400;font-size:var(--digi--typography--body--font-size--desktop);width:100%;padding:0 var(--digi--gutter--medium);min-height:var(--digi--input-height--medium);font-family:var(--digi--global--typography--font-family--default)}.sc-digi-form-select-filter-h .digi-form-select-filter__toggle-button.sc-digi-form-select-filter:focus-visible,.sc-digi-form-select-filter-h .digi-form-select-filter__toggle-button.sc-digi-form-select-filter:focus{outline:2px solid black;outline-offset:2px;box-shadow:0px 0px 0px 5px white}.sc-digi-form-select-filter-h .digi-form-select-filter__toggle-icon.sc-digi-form-select-filter{transition:var(--digi--form-select-filter--toggle-icon--transition)}.sc-digi-form-select-filter-h .digi-form-select-filter__toggle-icon.sc-digi-form-select-filter-s>[slot^=icon],.sc-digi-form-select-filter-h .digi-form-select-filter__toggle-icon .sc-digi-form-select-filter-s>[slot^=icon]{--digi--icon--width:var(--digi--form-select-filter--toggle-icon--width);--digi--icon--height:var(--digi--form-select-filter--toggle-icon--height)}.sc-digi-form-select-filter-h .digi-form-select-filter__legend.sc-digi-form-select-filter{font-weight:var(--digi--form-select-filter--legend--font-weight);font-family:var(--digi--form-select-filter--legend--font-family);font-size:var(--digi--form-select-filter--legend--font-size);border:0;padding:0;margin:0;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-select-filter-h .digi-form-select-filter__scroll.sc-digi-form-select-filter{max-height:var(--SCROLL--MAX-HEIGHT);overflow-y:auto}.sc-digi-form-select-filter-h .digi-form-select-filter__header.sc-digi-form-select-filter{background-color:var(--digi--form-select-filter--dropdown--header--background);padding:12px 12px 22px}.sc-digi-form-select-filter-h .digi-form-select-filter__header.sc-digi-form-select-filter input.sc-digi-form-select-filter{border-radius:var(--digi--form-select-filter--search-input--border-radius);border-width:var(--digi--form-select-filter--search-input--border-width);border-style:var(--digi--form-select-filter--search-input--border-style);border-color:var(--digi--form-select-filter--search-input--border-color);height:var(--digi--form-select-filter--search-input--height);width:var(--digi--form-select-filter--search-input--width)}.sc-digi-form-select-filter-h .digi-form-select-filter__header.sc-digi-form-select-filter legend.sc-digi-form-select-filter{width:100%;border-bottom:var(--digi--form-select-filter--legend__border-bottom)}.sc-digi-form-select-filter-h .digi-form-select-filter__footer.sc-digi-form-select-filter{display:flex;align-items:center;justify-content:center;background:var(--digi--form-select-filter--footer--background);padding:var(--digi--form-select-filter--scroll--padding)}.sc-digi-form-select-filter-h .digi-form-select-filter__reset-button.sc-digi-form-select-filter{display:inline-block;margin-right:var(--digi--form-select-filter--reset-button--margin-right)}.sc-digi-form-select-filter-h .digi-form-select-filter__dropdown.sc-digi-form-select-filter{box-shadow:0 2px 6px 0 rgba(0, 0, 0, 0.7);min-width:var(--digi--form-select-filter--dropdown--min-width);width:100%;position:absolute;z-index:var(--digi--form-select-filter--dropdown--z-index);background:var(--digi--form-select-filter--dropdown--background);border-radius:var(--digi--form-select-filter--dropdown--border-radius);overflow:hidden;margin-top:var(--digi--form-select-filter--dropdown--margin-top)}.sc-digi-form-select-filter-h .digi-form-select-filter__dropdown.sc-digi-form-select-filter fieldset.sc-digi-form-select-filter{border:none;padding:0;margin:0}@media (min-width: 48rem){.sc-digi-form-select-filter-h .digi-form-select-filter__dropdown--right.sc-digi-form-select-filter{right:0}}.sc-digi-form-select-filter-h .digi-form-select-filter__dropdown--hidden.sc-digi-form-select-filter{display:none}.sc-digi-form-select-filter-h .digi-form-select-filter__label.sc-digi-form-select-filter{display:block}.sc-digi-form-select-filter-h .digi-form-select-filter__toggle-button-wrapper--activated.sc-digi-form-select-filter{display:flex;align-items:center}.sc-digi-form-select-filter-h .digi-form-select-filter__toggle-button-indicator.sc-digi-form-select-filter{display:none;--digi--icon--color:var(--digi--form-select-filter--toggle-button-indicator--color)}.sc-digi-form-select-filter-h .digi-form-select-filter__toggle-button-indicator--active.sc-digi-form-select-filter{display:flex;margin-right:var(--digi--form-select-filter--toggle-button-indicator--margin-right);width:var(--digi--form-select-filter--toggle-button-indicator--width);height:var(--digi--form-select-filter--toggle-button-indicator--height)}.sc-digi-form-select-filter-h .digi-form-select-filter__search-status.sc-digi-form-select-filter{font-family:var(--digi--global--typography--font-family--default);font-size:var(--digi--typography--label--font-size--desktop);color:var(--digi--color--text--primary)}.sc-digi-form-select-filter-h .digi-form-select-filter__list.sc-digi-form-select-filter{margin:var(--digi--form-select-filter--list--margin);padding:0;max-width:100%}.sc-digi-form-select-filter-h .digi-form-select-filter__item.sc-digi-form-select-filter{background-color:var(--digi--form-select-filter--dropdown--item--background-color--default);border-width:0;box-sizing:border-box;border-bottom-width:var(--digi--form-select-filter--dropdown--item--border-width);border-style:var(--digi--form-select-filter--dropdown--item--border-type);border-color:var(--digi--form-select-filter--dropdown--item--border-color);cursor:var(--digi--form-select-filter--dropdown--item--cursor);color:var(--digi--form-select-filter--dropdown--item--color);display:block;font-size:var(--digi--form-select-filter--dropdown--item--font-size);font-family:var(--digi--form-select-filter--dropdown--item--font-family);font-weight:var(--digi--form-select-filter--dropdown--item--font-weight--default);padding:var(--digi--form-select-filter--dropdown--item--padding-y) var(--digi--form-select-filter--dropdown--item--padding-x);position:relative;height:var(--digi--form-select-filter--dropdown--item--height);min-height:var(--digi--form-select-filter--dropdown--item--min-height);margin-bottom:var(--digi--form-select-filter--dropdown--item--margin-bottom);letter-spacing:var(--digi--form-select-filter--dropdown--item--letter-spacing);line-height:var(--digi--form-select-filter--dropdown--item--line-height)}.sc-digi-form-select-filter-h .digi-form-select-filter__item.sc-digi-form-select-filter:focus-visible{background-color:var(--digi--form-select-filter--dropdown--item--background-color--focus);outline:2px solid black;outline-offset:-3px;box-shadow:0px 0px 0px 5px inset white}.sc-digi-form-select-filter-h .digi-form-select-filter__item.sc-digi-form-select-filter:hover{background-color:var(--digi--form-select-filter--dropdown--item--background-color--hover);font-weight:var(--digi--form-select-filter--dropdown--item--font-weight--hover)}.sc-digi-form-select-filter-h .digi-form-select-filter__item.sc-digi-form-select-filter:active{background-color:var(--digi--form-select-filter--dropdown--item--background-color--active)}.sc-digi-form-select-filter-h .digi-form-select-filter__item[aria-checked=true].sc-digi-form-select-filter{font-weight:var(--digi--form-select-filter--dropdown--item--font-weight--selected);background-color:var(--digi--form-select-filter--dropdown--item--background-color--selected)}.sc-digi-form-select-filter-h .digi-form-select-filter__item[dir=rtl].sc-digi-form-select-filter{text-align:right}.sc-digi-form-select-filter-h .digi-form-select-filter__item[role=radio].sc-digi-form-select-filter .digi-form-select-filter__item__icon.sc-digi-form-select-filter{position:absolute;width:13px;height:25px;left:7px}.sc-digi-form-select-filter-h .digi-form-select-filter__item[role=radio][dir=rtl].sc-digi-form-select-filter::before{right:3px}.sc-digi-form-select-filter-h .digi-form-select-filter__item[role=radio][dir=rtl].sc-digi-form-select-filter .digi-form-select-filter__item__icon.sc-digi-form-select-filter{left:auto;right:7px}.sc-digi-form-select-filter-h .digi-form-select-filter__item[role=checkbox].sc-digi-form-select-filter{padding:var(--digi--form-select-filter--dropdown--item--multiple--padding-y) var(--digi--form-select-filter--dropdown--item--multiple--padding-x)}.sc-digi-form-select-filter-h .digi-form-select-filter__item[role=checkbox][aria-checked=true].sc-digi-form-select-filter:before{background:var(--digi--form-select-filter--dropdown--item--checkbox--background-color--selected);border-color:var(--digi--form-select-filter--dropdown--item--checkbox--background-color--selected)}.sc-digi-form-select-filter-h .digi-form-select-filter__item[role=checkbox].sc-digi-form-select-filter::before{content:\"\";position:absolute;background-color:var(--digi--form-select-filter--dropdown--item--checkbox--background-color);border-color:var(--digi--form-select-filter--dropdown--item--checkbox--border-color);border-width:var(--digi--form-select-filter--dropdown--item--checkbox--border-width);border-style:var(--digi--form-select-filter--dropdown--item--checkbox--border-style);height:var(--digi--form-select-filter--dropdown--item--checkbox--width);width:var(--digi--form-select-filter--dropdown--item--checkbox--height);border-radius:var(--digi--form-select-filter--dropdown--item--checkbox--border-radius);left:12px;transform:translateY(1px)}.sc-digi-form-select-filter-h .digi-form-select-filter__item[role=checkbox].sc-digi-form-select-filter .digi-form-select-filter__item__icon.sc-digi-form-select-filter{position:absolute;width:13px;left:16px;--digi--icon--color:white}.sc-digi-form-select-filter-h .digi-form-select-filter__item[role=checkbox][dir=rtl].sc-digi-form-select-filter::before{right:12px}.sc-digi-form-select-filter-h .digi-form-select-filter__item[role=checkbox][dir=rtl].sc-digi-form-select-filter .digi-form-select-filter__item__icon.sc-digi-form-select-filter{left:auto;right:16px}.sc-digi-form-select-filter-h .digi-form-select-filter__toggle-button-text.sc-digi-form-select-filter{margin-right:var(--digi--form-select-filter--toggle-button--text--margin-right)}.sc-digi-form-select-filter-h .hidden.sc-digi-form-select-filter{display:none}";
423
+ const DigiFormSelectFilterStyle0 = formSelectFilterCss;
424
+
425
+ const FormSelectFilter = class {
426
+ constructor(hostRef) {
427
+ registerInstance(this, hostRef);
428
+ this.afOnFocusout = createEvent(this, "afOnFocusout", 7);
429
+ this.afOnSubmitFilters = createEvent(this, "afOnSubmitFilters", 7);
430
+ this.afOnFilterClosed = createEvent(this, "afOnFilterClosed", 7);
431
+ this.afOnResetFilters = createEvent(this, "afOnResetFilters", 7);
432
+ this.afOnSelect = createEvent(this, "afOnSelect", 7);
433
+ this.afOnQueryChanged = createEvent(this, "afOnQueryChanged", 7);
434
+ this._searchQuery = '';
435
+ /** True when `value` was set from outside (e.g. Angular CVA) — then value is selection master. */
436
+ this._valueIsMaster = false;
437
+ /** Guards internal `value` writes so they don't flip `_valueIsMaster`. */
438
+ this._updatingValueInternally = false;
439
+ this.isOpen = false;
440
+ this.focusListItemIndex = 0;
441
+ this.focusInList = false;
442
+ this._afListItems = undefined;
443
+ this._filteredResult = [];
444
+ this._selectedItems = [];
445
+ this.afDescription = undefined;
446
+ this.afDisableValidation = undefined;
447
+ this.afValidation = FormSelectFilterValidation.NEUTRAL;
448
+ this.afValidationText = undefined;
449
+ this.afRequired = undefined;
450
+ this.afRequiredText = undefined;
451
+ this.afAnnounceIfOptional = false;
452
+ this.afAnnounceIfOptionalText = undefined;
453
+ this.sortAlphabetically = true;
454
+ this.value = [];
455
+ this.afMultipleItems = false;
456
+ this.afListItems = undefined;
457
+ this.afId = randomIdGenerator('digi-form-select-filter');
458
+ this.afFilterButtonTextLabel = undefined;
459
+ this.afFilterButtonText = undefined;
460
+ this.afFilterButtonTextMultipleValues = undefined;
461
+ this.afSubmitButtonText = undefined;
462
+ this.afSubmitButtonTextAriaLabel = undefined;
463
+ this.afResetButtonText = _t.clear;
464
+ this.afResetButtonTextAriaLabel = undefined;
465
+ this.afHideResetButton = false;
466
+ this.afAlignRight = undefined;
467
+ this.afName = undefined;
468
+ this.afEmptySearchMessage = 'Inga sökträffar för';
469
+ this.afFilterButtonAriaDescribedby = undefined;
470
+ this.afErrorMessageIsAlert = true;
471
+ }
472
+ onValueChanged(newValue) {
473
+ let parsedValue;
474
+ if (typeof newValue === 'string') {
475
+ parsedValue = newValue ? JSON.parse(newValue) : [];
476
+ }
477
+ else {
478
+ parsedValue = newValue || [];
479
+ }
480
+ if (!this._updatingValueInternally) {
481
+ this._valueIsMaster = true;
482
+ }
483
+ this.value = parsedValue;
484
+ this.syncValueAndSelectedListItems('valueChange');
485
+ }
486
+ handleListItems() {
487
+ if (this.afListItems) {
488
+ try {
489
+ if (this.afListItems.constructor === Array) {
490
+ this._afListItems = this.afListItems;
491
+ }
492
+ else if (typeof this.afListItems === 'string') {
493
+ this._afListItems = JSON.parse(this.afListItems);
494
+ }
495
+ else {
496
+ throw `Invalid type in "af-list-items" attribute`;
497
+ }
498
+ this.giveItemsValueIfNoneExist();
499
+ this.sortListAlphabetically();
500
+ this.syncValueAndSelectedListItems('afListItemsChange');
501
+ this.filterResults();
502
+ }
503
+ catch (e) {
504
+ logger.warn(`Invalid JSON in "af-list-items" attribute`, this.hostElement, e);
505
+ return;
506
+ }
507
+ }
508
+ }
509
+ get errorMessageIsAlert() {
510
+ return (this.afErrorMessageIsAlert !== false &&
511
+ this.afErrorMessageIsAlert !== 'false');
512
+ }
513
+ /**
514
+ * Funktion för att rensa valda värden från komponenten
515
+ * @en Function for clearing selected values from component
516
+ */
517
+ async afMReset() {
518
+ this.resetSelectItems();
519
+ }
520
+ /**
521
+ * Funktion för att stänga dropdownen
522
+ * @en Function for closing the dropdown
523
+ */
524
+ async afMCloseDropdown() {
525
+ this.setClosed();
526
+ }
527
+ clickHandler(e) {
528
+ const target = e.target;
529
+ const selector = `#${this.afId}-identifier`;
530
+ if (detectClickOutside(target, selector) && this.isOpen) {
531
+ this.emitFilterClosedEvent();
532
+ }
533
+ }
534
+ focusoutHandler(e) {
535
+ const target = e.target;
536
+ const selector = `#${this.afId}-identifier`;
537
+ const focusOutsideFilter = detectFocusOutside(target, selector);
538
+ if (focusOutsideFilter && this.isOpen) {
539
+ this.emitFilterClosedEvent();
540
+ }
541
+ else {
542
+ this.focusInList = !detectFocusOutside(target, `#${this.afId}-select-filter-list`);
543
+ }
544
+ }
545
+ /**
546
+ * Lyssnar på om fokus sätts på custom-elementet och propagerar ner det till toggle-knappen.
547
+ * @en Listens for when focus is set on the custom element and propagates it down to the toggle butto.
548
+ */
549
+ focusOnElement() {
550
+ this._toggleButton.focus();
551
+ }
552
+ componentWillLoad() {
553
+ /* Stencil @Watch does not run for the initial prop value.
554
+ * Given that Angular Control Value Accessors writeValue often sets `value` before willLoad —
555
+ * we need to force a value check here with bootstrapInitialValue .*/
556
+ this.bootstrapInitialValue();
557
+ this.handleListItems();
558
+ }
559
+ bootstrapInitialValue() {
560
+ if (typeof this.value === 'string') {
561
+ const parsed = this.value ? JSON.parse(this.value) : [];
562
+ this._updatingValueInternally = true;
563
+ this.value = parsed;
564
+ this._updatingValueInternally = false;
565
+ }
566
+ if (Array.isArray(this.value) && this.value.length > 0) {
567
+ this._valueIsMaster = true;
568
+ }
569
+ }
570
+ /**
571
+ * Keep `value` and `afListItems[].selected` in sync.
572
+ * - If `value` was set externally (`_valueIsMaster`), value wins on list updates.
573
+ * - Otherwise selection is seeded from `afListItems[].selected` (React/vanilla data-as-master).
574
+ * Does not emit `afOnSelect` — that is reserved for user interaction so Angular Control Value Accessors
575
+ * does not get feedback loops on prop sync.
576
+ */
577
+ syncValueAndSelectedListItems(whereDidTheChangeComeFrom) {
578
+ if (!this._afListItems) {
579
+ return;
580
+ }
581
+ if (whereDidTheChangeComeFrom === 'afListItemsChange') {
582
+ if (this._valueIsMaster) {
583
+ this.applyValueToListItems(this.value);
584
+ }
585
+ else {
586
+ this._selectedItems = this._afListItems.filter((item) => item.selected);
587
+ this.setValueInternally([...this._selectedItems]);
588
+ }
589
+ return;
590
+ }
591
+ this.applyValueToListItems(this.value);
592
+ }
593
+ applyValueToListItems(value) {
594
+ const selectedValues = new Set((value !== null && value !== void 0 ? value : []).map((item) => item.value));
595
+ this._afListItems.forEach((item) => {
596
+ item.selected = selectedValues.has(item.value);
597
+ });
598
+ this._selectedItems = this._afListItems.filter((item) => selectedValues.has(item.value));
599
+ }
600
+ setValueInternally(nextValue) {
601
+ this._updatingValueInternally = true;
602
+ this.value = nextValue;
603
+ this._updatingValueInternally = false;
604
+ }
605
+ setClosed(focusToggleButton = false) {
606
+ this.isOpen = false;
607
+ if (focusToggleButton) {
608
+ document.getElementById(`${this.afId}`).focus();
609
+ }
610
+ this.setScroll(0);
611
+ this._searchQuery = '';
612
+ this.afOnQueryChanged.emit('');
613
+ this.afOnSubmitFilters.emit(this._selectedItems);
614
+ this.filterResults();
615
+ }
616
+ setScroll(scrollY) {
617
+ document.querySelector(`#${this.afId}-dropdown-menu .digi-form-select-filter__scroll`).scrollTop = scrollY;
618
+ }
619
+ setOpen() {
620
+ this.isOpen = true;
621
+ this.focusListItemIndex = 0;
622
+ setTimeout(() => {
623
+ this.setFocusSearch();
624
+ }, 50);
625
+ }
626
+ giveItemsValueIfNoneExist() {
627
+ this._afListItems
628
+ .filter((item) => {
629
+ return item.value === undefined;
630
+ })
631
+ .forEach((item) => {
632
+ item.value = item.label;
633
+ });
634
+ }
635
+ sortListAlphabetically() {
636
+ if (!this.sortAlphabetically) {
637
+ return;
638
+ }
639
+ this._afListItems.sort((a, b) => {
640
+ if (a.label < b.label) {
641
+ return -1;
642
+ }
643
+ if (a.label > b.label) {
644
+ return 1;
645
+ }
646
+ return 0;
647
+ });
648
+ }
649
+ toggleDropdown() {
650
+ return this.isOpen ? this.setClosed() : this.setOpen();
651
+ }
652
+ inputItem(identifier, index) {
653
+ const item = this.hostElement
654
+ .querySelectorAll(`#${identifier} .digi-form-select-filter__item`)
655
+ .item(index);
656
+ return item;
657
+ }
658
+ emitFilterClosedEvent() {
659
+ this.setClosed(true);
660
+ this.afOnFilterClosed.emit();
661
+ }
662
+ setFocusItem() {
663
+ const element = this.inputItem(`${this.afId}-select-filter-list`, this.focusListItemIndex);
664
+ if (element) {
665
+ element.focus();
666
+ }
667
+ }
668
+ setFocusSearch() {
669
+ const element = this.hostElement.querySelector('input');
670
+ if (element) {
671
+ element.focus();
672
+ }
673
+ }
674
+ incrementFocusItem() {
675
+ const listLength = this.showNeutralValue
676
+ ? this._filteredResult.length
677
+ : this._filteredResult.length - 1;
678
+ if (this.focusListItemIndex < listLength) {
679
+ this.focusListItemIndex = this.focusListItemIndex + 1;
680
+ this.setFocusItem();
681
+ return;
682
+ }
683
+ else {
684
+ if (!this.afMultipleItems) {
685
+ this.focusListItemIndex = 0;
686
+ this.setFocusItem();
687
+ return;
688
+ }
689
+ }
690
+ this.tabHandler();
691
+ }
692
+ decrementFocusItem() {
693
+ if (this.focusListItemIndex === 0) {
694
+ this.setFocusSearch();
695
+ return;
696
+ }
697
+ if (this.focusListItemIndex > 0) {
698
+ this.focusListItemIndex = this.focusListItemIndex - 1;
699
+ }
700
+ this.setFocusItem();
701
+ }
702
+ downHandler(e) {
703
+ e.detail.preventDefault();
704
+ if (e.detail.code === 'ArrowDown' || e.detail.code === 'ArrowRight') {
705
+ this.incrementFocusItem();
706
+ }
707
+ }
708
+ upHandler(e) {
709
+ e.detail.preventDefault();
710
+ if (e.detail.code === 'ArrowUp' || e.detail.code === 'ArrowLeft') {
711
+ this.decrementFocusItem();
712
+ }
713
+ }
714
+ homeHandler(e) {
715
+ e.detail.preventDefault();
716
+ this.focusListItemIndex = 0;
717
+ this.setFocusItem();
718
+ }
719
+ endHandler(e) {
720
+ e.detail.preventDefault();
721
+ this.focusListItemIndex = this.showNeutralValue
722
+ ? this._filteredResult.length
723
+ : this._filteredResult.length - 1;
724
+ this.setFocusItem();
725
+ }
726
+ enterHandler(e) {
727
+ e.detail.preventDefault();
728
+ e.detail.target.click();
729
+ }
730
+ spaceHandler(e) {
731
+ e.detail.preventDefault();
732
+ e.detail.target.click();
733
+ }
734
+ escHandler() {
735
+ if (this.isOpen) {
736
+ this.setClosed(true);
737
+ }
738
+ }
739
+ tabHandler() {
740
+ if (this.isOpen && this.focusInList) {
741
+ if (this.afMultipleItems && this._submitButton) {
742
+ setTimeout(() => {
743
+ var _a;
744
+ if (this._submitButton) {
745
+ (_a = this._submitButton.querySelector('button')) === null || _a === void 0 ? void 0 : _a.focus();
746
+ }
747
+ }, 10);
748
+ }
749
+ else {
750
+ this.setClosed(true);
751
+ }
752
+ }
753
+ }
754
+ shiftHandler() {
755
+ if (this.isOpen && this.focusInList) {
756
+ if (this.afMultipleItems && this._toggleButton) {
757
+ this._toggleButton.querySelector('button').focus();
758
+ }
759
+ else {
760
+ this.setFocusSearch();
761
+ }
762
+ }
763
+ }
764
+ filterResults() {
765
+ if (this._searchQuery && this._searchQuery.length > 0) {
766
+ this._filteredResult = this._afListItems.filter((item) => {
767
+ return item.label
768
+ .toLowerCase()
769
+ .includes(this._searchQuery.toLowerCase());
770
+ });
771
+ }
772
+ else {
773
+ this._filteredResult = this._afListItems;
774
+ }
775
+ }
776
+ inputSearchKeyboardHandler(e) {
777
+ if (e.code === 'ArrowDown') {
778
+ e.preventDefault();
779
+ this.setFocusItem();
780
+ }
781
+ if (e.code === 'Enter' && this._searchQuery !== '') {
782
+ e.preventDefault();
783
+ this.setFocusItem();
784
+ }
785
+ }
786
+ inputSearchInputHandler(e) {
787
+ this._searchQuery = e.target.value;
788
+ this.afOnQueryChanged.emit(this._searchQuery);
789
+ this.filterResults();
790
+ }
791
+ resetSelectItems(close = false) {
792
+ this._selectedItems = [];
793
+ this.setValueInternally([]);
794
+ this.afOnSelect.emit([]);
795
+ this._searchQuery = '';
796
+ this.filterResults();
797
+ if (close) {
798
+ this.emitFilterClosedEvent();
799
+ }
800
+ this.afOnResetFilters.emit();
801
+ }
802
+ selectItemHandler(item) {
803
+ if (this.afMultipleItems) {
804
+ item.selected = !item.selected;
805
+ if (this._selectedItems.filter((x) => {
806
+ return x.value === item.value;
807
+ }).length > 0) {
808
+ //ITEM VALUE ALREADY EXISTS IN LIST, DELETE FROM LIST
809
+ this._selectedItems.splice(this._selectedItems.findIndex((e) => e.value === item.value), 1);
810
+ }
811
+ else {
812
+ this._selectedItems = [...this._selectedItems, item];
813
+ }
814
+ }
815
+ else {
816
+ this._selectedItems.forEach((item) => {
817
+ item.selected = false;
818
+ });
819
+ item.selected = true;
820
+ this._selectedItems = [item];
821
+ this.emitFilterClosedEvent();
822
+ }
823
+ this.setValueInternally([...this._selectedItems]);
824
+ this.afOnSelect.emit(this._selectedItems);
825
+ this.filterResults();
826
+ }
827
+ isSelected(textValue) {
828
+ if (textValue && this._selectedItems && this._selectedItems.length > 0) {
829
+ return (this._selectedItems.filter((item) => {
830
+ return item.value === textValue;
831
+ }).length > 0);
832
+ }
833
+ return false;
834
+ }
835
+ get cssModifiers() {
836
+ return {
837
+ 'digi-form-select-filter--open': this.isOpen,
838
+ 'digi-form-select-filter--neutral': this.afValidation === FormSelectFilterValidation.NEUTRAL,
839
+ 'digi-form-select-filter--success': this.afValidation === FormSelectFilterValidation.SUCCESS,
840
+ 'digi-form-select-filter--warning': this.afValidation === FormSelectFilterValidation.WARNING,
841
+ 'digi-form-select-filter--error': this.afValidation === FormSelectFilterValidation.ERROR
842
+ };
843
+ }
844
+ get cssModifiersToggleButtonIndicator() {
845
+ return {
846
+ 'digi-form-select-filter__toggle-button-indicator--active': this._selectedItems.length > 0
847
+ };
848
+ }
849
+ get cssModifiersToggleButtonWrapper() {
850
+ return {
851
+ 'digi-form-select-filter__toggle-button-wrapper--activated': this._selectedItems.length > 0
852
+ };
853
+ }
854
+ buttonText(isAriaLabel) {
855
+ const ariaLabelText = (text = '') => {
856
+ return isAriaLabel ? text : '';
857
+ };
858
+ if (this._selectedItems && this._selectedItems.length === 1) {
859
+ return (ariaLabelText(this.afFilterButtonTextLabel + ': ') +
860
+ this._selectedItems[0].label);
861
+ }
862
+ else if (this._selectedItems &&
863
+ this._selectedItems.length > 0 &&
864
+ this.afMultipleItems) {
865
+ if (this.afFilterButtonTextMultipleValues) {
866
+ return (ariaLabelText(this.afFilterButtonTextLabel + ': ') +
867
+ this.afFilterButtonTextMultipleValues.replace('{count}', this._selectedItems.length.toString()));
868
+ }
869
+ else {
870
+ return (ariaLabelText(this.afFilterButtonTextLabel + ': ') +
871
+ `${this._selectedItems.length} valda`);
872
+ }
873
+ }
874
+ else {
875
+ return (ariaLabelText(this.afFilterButtonTextLabel
876
+ ? this.afFilterButtonTextLabel + ': '
877
+ : '') + this.afFilterButtonText);
878
+ }
879
+ }
880
+ get renderButtonLabel() {
881
+ return this.buttonText(false);
882
+ }
883
+ get ariaLabel() {
884
+ return this.buttonText(true);
885
+ }
886
+ get showNeutralValue() {
887
+ return (!this.afMultipleItems &&
888
+ this.afFilterButtonText &&
889
+ this._searchQuery.length === 0);
890
+ }
891
+ showValidation() {
892
+ return !this.afDisableValidation &&
893
+ this.afValidation !== FormSelectFilterValidation.NEUTRAL &&
894
+ this.afValidationText
895
+ ? true
896
+ : false;
897
+ }
898
+ renderEmptyStateBox() {
899
+ let statusMessage = '';
900
+ if (this._filteredResult && this._filteredResult.length > 0) {
901
+ statusMessage = `${this._filteredResult.length} sökträff${this._filteredResult.length > 1 ? 'ar' : ''}`;
902
+ }
903
+ else if (this._filteredResult.length === 0) {
904
+ statusMessage = `${this.afEmptySearchMessage} ${this._searchQuery}`;
905
+ }
906
+ return (h(Fragment, null, h("div", { role: "status", id: `${this.afId}-searchstatus`, class: {
907
+ 'digi-form-select-filter__search-status': true,
908
+ 'digi--a11y--sr-only': this._filteredResult && this._filteredResult.length > 0
909
+ } }, h("span", null, " ", statusMessage, " "), h("div", { class: {
910
+ hidden: this._filteredResult && this._filteredResult.length > 0
911
+ } }, h("slot", { name: "empty-search-result" })))));
912
+ }
913
+ render() {
914
+ 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: {
915
+ 'digi-form-select-filter__dropdown': true,
916
+ 'digi-form-select-filter__dropdown--right': this.afAlignRight,
917
+ 'digi-form-select-filter__dropdown--hidden': !this.isOpen
918
+ } }, 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: () => {
919
+ this.focusListItemIndex = 0;
920
+ }, onAfOnKeyup: (e) => {
921
+ this.inputSearchKeyboardHandler(e.detail);
922
+ }, 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
923
+ ? 'false'
924
+ : this.afValidation ===
925
+ FormSelectFilterValidation.ERROR
926
+ ? 'true'
927
+ : 'false', "aria-errormessage": `${this.afId}--validation-message`, "aria-required": this.afMultipleItems
928
+ ? false
929
+ : this.afRequired
930
+ ? 'true'
931
+ : 'false' }, this.showNeutralValue && (h("li", { key: '40d30a579a332fec15b5c3f38865eacce0a8c2ee', class: "digi-form-select-filter__item", role: "radio", "aria-required": this.afMultipleItems
932
+ ? 'false'
933
+ : this.afRequired
934
+ ? 'true'
935
+ : '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 &&
936
+ this._filteredResult.map((item, index) => {
937
+ 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
938
+ ? 'false'
939
+ : this.afRequired
940
+ ? 'true'
941
+ : 'false', "aria-invalid": this.afMultipleItems
942
+ ? this.afValidation ===
943
+ FormSelectFilterValidation.ERROR
944
+ ? 'true'
945
+ : 'false'
946
+ : 'false', "aria-errormessage": `${this.afId}--validation-message`, onClick: () => this.selectItemHandler(item), tabIndex: this.showNeutralValue
947
+ ? -1
948
+ : index === 0
949
+ ? 0
950
+ : -1 }, this.isSelected(item.value) && (h("digi-icon-check", { class: "digi-form-select-filter__item__icon", "aria-hidden": 'true' })), item.label));
951
+ }))))), 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: () => {
952
+ this.setClosed(true);
953
+ }, 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)))))));
954
+ }
955
+ get hostElement() { return getElement(this); }
956
+ static get watchers() { return {
957
+ "value": ["onValueChanged"],
958
+ "afListItems": ["handleListItems"]
959
+ }; }
960
+ };
961
+ FormSelectFilter.style = DigiFormSelectFilterStyle0;
962
+
963
+ const formValidationMessageCss = ".sc-digi-form-validation-message-h{--digi--form-validation-message--icon-color--success:var(--digi--color--icon--validation--success);--digi--form-validation-message--icon-color--warning:var(--digi--color--icon--validation--warning);--digi--form-validation-message--icon-color--error:var(--digi--color--icon--validation--error)}.sc-digi-form-validation-message-h .digi-form-validation-message.sc-digi-form-validation-message{display:flex;flex-wrap:wrap;align-items:center}.sc-digi-form-validation-message-h .digi-form-validation-message--success.sc-digi-form-validation-message{--ICON-COLOR:var(--digi--form-validation-message--icon-color--success)}.sc-digi-form-validation-message-h .digi-form-validation-message--warning.sc-digi-form-validation-message{--ICON-COLOR:var(--digi--form-validation-message--icon-color--warning)}.sc-digi-form-validation-message-h .digi-form-validation-message--error.sc-digi-form-validation-message{--ICON-COLOR:var(--digi--form-validation-message--icon-color--error)}.sc-digi-form-validation-message-h .digi-form-validation-message__icon.sc-digi-form-validation-message{color:var(--ICON-COLOR);margin-inline-end:var(--digi--gutter--icon)}.sc-digi-form-validation-message-h .digi-form-validation-message__icon.sc-digi-form-validation-message>*.sc-digi-form-validation-message{--digi--icon--width:1.25em;--digi--icon--height:1.25em;--digi--icon--color:var(--ICON-COLOR);display:flex}.sc-digi-form-validation-message-h .digi-form-validation-message__icon.sc-digi-form-validation-message .warning.sc-digi-form-validation-message{top:3px;position:relative}.sc-digi-form-validation-message-h .digi-form-validation-message__text.sc-digi-form-validation-message{flex:1;font-family:var(--digi--global--typography--font-family--default);font-size:var(--digi--typography--tag--font-size--desktop);color:var(--digi--color--text--primary)}";
964
+ const DigiFormValidationMessageStyle0 = formValidationMessageCss;
965
+
966
+ const FormValidationMessage = class {
967
+ constructor(hostRef) {
968
+ registerInstance(this, hostRef);
969
+ this.afVariation = FormValidationMessageVariation.SUCCESS;
970
+ }
971
+ get cssModifiers() {
972
+ return {
973
+ 'digi-form-validation-message--success': this.afVariation === FormValidationMessageVariation.SUCCESS,
974
+ 'digi-form-validation-message--error': this.afVariation === FormValidationMessageVariation.ERROR,
975
+ 'digi-form-validation-message--warning': this.afVariation === FormValidationMessageVariation.WARNING
976
+ };
977
+ }
978
+ get icon() {
979
+ switch (this.afVariation) {
980
+ case FormValidationMessageVariation.SUCCESS:
981
+ return h("digi-icon-validation-success", null);
982
+ case FormValidationMessageVariation.ERROR:
983
+ return h("digi-icon-validation-error", null);
984
+ case FormValidationMessageVariation.WARNING:
985
+ return h("digi-icon-validation-warning", { class: "warning" });
986
+ }
987
+ }
988
+ render() {
989
+ return (h("div", { key: 'e19f49d6e49b2d928b3c80053fd413d6f86056e0', class: Object.assign({ 'digi-form-validation-message': true }, this.cssModifiers) }, h("div", { key: 'ea2cce02d7c3c98c761cfa9abc1e39428c515063', class: "digi-form-validation-message__icon", "aria-hidden": "true" }, this.icon), h("span", { key: 'd732a6a477a88fc3ca2e18a2199f8f1f528c8a0a', class: "digi-form-validation-message__text" }, h("slot", { key: '8d62d0fc0d2f3290227289b59c975b92133df852' }))));
990
+ }
991
+ get hostElement() { return getElement(this); }
992
+ };
993
+ FormValidationMessage.style = DigiFormValidationMessageStyle0;
994
+
995
+ const iconCheckCss = ".sc-digi-icon-check-h{--digi--icon--color:var(--digi--color--icon--primary);--digi--icon--width:initial;--digi--icon--height:auto;display:flex;min-height:1.4em;align-items:center}.sc-digi-icon-check-h svg.sc-digi-icon-check{color:var(--digi--icon--color);max-width:var(--digi--icon--width);max-height:var(--digi--icon--height);width:var(--digi--icon--width, auto);height:var(--digi--icon--height, auto)}";
996
+ const DigiIconCheckStyle0 = iconCheckCss;
997
+
998
+ const IconCheck = class {
999
+ constructor(hostRef) {
1000
+ registerInstance(this, hostRef);
1001
+ this.afTitle = undefined;
1002
+ this.afDesc = undefined;
1003
+ this.afSvgAriaHidden = true;
1004
+ this.afSvgAriaLabelledby = undefined;
1005
+ this.titleId = randomIdGenerator('icontitle');
1006
+ }
1007
+ render() {
1008
+ return (h("svg", { key: '7e7362c73d293709e74cbb58d41ee14588d2a6b6', class: "digi-icon-check", width: "23", height: "18", viewBox: "0 0 23 18", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": this.afSvgAriaHidden ? 'true' : 'false', "aria-labelledby": this.afSvgAriaLabelledby
1009
+ ? this.afSvgAriaLabelledby
1010
+ : this.afTitle
1011
+ ? this.titleId
1012
+ : undefined }, this.afTitle && h("title", { key: '0b6cad5ad89e4df27945f378275265d370a7de32', id: this.titleId }, this.afTitle), this.afDesc && h("desc", { key: 'b1ae6ed14da198fdbe4c924240de976382c749c0' }, this.afDesc), h("path", { key: 'c9e70d7b31bc6588142208eb8acb84f8b3902820', class: "digi-icon-check__shape", d: "M20.547.18L7.315 13.627 2.453 8.686a.597.597 0 00-.853 0L.177 10.132a.62.62 0 000 .868l6.711 6.82c.236.24.618.24.854 0L22.823 2.493a.62.62 0 000-.867L21.4.18a.597.597 0 00-.853 0z", fill: "currentColor", "fill-rule": "nonzero" })));
1013
+ }
1014
+ };
1015
+ IconCheck.style = DigiIconCheckStyle0;
1016
+
1017
+ const iconChevronDownCss = ".sc-digi-icon-chevron-down-h{--digi--icon--color:var(--digi--color--icon--primary);--digi--icon--width:initial;--digi--icon--height:auto;display:flex;min-height:1.4em;align-items:center}.sc-digi-icon-chevron-down-h svg.sc-digi-icon-chevron-down{color:var(--digi--icon--color);max-width:var(--digi--icon--width);max-height:var(--digi--icon--height);width:var(--digi--icon--width, auto);height:var(--digi--icon--height, auto)}";
1018
+ const DigiIconChevronDownStyle0 = iconChevronDownCss;
1019
+
1020
+ const IconChevronDown = class {
1021
+ constructor(hostRef) {
1022
+ registerInstance(this, hostRef);
1023
+ this.afTitle = undefined;
1024
+ this.afDesc = undefined;
1025
+ this.afSvgAriaHidden = true;
1026
+ this.afSvgAriaLabelledby = undefined;
1027
+ this.titleId = randomIdGenerator('icontitle');
1028
+ }
1029
+ render() {
1030
+ return (h("svg", { key: '8c1823e497c5b4b7d33f1e5527279636819b86a8', class: "digi-icon-chevron-down", width: "14", height: "8", viewBox: "0 0 14 8", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": this.afSvgAriaHidden ? 'true' : 'false', "aria-labelledby": this.afSvgAriaLabelledby
1031
+ ? this.afSvgAriaLabelledby
1032
+ : this.afTitle
1033
+ ? this.titleId
1034
+ : undefined }, this.afTitle && h("title", { key: '1c0a137be9ac050af93f8e52e93996555b18ae96', id: this.titleId }, this.afTitle), this.afDesc && h("desc", { key: 'ad8090cd6ad3607946a7bba7fd69a3e3ee7b3538' }, this.afDesc), h("path", { key: '5e92479bddf6b48482ba2f4d2258c6a051bc2080', class: "digi-icon-chevron-down__shape", d: "M1 1l6.074 6L13 1.147", stroke: "currentColor", "stroke-width": "2", fill: "none", "fill-rule": "evenodd" })));
1035
+ }
1036
+ };
1037
+ IconChevronDown.style = DigiIconChevronDownStyle0;
1038
+
1039
+ const iconValidationErrorCss = ".sc-digi-icon-validation-error-h{--digi--icon--color:var(--digi--color--icon--primary);--digi--icon--width:initial;--digi--icon--height:auto;display:flex;min-height:1.4em;align-items:center}.sc-digi-icon-validation-error-h svg.sc-digi-icon-validation-error{color:var(--digi--icon--color);max-width:var(--digi--icon--width);max-height:var(--digi--icon--height);width:var(--digi--icon--width, auto);height:var(--digi--icon--height, auto)}";
1040
+ const DigiIconValidationErrorStyle0 = iconValidationErrorCss;
1041
+
1042
+ const IconValidationError = class {
1043
+ constructor(hostRef) {
1044
+ registerInstance(this, hostRef);
1045
+ this.afTitle = undefined;
1046
+ this.afDesc = undefined;
1047
+ this.afSvgAriaHidden = true;
1048
+ this.afSvgAriaLabelledby = undefined;
1049
+ this.titleId = randomIdGenerator('icontitle');
1050
+ }
1051
+ render() {
1052
+ return (h("svg", { key: '215ed4d45fc7125b502405f45be9b8525980c0a1', class: "digi-icon-validation-error", width: "48", height: "48", viewBox: "0 0 48 48", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": this.afSvgAriaHidden ? 'true' : 'false', "aria-labelledby": this.afSvgAriaLabelledby
1053
+ ? this.afSvgAriaLabelledby
1054
+ : this.afTitle
1055
+ ? this.titleId
1056
+ : undefined }, this.afTitle && h("title", { key: '50e41b34e0eac377caa84b0fcd931963843949c5', id: this.titleId }, this.afTitle), this.afDesc && h("desc", { key: '6884921d2dfbb0ce9af9cd2959e929aa8a351a6f' }, this.afDesc), h("path", { key: '18c6dbfd917e05e1d08c4aff64e2a8b7c39bfe95', class: "digi-icon-validation-error__shape", d: "M34.4328058,0 C35.5494848,0 36.5900526,0.609146757 37.1483921,1.58958113 L47.5812454,19.9104189 C48.1395849,20.8909496 48.1395849,22.1090504 47.5812454,23.0895811 L37.1483921,41.4104189 C36.5900526,42.3908532 35.5494848,43 34.4328058,43 L13.5671942,43 C12.4505152,43 11.4099474,42.3908532 10.8516079,41.4104189 L0.41875464,23.0895811 C-0.13958488,22.1090504 -0.13958488,20.8909496 0.41875464,19.9104189 L10.8516079,1.58958113 C11.4099474,0.609146757 12.4505152,0 13.5671942,0 Z M18.6736823,12.3728178 C18.2711762,11.964729 17.6203819,11.964729 17.2178757,12.3728178 L15.2825964,14.334939 C14.8800903,14.7430278 14.8800903,15.4028485 15.2825964,15.8109373 L20.6089616,21.2111779 L15.2825964,26.6114185 C14.8800903,27.0195074 14.8800903,27.6793281 15.2825964,28.0874169 L17.2178757,30.049538 C17.6203819,30.4576269 18.2711762,30.4576269 18.6736823,30.049538 L24.0000475,24.6492974 L29.3264127,30.049538 C29.7289188,30.4576269 30.3797132,30.4576269 30.7822193,30.049538 L32.7174986,28.0874169 C33.1200048,27.6793281 33.1200048,27.0195074 32.7174986,26.6114185 L27.3911334,21.2111779 L32.7174986,15.8109373 C33.1200048,15.4028485 33.1200048,14.7430278 32.7174986,14.334939 L30.7822193,12.3728178 C30.3797132,11.964729 29.7289188,11.964729 29.3264127,12.3728178 L24.0000475,17.7730584 Z", fill: "currentColor", "fill-rule": "nonzero" })));
1057
+ }
1058
+ };
1059
+ IconValidationError.style = DigiIconValidationErrorStyle0;
1060
+
1061
+ const iconValidationSuccessCss = ".sc-digi-icon-validation-success-h{--digi--icon--color:var(--digi--color--icon--primary);--digi--icon--width:initial;--digi--icon--height:auto;display:flex;min-height:1.4em;align-items:center}.sc-digi-icon-validation-success-h svg.sc-digi-icon-validation-success{color:var(--digi--icon--color);max-width:var(--digi--icon--width);max-height:var(--digi--icon--height);width:var(--digi--icon--width, auto);height:var(--digi--icon--height, auto)}";
1062
+ const DigiIconValidationSuccessStyle0 = iconValidationSuccessCss;
1063
+
1064
+ const IconCheckCircle = class {
1065
+ constructor(hostRef) {
1066
+ registerInstance(this, hostRef);
1067
+ this.afTitle = undefined;
1068
+ this.afDesc = undefined;
1069
+ this.afSvgAriaHidden = true;
1070
+ this.afSvgAriaLabelledby = undefined;
1071
+ this.titleId = randomIdGenerator('icontitle');
1072
+ }
1073
+ render() {
1074
+ return (h("svg", { key: '5a97bff65735eb5dfb967a91ac6d57e724bba899', class: "digi-icon-validation-success", width: "25", height: "25", viewBox: "0 0 25 25", "aria-hidden": this.afSvgAriaHidden ? 'true' : 'false', "aria-labelledby": this.afSvgAriaLabelledby
1075
+ ? this.afSvgAriaLabelledby
1076
+ : this.afTitle
1077
+ ? this.titleId
1078
+ : undefined, xmlns: "http://www.w3.org/2000/svg" }, this.afTitle && h("title", { key: '3595f915b3f4a2cdbdef9216c7e5f468d631444d', id: this.titleId }, this.afTitle), this.afDesc && h("desc", { key: '83552998214817f66d1dc8381fa8c6d8a04a4b8e' }, this.afDesc), h("path", { key: 'e1a139cccf2b81927aed305f137c0fb5ba523a97', class: "digi-icon-validation-success__shape", d: "M25 12.5C25 19.404 19.404 25 12.5 25S0 19.404 0 12.5 5.596 0 12.5 0 25 5.596 25 12.5zm-13.946 6.619l9.274-9.275a.806.806 0 000-1.14l-1.14-1.14a.806.806 0 00-1.14 0l-7.564 7.563-3.531-3.531a.807.807 0 00-1.14 0l-1.141 1.14a.806.806 0 000 1.14l5.242 5.243a.806.806 0 001.14 0z", fill: "currentColor", "fill-rule": "nonzero" })));
1079
+ }
1080
+ };
1081
+ IconCheckCircle.style = DigiIconValidationSuccessStyle0;
1082
+
1083
+ const iconValidationWarningCss = ".sc-digi-icon-validation-warning-h{--digi--icon--color:var(--digi--color--icon--primary);--digi--icon--width:initial;--digi--icon--height:auto;display:flex;min-height:1.4em;align-items:center}.sc-digi-icon-validation-warning-h svg.sc-digi-icon-validation-warning{color:var(--digi--icon--color);max-width:var(--digi--icon--width);max-height:var(--digi--icon--height);width:var(--digi--icon--width, auto);height:var(--digi--icon--height, auto)}";
1084
+ const DigiIconValidationWarningStyle0 = iconValidationWarningCss;
1085
+
1086
+ const IconValidationWarning = class {
1087
+ constructor(hostRef) {
1088
+ registerInstance(this, hostRef);
1089
+ this.afTitle = undefined;
1090
+ this.afDesc = undefined;
1091
+ this.afSvgAriaHidden = true;
1092
+ this.afSvgAriaLabelledby = undefined;
1093
+ this.titleId = randomIdGenerator('icontitle');
1094
+ }
1095
+ render() {
1096
+ return (h("div", { key: '0e72404fd84b522858a70020f72399924d37ec18' }, h("svg", { key: 'cd993cacfd3c1b6409b448f28e493dfc2bbfac60', class: "digi-icon-validation-warning", width: "18", height: "18", viewBox: "0 0 18 18", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": this.afSvgAriaHidden ? 'true' : 'false', "aria-labelledby": this.afSvgAriaLabelledby
1097
+ ? this.afSvgAriaLabelledby
1098
+ : this.afTitle
1099
+ ? this.titleId
1100
+ : undefined }, this.afTitle && h("title", { key: 'ecb012faa417a12dd8364cdb668d05871cbd9e2d', id: this.titleId }, this.afTitle), this.afDesc && h("desc", { key: '79645e3d7c66df619e6395fc230ceb168e126b55' }, this.afDesc), h("g", { key: 'f45dfa63c0474d9ec4d4b5761aa4d89eeec96885', fill: "none", "fill-rule": "evenodd" }, h("circle", { key: '51f6f20faff8a50086a66a1865ed56711e96d01c', cx: "9", cy: "9", r: "6.75", fill: "#333" }), h("path", { key: '45179f87b52df55eba0a3ca50113df0cd14eba9b', d: "m18 9c0 4.9717-4.0298 9-9 9-4.9702 0-9-4.0283-9-9 0-4.9688 4.0298-9 9-9 4.9702 0 9 4.0312 9 9zm-9 1.8145c-0.92196 0-1.6694 0.7474-1.6694 1.6694 0 0.92196 0.7474 1.6694 1.6694 1.6694s1.6694-0.7474 1.6694-1.6694c0-0.92196-0.7474-1.6694-1.6694-1.6694zm-1.3157-1.065c0.012593 0.23095 0.20355 0.41175 0.43483 0.41175h1.7618c0.23128 0 0.42224-0.1808 0.43483-0.41175l0.2692-4.9355c0.013609-0.24946-0.18501-0.45922-0.43483-0.45922h-2.3002c-0.24982 0-0.4484 0.20976-0.43479 0.45922l0.2692 4.9355z", fill: "#FFE200" })))));
1101
+ }
1102
+ };
1103
+ IconValidationWarning.style = DigiIconValidationWarningStyle0;
1104
+
1105
+ const UtilKeydownHandler = class {
1106
+ constructor(hostRef) {
1107
+ registerInstance(this, hostRef);
1108
+ this.afOnEsc = createEvent(this, "afOnEsc", 7);
1109
+ this.afOnEnter = createEvent(this, "afOnEnter", 7);
1110
+ this.afOnTab = createEvent(this, "afOnTab", 7);
1111
+ this.afOnSpace = createEvent(this, "afOnSpace", 7);
1112
+ this.afOnShiftTab = createEvent(this, "afOnShiftTab", 7);
1113
+ this.afOnUp = createEvent(this, "afOnUp", 7);
1114
+ this.afOnDown = createEvent(this, "afOnDown", 7);
1115
+ this.afOnLeft = createEvent(this, "afOnLeft", 7);
1116
+ this.afOnRight = createEvent(this, "afOnRight", 7);
1117
+ this.afOnHome = createEvent(this, "afOnHome", 7);
1118
+ this.afOnEnd = createEvent(this, "afOnEnd", 7);
1119
+ this.afOnKeyDown = createEvent(this, "afOnKeyDown", 7);
1120
+ }
1121
+ keydownHandler(e) {
1122
+ const key = keyboardHandler(e);
1123
+ switch (key) {
1124
+ case KEY_CODE.SHIFT_TAB:
1125
+ this.afOnShiftTab.emit(e);
1126
+ break;
1127
+ case KEY_CODE.DOWN_ARROW:
1128
+ this.afOnDown.emit(e);
1129
+ this.afOnKeyDown.emit(e);
1130
+ break;
1131
+ case KEY_CODE.UP_ARROW:
1132
+ this.afOnUp.emit(e);
1133
+ this.afOnKeyDown.emit(e);
1134
+ break;
1135
+ case KEY_CODE.LEFT_ARROW:
1136
+ this.afOnLeft.emit(e);
1137
+ this.afOnKeyDown.emit(e);
1138
+ break;
1139
+ case KEY_CODE.RIGHT_ARROW:
1140
+ this.afOnRight.emit(e);
1141
+ this.afOnKeyDown.emit(e);
1142
+ break;
1143
+ case KEY_CODE.ENTER:
1144
+ this.afOnEnter.emit(e);
1145
+ this.afOnKeyDown.emit(e);
1146
+ break;
1147
+ case KEY_CODE.ESCAPE:
1148
+ this.afOnEsc.emit(e);
1149
+ this.afOnKeyDown.emit(e);
1150
+ break;
1151
+ case KEY_CODE.TAB:
1152
+ this.afOnTab.emit(e);
1153
+ this.afOnKeyDown.emit(e);
1154
+ break;
1155
+ case KEY_CODE.SPACE:
1156
+ this.afOnSpace.emit(e);
1157
+ this.afOnKeyDown.emit(e);
1158
+ break;
1159
+ case KEY_CODE.HOME:
1160
+ this.afOnHome.emit(e);
1161
+ this.afOnKeyDown.emit(e);
1162
+ break;
1163
+ case KEY_CODE.END:
1164
+ this.afOnEnd.emit(e);
1165
+ this.afOnKeyDown.emit(e);
1166
+ break;
1167
+ case KEY_CODE.ANY:
1168
+ this.afOnKeyDown.emit(e);
1169
+ break;
1170
+ default:
1171
+ this.afOnKeyDown.emit(e);
1172
+ return;
1173
+ }
1174
+ }
1175
+ render() {
1176
+ return h("slot", { key: 'fcd72f74e391d6becc44f6178461db694fe9c803' });
1177
+ }
1178
+ };
1179
+
1180
+ export { Button as digi_button, FormInput as digi_form_input, FormLabel as digi_form_label, FormSelectFilter as digi_form_select_filter, FormValidationMessage as digi_form_validation_message, IconCheck as digi_icon_check, IconChevronDown as digi_icon_chevron_down, IconValidationError as digi_icon_validation_error, IconCheckCircle as digi_icon_validation_success, IconValidationWarning as digi_icon_validation_warning, UtilKeydownHandler as digi_util_keydown_handler };