@designsystem-se/af 37.0.2-beta.0 → 37.0.2-beta.1

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 (249) hide show
  1. package/components/digi-bar-chart.js +1 -1
  2. package/components/digi-button.js +1 -1
  3. package/components/digi-calendar-datepicker.js +1 -1
  4. package/components/digi-calendar-week-view.js +1 -1
  5. package/components/digi-chart-line.js +1 -1
  6. package/components/digi-code-block.js +1 -1
  7. package/components/digi-code-example.js +2 -2
  8. package/components/digi-context-menu.js +1 -1
  9. package/components/digi-dialog.js +1 -1
  10. package/components/digi-form-category-filter.js +1 -1
  11. package/components/digi-form-checkbox.js +1 -1
  12. package/components/digi-form-error-list.js +2 -2
  13. package/components/digi-form-filter.js +3 -3
  14. package/components/digi-form-input-search.js +1 -1
  15. package/components/digi-form-select-filter.js +2 -2
  16. package/components/digi-header-avatar.js +1 -1
  17. package/components/digi-header-navigation.js +1 -1
  18. package/components/digi-header.js +4 -4
  19. package/components/digi-info-card-multi.js +1 -1
  20. package/components/digi-info-card.js +1 -1
  21. package/components/digi-link-internal.js +1 -1
  22. package/components/digi-navigation-pagination.js +1 -1
  23. package/components/digi-navigation-sidebar-button.js +1 -1
  24. package/components/digi-navigation-sidebar.js +1 -1
  25. package/components/digi-notification-alert.js +1 -1
  26. package/components/digi-tag.js +1 -1
  27. package/components/digi-tools-feedback.js +1 -1
  28. package/components/digi-tools-theme-provider.js +1 -1
  29. package/components/p-0139aa4e.js +66 -0
  30. package/components/{p-d2a95a3e.js → p-35dc20c4.js} +1 -1
  31. package/components/{p-29f63312.js → p-6bc35478.js} +1 -1
  32. package/components/p-a761b038.js +165 -0
  33. package/components/p-ae129206.js +163 -0
  34. package/components/{p-e756fda7.js → p-f5f26951.js} +1 -1
  35. package/dist/cjs/digi-arbetsformedlingen.cjs.js +1 -1
  36. package/dist/cjs/digi-button_83.cjs.entry.js +8198 -0
  37. package/dist/cjs/{digi-code-block.cjs.entry.js → digi-code-block_2.cjs.entry.js} +28 -9
  38. package/dist/cjs/digi-dialog.cjs.entry.js +2 -9
  39. package/dist/cjs/digi-form-error-list.cjs.entry.js +2 -9
  40. package/dist/cjs/digi-form-radiogroup.cjs.entry.js +80 -0
  41. package/dist/cjs/digi-form-receipt.cjs.entry.js +2 -9
  42. package/dist/cjs/digi-navigation-pagination.cjs.entry.js +2 -9
  43. package/dist/cjs/digi-notification-error-page.cjs.entry.js +2 -9
  44. package/dist/cjs/digi-tools-feedback.cjs.entry.js +2 -9
  45. package/dist/cjs/form-radiogroup-validation.enum-03a17d4d.js +9 -0
  46. package/dist/cjs/index-7a477838.js +8 -140
  47. package/dist/cjs/index.cjs.js +106 -113
  48. package/dist/cjs/loader.cjs.js +1 -1
  49. package/dist/cjs/{typography-variation.enum-e41bd69d.js → typography-variation.enum-d87d726d.js} +119 -8
  50. package/dist/collection/components/_button/button/button.css +4 -4
  51. package/dist/collection/components/_calendar/calendar-datepicker/calendar-datepicker.css +15 -7
  52. package/dist/collection/components/_form/form-checkbox/form-checkbox.css +14 -6
  53. package/dist/collection/components/_form/form-filter/form-filter.css +1 -1
  54. package/dist/collection/components/_form/form-select-filter/form-select-filter.css +2 -2
  55. package/dist/collection/components/_header/header/header.js +2 -2
  56. package/dist/collection/components/_header/header-avatar/header-avatar.css +14 -6
  57. package/dist/collection/components/_info-card/info-card-multi/info-card-multi.css +1 -1
  58. package/dist/collection/components/_link/link-internal/link-internal.css +14 -6
  59. package/dist/collection/components/_tools/tools-theme-provider/tools-theme-provider.js +3 -3
  60. package/dist/collection/design-tokens/components/_button.variables.scss +4 -4
  61. package/dist/collection/design-tokens/components/_calendar-datepicker.variables.scss +1 -1
  62. package/dist/collection/design-tokens/components/_form-filter.variables.scss +1 -1
  63. package/dist/collection/design-tokens/components/_form-select-filter.variables.scss +2 -2
  64. package/dist/collection/design-tokens/components/_info-card-multi.variables.scss +1 -1
  65. package/dist/collection/styles/src/_alias.mixin.scss +4 -0
  66. package/dist/collection/styles/src/themes/_common.mixin.scss +2 -2
  67. package/dist/collection/styles/src/themes/_theme-af25.mixin.scss +8 -4
  68. package/dist/digi-arbetsformedlingen/design-tokens/components/_button.variables.scss +4 -4
  69. package/dist/digi-arbetsformedlingen/design-tokens/components/_calendar-datepicker.variables.scss +1 -1
  70. package/dist/digi-arbetsformedlingen/design-tokens/components/_form-filter.variables.scss +1 -1
  71. package/dist/digi-arbetsformedlingen/design-tokens/components/_form-select-filter.variables.scss +2 -2
  72. package/dist/digi-arbetsformedlingen/design-tokens/components/_info-card-multi.variables.scss +1 -1
  73. package/dist/digi-arbetsformedlingen/digi-arbetsformedlingen.css +1 -1
  74. package/dist/digi-arbetsformedlingen/digi-arbetsformedlingen.esm.js +1 -1
  75. package/dist/digi-arbetsformedlingen/index.esm.js +1 -1
  76. package/dist/digi-arbetsformedlingen/p-09169f17.entry.js +1 -0
  77. package/dist/digi-arbetsformedlingen/p-24fe2189.js +1 -0
  78. package/dist/digi-arbetsformedlingen/p-3066da42.entry.js +1 -0
  79. package/dist/digi-arbetsformedlingen/p-750ff498.entry.js +1 -0
  80. package/dist/digi-arbetsformedlingen/p-81bbd04c.entry.js +1 -0
  81. package/dist/digi-arbetsformedlingen/p-8f775593.entry.js +1 -0
  82. package/dist/digi-arbetsformedlingen/p-901a3527.entry.js +1 -0
  83. package/dist/digi-arbetsformedlingen/p-94a9a0f4.entry.js +1 -0
  84. package/dist/digi-arbetsformedlingen/p-a6009681.js +1 -0
  85. package/dist/digi-arbetsformedlingen/p-ec9e7c00.entry.js +1 -0
  86. package/dist/digi-arbetsformedlingen/p-f6edfd64.entry.js +1 -0
  87. package/dist/digi-arbetsformedlingen/styles/src/_alias.mixin.scss +4 -0
  88. package/dist/digi-arbetsformedlingen/styles/src/themes/_common.mixin.scss +2 -2
  89. package/dist/digi-arbetsformedlingen/styles/src/themes/_theme-af25.mixin.scss +8 -4
  90. package/dist/esm/digi-arbetsformedlingen.js +1 -1
  91. package/dist/esm/digi-button_83.entry.js +8112 -0
  92. package/dist/esm/{digi-code-block.entry.js → digi-code-block_2.entry.js} +28 -10
  93. package/dist/esm/digi-dialog.entry.js +2 -9
  94. package/dist/esm/digi-form-error-list.entry.js +2 -9
  95. package/dist/esm/digi-form-radiogroup.entry.js +76 -0
  96. package/dist/esm/digi-form-receipt.entry.js +2 -9
  97. package/dist/esm/digi-navigation-pagination.entry.js +2 -9
  98. package/dist/esm/digi-notification-error-page.entry.js +2 -9
  99. package/dist/esm/digi-tools-feedback.entry.js +2 -9
  100. package/dist/esm/form-radiogroup-validation.enum-d790fc66.js +9 -0
  101. package/dist/esm/index-148a7577.js +8 -140
  102. package/dist/esm/index.js +2 -9
  103. package/dist/esm/loader.js +1 -1
  104. package/dist/esm/{typography-variation.enum-b07f76c9.js → typography-variation.enum-c5257524.js} +120 -9
  105. package/dist/types/components/_tools/tools-theme-provider/tools-theme-provider.d.ts +1 -1
  106. package/dist/types/components.d.ts +2 -2
  107. package/hydrate/index.js +10 -10
  108. package/hydrate/index.mjs +10 -10
  109. package/package.json +1 -1
  110. package/components/p-0d568c4b.js +0 -66
  111. package/components/p-606ba731.js +0 -165
  112. package/components/p-f77cb7ae.js +0 -163
  113. package/dist/cjs/digi-button_38.cjs.entry.js +0 -5759
  114. package/dist/cjs/digi-footer-card.cjs.entry.js +0 -29
  115. package/dist/cjs/digi-footer.cjs.entry.js +0 -64
  116. package/dist/cjs/digi-form-file-upload.cjs.entry.js +0 -588
  117. package/dist/cjs/digi-form-filter.cjs.entry.js +0 -248
  118. package/dist/cjs/digi-header-avatar.cjs.entry.js +0 -114
  119. package/dist/cjs/digi-header-navigation-item.cjs.entry.js +0 -27
  120. package/dist/cjs/digi-header-navigation.cjs.entry.js +0 -218
  121. package/dist/cjs/digi-header-notification.cjs.entry.js +0 -23
  122. package/dist/cjs/digi-header.cjs.entry.js +0 -134
  123. package/dist/cjs/digi-icon-accessibility-universal.cjs.entry.js +0 -30
  124. package/dist/cjs/digi-icon-bars.cjs.entry.js +0 -30
  125. package/dist/cjs/digi-icon-bell-filled.cjs.entry.js +0 -30
  126. package/dist/cjs/digi-icon-check-circle-solid_4.cjs.entry.js +0 -99
  127. package/dist/cjs/digi-icon-envelope.cjs.entry.js +0 -30
  128. package/dist/cjs/digi-icon-external-link-alt_2.cjs.entry.js +0 -60
  129. package/dist/cjs/digi-icon-globe.cjs.entry.js +0 -30
  130. package/dist/cjs/digi-icon-list-ul_6.cjs.entry.js +0 -145
  131. package/dist/cjs/digi-icon-notification-error_4.cjs.entry.js +0 -99
  132. package/dist/cjs/digi-icon-sign.cjs.entry.js +0 -30
  133. package/dist/cjs/digi-icon-spinner.cjs.entry.js +0 -31
  134. package/dist/cjs/digi-icon-x.cjs.entry.js +0 -30
  135. package/dist/cjs/digi-info-card-multi-container.cjs.entry.js +0 -22
  136. package/dist/cjs/digi-info-card-multi.cjs.entry.js +0 -58
  137. package/dist/cjs/digi-info-card.cjs.entry.js +0 -79
  138. package/dist/cjs/digi-layout-columns.cjs.entry.js +0 -33
  139. package/dist/cjs/digi-link-button.cjs.entry.js +0 -66
  140. package/dist/cjs/digi-link-internal.cjs.entry.js +0 -37
  141. package/dist/cjs/digi-logo.cjs.entry.js +0 -69
  142. package/dist/cjs/digi-media-image_2.cjs.entry.js +0 -167
  143. package/dist/cjs/digi-navigation-sidebar-button.cjs.entry.js +0 -30
  144. package/dist/cjs/digi-notification-alert.cjs.entry.js +0 -102
  145. package/dist/cjs/digi-tag-media.cjs.entry.js +0 -47
  146. package/dist/cjs/digi-title-logo.cjs.entry.js +0 -121
  147. package/dist/cjs/digi-util-breakpoint-observer.cjs.entry.js +0 -48
  148. package/dist/cjs/footer-card-variation.enum-99555edc.js +0 -8
  149. package/dist/cjs/form-validation-message-variation.enum-c5ec3e2d.js +0 -31
  150. package/dist/cjs/info-card-multi-type.enum-14746572.js +0 -8
  151. package/dist/cjs/info-card-variation.enum-64cef637.js +0 -24
  152. package/dist/cjs/layout-columns-variation.enum-65675649.js +0 -23
  153. package/dist/cjs/link-button-variation.enum-137785e3.js +0 -9
  154. package/dist/cjs/logo-variation.enum-607fadb4.js +0 -13
  155. package/dist/cjs/tag-media-icon.enum-372563c5.js +0 -11
  156. package/dist/digi-arbetsformedlingen/p-0501a287.entry.js +0 -1
  157. package/dist/digi-arbetsformedlingen/p-07303cb5.js +0 -1
  158. package/dist/digi-arbetsformedlingen/p-0f543000.entry.js +0 -1
  159. package/dist/digi-arbetsformedlingen/p-0f6c0360.js +0 -1
  160. package/dist/digi-arbetsformedlingen/p-13120f18.entry.js +0 -1
  161. package/dist/digi-arbetsformedlingen/p-16f09f62.entry.js +0 -1
  162. package/dist/digi-arbetsformedlingen/p-180663ef.entry.js +0 -1
  163. package/dist/digi-arbetsformedlingen/p-1a619dd3.entry.js +0 -1
  164. package/dist/digi-arbetsformedlingen/p-237cad1c.entry.js +0 -1
  165. package/dist/digi-arbetsformedlingen/p-26e8ea70.entry.js +0 -1
  166. package/dist/digi-arbetsformedlingen/p-286973f2.entry.js +0 -1
  167. package/dist/digi-arbetsformedlingen/p-290d1746.js +0 -1
  168. package/dist/digi-arbetsformedlingen/p-2a023831.js +0 -1
  169. package/dist/digi-arbetsformedlingen/p-3887bb40.js +0 -1
  170. package/dist/digi-arbetsformedlingen/p-3c0c5222.entry.js +0 -1
  171. package/dist/digi-arbetsformedlingen/p-3dafce70.entry.js +0 -1
  172. package/dist/digi-arbetsformedlingen/p-443e9415.entry.js +0 -1
  173. package/dist/digi-arbetsformedlingen/p-52a3c86a.entry.js +0 -1
  174. package/dist/digi-arbetsformedlingen/p-54d9bd3e.entry.js +0 -1
  175. package/dist/digi-arbetsformedlingen/p-5ca38506.entry.js +0 -1
  176. package/dist/digi-arbetsformedlingen/p-5eba5ec4.entry.js +0 -1
  177. package/dist/digi-arbetsformedlingen/p-61385dc4.entry.js +0 -1
  178. package/dist/digi-arbetsformedlingen/p-67e32cc2.entry.js +0 -1
  179. package/dist/digi-arbetsformedlingen/p-73a6be41.entry.js +0 -1
  180. package/dist/digi-arbetsformedlingen/p-76ec3619.entry.js +0 -1
  181. package/dist/digi-arbetsformedlingen/p-780519ec.entry.js +0 -1
  182. package/dist/digi-arbetsformedlingen/p-7888e12c.entry.js +0 -1
  183. package/dist/digi-arbetsformedlingen/p-7c116ffb.entry.js +0 -1
  184. package/dist/digi-arbetsformedlingen/p-800b764b.entry.js +0 -1
  185. package/dist/digi-arbetsformedlingen/p-814ca2ad.js +0 -1
  186. package/dist/digi-arbetsformedlingen/p-820e795b.js +0 -1
  187. package/dist/digi-arbetsformedlingen/p-82a89ca1.entry.js +0 -1
  188. package/dist/digi-arbetsformedlingen/p-84719680.entry.js +0 -1
  189. package/dist/digi-arbetsformedlingen/p-870c4f49.entry.js +0 -1
  190. package/dist/digi-arbetsformedlingen/p-8e1568c4.entry.js +0 -1
  191. package/dist/digi-arbetsformedlingen/p-8e47ac34.entry.js +0 -1
  192. package/dist/digi-arbetsformedlingen/p-9b6e8cf8.entry.js +0 -1
  193. package/dist/digi-arbetsformedlingen/p-9e56568b.entry.js +0 -1
  194. package/dist/digi-arbetsformedlingen/p-ac87daf1.entry.js +0 -1
  195. package/dist/digi-arbetsformedlingen/p-b328f60b.entry.js +0 -1
  196. package/dist/digi-arbetsformedlingen/p-b4bef936.entry.js +0 -1
  197. package/dist/digi-arbetsformedlingen/p-d9bcab5f.entry.js +0 -1
  198. package/dist/digi-arbetsformedlingen/p-df3a8ec4.entry.js +0 -1
  199. package/dist/digi-arbetsformedlingen/p-e2c92528.entry.js +0 -1
  200. package/dist/digi-arbetsformedlingen/p-e540b80f.entry.js +0 -1
  201. package/dist/digi-arbetsformedlingen/p-e5fee242.js +0 -1
  202. package/dist/digi-arbetsformedlingen/p-e7ee9bea.entry.js +0 -1
  203. package/dist/digi-arbetsformedlingen/p-eada91bf.entry.js +0 -1
  204. package/dist/digi-arbetsformedlingen/p-ee88e3f1.js +0 -1
  205. package/dist/digi-arbetsformedlingen/p-fa44ce49.entry.js +0 -1
  206. package/dist/digi-arbetsformedlingen/p-fe409f14.entry.js +0 -1
  207. package/dist/esm/digi-button_38.entry.js +0 -5718
  208. package/dist/esm/digi-footer-card.entry.js +0 -25
  209. package/dist/esm/digi-footer.entry.js +0 -60
  210. package/dist/esm/digi-form-file-upload.entry.js +0 -584
  211. package/dist/esm/digi-form-filter.entry.js +0 -244
  212. package/dist/esm/digi-header-avatar.entry.js +0 -110
  213. package/dist/esm/digi-header-navigation-item.entry.js +0 -23
  214. package/dist/esm/digi-header-navigation.entry.js +0 -214
  215. package/dist/esm/digi-header-notification.entry.js +0 -19
  216. package/dist/esm/digi-header.entry.js +0 -130
  217. package/dist/esm/digi-icon-accessibility-universal.entry.js +0 -26
  218. package/dist/esm/digi-icon-bars.entry.js +0 -26
  219. package/dist/esm/digi-icon-bell-filled.entry.js +0 -26
  220. package/dist/esm/digi-icon-check-circle-solid_4.entry.js +0 -92
  221. package/dist/esm/digi-icon-envelope.entry.js +0 -26
  222. package/dist/esm/digi-icon-external-link-alt_2.entry.js +0 -55
  223. package/dist/esm/digi-icon-globe.entry.js +0 -26
  224. package/dist/esm/digi-icon-list-ul_6.entry.js +0 -136
  225. package/dist/esm/digi-icon-notification-error_4.entry.js +0 -92
  226. package/dist/esm/digi-icon-sign.entry.js +0 -26
  227. package/dist/esm/digi-icon-spinner.entry.js +0 -27
  228. package/dist/esm/digi-icon-x.entry.js +0 -26
  229. package/dist/esm/digi-info-card-multi-container.entry.js +0 -18
  230. package/dist/esm/digi-info-card-multi.entry.js +0 -54
  231. package/dist/esm/digi-info-card.entry.js +0 -75
  232. package/dist/esm/digi-layout-columns.entry.js +0 -29
  233. package/dist/esm/digi-link-button.entry.js +0 -62
  234. package/dist/esm/digi-link-internal.entry.js +0 -33
  235. package/dist/esm/digi-logo.entry.js +0 -65
  236. package/dist/esm/digi-media-image_2.entry.js +0 -162
  237. package/dist/esm/digi-navigation-sidebar-button.entry.js +0 -26
  238. package/dist/esm/digi-notification-alert.entry.js +0 -98
  239. package/dist/esm/digi-tag-media.entry.js +0 -43
  240. package/dist/esm/digi-title-logo.entry.js +0 -117
  241. package/dist/esm/digi-util-breakpoint-observer.entry.js +0 -44
  242. package/dist/esm/footer-card-variation.enum-cc732148.js +0 -8
  243. package/dist/esm/form-validation-message-variation.enum-f7835fc5.js +0 -31
  244. package/dist/esm/info-card-multi-type.enum-07ee124f.js +0 -8
  245. package/dist/esm/info-card-variation.enum-2ccc52c1.js +0 -24
  246. package/dist/esm/layout-columns-variation.enum-34f7754e.js +0 -23
  247. package/dist/esm/link-button-variation.enum-84d4976f.js +0 -9
  248. package/dist/esm/logo-variation.enum-5b68b79f.js +0 -13
  249. package/dist/esm/tag-media-icon.enum-fefa191c.js +0 -11
@@ -1,588 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const index = require('./index-7a477838.js');
6
- const text = require('./text-65b1b58c.js');
7
- const randomIdGenerator_util = require('./randomIdGenerator.util-e7f4b6de.js');
8
- const formValidationMessageVariation_enum = require('./form-validation-message-variation.enum-c5ec3e2d.js');
9
- const utilBreakpointObserverBreakpoints_enum = require('./util-breakpoint-observer-breakpoints.enum-e96d3a84.js');
10
-
11
- const formFileUploadCss = ".sc-digi-form-file-upload-h {\n --digi--form-file-upload--color--background--small--default: var(--digi--color--background--interactive--default--quaternary);\n --digi--form-file-upload--color--background--small--hover: var(--digi--color--background--interactive--hover--secondary);\n --digi--form-file-upload--color--background--medium--default: var(--digi--color--background--interactive--default--quaternary);\n --digi--form-file-upload--color--background--medium--hover: var(--digi--color--background--interactive--hover--secondary);\n --digi--form-file-upload--color--background--large--default: var(--digi--color--background--interactive--default--quaternary);\n --digi--form-file-upload--color--background--large--hover: var(--digi--color--background--interactive--hover--secondary);\n --digi--form-file-upload--color--background--uploaded-files: var(--digi--color--background--secondary-elevated);\n --digi--form-file-upload--color--border--small--default: var(--digi--color--border--interactive--default--on-input-nuance);\n --digi--form-file-upload--color--border--small--hover: var(--digi--color--border--interactive--hover--primary);\n --digi--form-file-upload--color--border--medium--default: var(--digi--color--border--interactive--default--on-input-nuance);\n --digi--form-file-upload--color--border--medium--hover: var(--digi--color--border--interactive--hover--primary);\n --digi--form-file-upload--color--border--large--default: var(--digi--color--border--interactive--default--on-input-nuance);\n --digi--form-file-upload--color--border--large--hover: var(--digi--color--border--interactive--hover--primary);\n --digi--form-file-upload--border-width--small--default: var(--digi--border-width--secondary);\n --digi--form-file-upload--border-width--small--hover: var(--digi--border-width--primary);\n --digi--form-file-upload--border-width--medium--default: var(--digi--border-width--secondary);\n --digi--form-file-upload--border-width--medium--hover: var(--digi--border-width--primary);\n --digi--form-file-upload--border-width--large--default: var(--digi--border-width--secondary);\n --digi--form-file-upload--border-width--large--hover: var(--digi--border-width--primary);\n --digi--form-file-upload--border-style--small--default: var(--digi--global--border-style--none);\n --digi--form-file-upload--border-style--medium--default: var(--digi--global--border-style--dashed);\n --digi--form-file-upload--border-style--large--default: var(--digi--global--border-style--dashed);\n --digi--form-file-upload--border-radius--small--default: var(--digi--border-radius--secondary);\n --digi--form-file-upload--border-radius--medium--default: var(--digi--border-radius--secondary);\n --digi--form-file-upload--border-radius--large--default: var(--digi--border-radius--secondary);\n --digi--form-file-upload--padding--small: var(--digi--gutter--medium) var(--digi--gutter--largest);\n --digi--form-file-upload--padding--medium: var(--digi--gutter--medium) var(--digi--gutter--medium) var(--digi--global--spacing--largest-2) var(--digi--gutter--medium);\n --digi--form-file-upload--padding--large: var(--digi--gutter--medium) var(--digi--gutter--medium) var(--digi--global--spacing--largest-2) var(--digi--gutter--medium);\n --digi--form-file-upload--font-size--small: var(--digi--global--typography--font-size--small);\n --digi--form-file-upload--font-size--medium: var(--digi--global--typography--font-size--base);\n --digi--form-file-upload--font-size--large: var(--digi--global--typography--font-size--large);\n --digi--form-file-upload--heading--font-family: var(--digi--global--typography--font-family--default);\n --digi--form-file-upload--heading--font-weight: var(--digi--typography--heading-4--font-weight--desktop);\n --digi--form-file-upload--heading--font-size: var(--digi--typography--heading-4--font-size--desktop);\n --digi--form-file-upload--heading--font-size--large: var(--digi--typography--heading-4--font-size--desktop-large);\n --digi--form-file-upload--font-family: var(--digi--global--typography--font-family--default);\n --digi--form-file-upload--font-weight: var(--digi--typography--form-file-upload--font-weight--desktop);\n --digi--form-file-upload--button-text--color--default: var(--digi--color--text--interactive--primary);\n --digi--form-file-upload--button-text--color--hover: var(--digi--color--text--interactive--primary);\n --digi--form-file-upload--padding--small--icon: var(--digi--global--spacing--smaller) var(--digi--global--spacing--smallest-2);\n --digi--form-file-upload--padding--medium--icon: var(--digi--global--spacing--base) var(--digi--global--spacing--smallest-2);\n --digi--form-file-upload--width--small: 132px;\n --digi--form-file-upload--width--medium: 304px;\n --digi--form-file-upload--width--large: inherit;\n --digi--form-file-upload--border--error: var(--digi--global--border-style--solid) solid;\n --digi--form-file-upload--border-color--error: var(--digi--color--border--interactive--validation--error);\n --digi--form-file-upload--border--error--width: var(--digi--border-width--secondary);\n --digi--form-file-upload--background--error: var(--digi--color--background--interactive--validation--error);\n container-type: inline-size;\n display: block;\n width: 100%;\n}\n.sc-digi-form-file-upload-h a.sc-digi-form-file-upload {\n font-weight: var(--digi--global--typography--font-weight--semibold);\n color: var(--digi--color--text--interactive--primary);\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload.sc-digi-form-file-upload {\n font-family: var(--digi--global--typography--font-family--default);\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload--small.sc-digi-form-file-upload {\n --COLOR--BACKGROUND--FILE-LIST: var(--digi--form-file-upload--color--background--uploaded-files);\n --COLOR--BACKGROUND--DEFAULT: var(--digi--form-file-upload--color--background--small--default);\n --COLOR--BACKGROUND--HOVER: var(--digi--form-file-upload--color--background--small--hover);\n --COLOR--BORDER--DEFAULT: var(--digi--form-file-upload--color--border--small--default);\n --COLOR--BORDER--HOVER: var(--digi--form-file-upload--color--border--small--hover);\n --BORDER-STYLE--DEFAULT: var(--digi--form-file-upload--border-style--small--default);\n --BORDER-RADIUS--DEFAULT: var(--digi--form-file-upload--border-radius--small--default);\n --BORDER-WIDTH--DEFAULT: var(--digi--form-file-upload--border-width--small--default);\n --WIDTH: var(--digi--form-file-upload--width--small);\n --FONT-WEIGHT: var(--digi--form-file-upload--font-weight);\n --PADDING: var(--digi--form-file-upload--padding--small);\n --ICON--PADDING: var(--digi--form-file-upload--padding--small--icon);\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload--medium.sc-digi-form-file-upload {\n --COLOR--BACKGROUND--FILE-LIST: var(--digi--form-file-upload--color--background--uploaded-files);\n --COLOR--BACKGROUND--DEFAULT: var(--digi--form-file-upload--color--background--medium--default);\n --COLOR--BACKGROUND--HOVER: var(--digi--form-file-upload--color--background--medium--hover);\n --COLOR--BORDER--DEFAULT: var(--digi--form-file-upload--color--border--medium--default);\n --COLOR--BORDER--HOVER: var(--digi--form-file-upload--color--border--medium--hover);\n --BORDER-STYLE--DEFAULT: var(--digi--form-file-upload--border-style--medium--default);\n --BORDER-RADIUS--DEFAULT: var(--digi--form-file-upload--border-radius--medium--default);\n --BORDER-WIDTH--DEFAULT: var(--digi--form-file-upload--border-width--medium--default);\n --WIDTH: var(--digi--form-file-upload--width--medium);\n --FONT-WEIGHT: var(--digi--form-file-upload--font-weight);\n --PADDING: var(--digi--form-file-upload--padding--medium);\n --ICON--PADDING: var(--digi--form-file-upload--padding--medium--icon);\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload--large.sc-digi-form-file-upload {\n --COLOR--BACKGROUND--FILE-LIST: var(--digi--form-file-upload--color--background--uploaded-files);\n --COLOR--BACKGROUND--DEFAULT: var(--digi--form-file-upload--color--background--large--default);\n --COLOR--BACKGROUND--HOVER: var(--digi--form-file-upload--color--background--large--hover);\n --COLOR--BORDER--DEFAULT: var(--digi--form-file-upload--color--border--large--default);\n --COLOR--BORDER--HOVER: var(--digi--form-file-upload--color--border--large--hover);\n --BORDER-STYLE--DEFAULT: var(--digi--form-file-upload--border-style--large--default);\n --BORDER-RADIUS--DEFAULT: var(--digi--form-file-upload--border-radius--large--default);\n --BORDER-WIDTH--DEFAULT: var(--digi--form-file-upload--border-width--large--default);\n --WIDTH: var(--digi--form-file-upload--width--large);\n --FONT-WEIGHT: var(--digi--form-file-upload--font-weight);\n --PADDING: var(--digi--form-file-upload--padding--large);\n --ICON--PADDING: var(--digi--form-file-upload--padding--medium--icon);\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload--has-errors.sc-digi-form-file-upload {\n --BORDER-STYLE--DEFAULT: var(--digi--form-file-upload--border--error);\n --COLOR--BORDER--DEFAULT: var(--digi--form-file-upload--border-color--error);\n --COLOR--BACKGROUND--HOVER: var(--digi--form-file-upload--border-color--error);\n --BORDER-WIDTH--DEFAULT: var(--digi--form-file-upload--border--error--width);\n --COLOR--BACKGROUND--DEFAULT: var(--digi--form-file-upload--background--error);\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__spinner.sc-digi-form-file-upload {\n margin-right: 0.5rem;\n animation: animation__rotation 3s infinite linear;\n transform-origin: center;\n --digi--icon--height: 1rem;\n}\n@media (prefers-reduced-motion) {\n .sc-digi-form-file-upload-h .digi-form-file-upload__spinner.sc-digi-form-file-upload {\n animation: none;\n }\n}\n@keyframes animation__rotation {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(359deg);\n }\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__input.sc-digi-form-file-upload {\n display: none;\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__button.sc-digi-form-file-upload {\n margin: 0 0 auto 0.5rem;\n text-align: center;\n white-space: nowrap;\n background: none;\n border: none;\n cursor: pointer;\n font-weight: var(--digi--typography--button--font-weight--desktop);\n font-size: var(--digi--typography--body--font-size--desktop);\n color: var(--digi--form-file-upload--button-text--color--default);\n display: flex;\n align-items: center;\n font-family: var(--digi--global--typography--font-family--default);\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__button.sc-digi-form-file-upload:hover {\n color: var(--digi--form-file-upload--button-text--color--hover);\n text-decoration: underline;\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__button.sc-digi-form-file-upload:hover .digi-form-file-upload__button-icon.sc-digi-form-file-upload {\n --digi--icon--color: var(--digi--form-file-upload--button-text--color--hover);\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__button.sc-digi-form-file-upload:focus-visible {\n outline: 2px solid black;\n outline-offset: 2px;\n box-shadow: 0px 0px 0px 5px white;\n text-decoration: underline;\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__button-icon.sc-digi-form-file-upload {\n --digi--icon--height: 1.25rem;\n --digi--icon--width: 1.25rem;\n --digi--icon--color: var(--digi--color--text--interactive--primary);\n margin-left: 5px;\n padding: var(--ICON--PADDING);\n padding-right: 0;\n padding-left: 0;\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__button-icon.sc-digi-form-file-upload:hover {\n --digi--icon--color: var(--digi--form-file-upload--button-text--color--hover);\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__upload-area.sc-digi-form-file-upload {\n border-color: var(--COLOR--BORDER--DEFAULT);\n border-radius: var(--BORDER-RADIUS--DEFAULT);\n border-width: var(--BORDER-WIDTH--DEFAULT);\n border-style: var(--BORDER-STYLE--DEFAULT);\n max-width: var(--WIDTH);\n margin: 0;\n display: flex;\n flex-direction: column;\n background-color: var(--COLOR--BACKGROUND--DEFAULT);\n align-items: center;\n padding: var(--PADDING);\n margin-bottom: var(--digi--gutter--medium);\n margin-top: var(--digi--gutter--button-block-small);\n position: relative;\n cursor: pointer;\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__upload-area--hover.sc-digi-form-file-upload {\n border-color: var(--COLOR--BORDER--HOVER);\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__upload-area-overlay.sc-digi-form-file-upload {\n position: absolute;\n width: 100%;\n height: 100%;\n background-color: var(--COLOR--BACKGROUND--HOVER);\n opacity: 0.1;\n top: 0;\n left: 0;\n z-index: 10;\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__text-area.sc-digi-form-file-upload {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__text-area.sc-digi-form-file-upload .paper-clip.sc-digi-form-file-upload {\n padding-right: 0.5rem;\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__files-list.sc-digi-form-file-upload {\n max-width: none;\n padding: 0;\n margin: 0;\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__files.sc-digi-form-file-upload {\n border-radius: var(--BORDER-RADIUS--DEFAULT);\n max-width: 100%;\n width: 100%;\n box-sizing: border-box;\n background-color: var(--COLOR--BACKGROUND--FILE-LIST);\n padding: var(--digi--gutter--largest-2) var(--digi--padding--large);\n margin-bottom: var(--digi--gutter--medium);\n margin-top: var(--digi--gutter--medium);\n padding-bottom: var(--digi--padding--smaller);\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__files-heading.sc-digi-form-file-upload {\n font-family: var(--digi--form-file-upload--heading--font-family);\n font-size: var(--digi--typography--label--font-size--desktop);\n font-weight: var(--digi--form-file-upload--heading--font-weight);\n color: var(--digi--color--text--primary);\n margin: var(--digi--margin--small) 0 var(--digi--margin--medium) 0;\n display: block;\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__files-heading--and-errors.sc-digi-form-file-upload {\n margin-top: var(--digi--margin--largest);\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__error-list-container.sc-digi-form-file-upload {\n display: flex;\n justify-content: space-between;\n padding-bottom: 0.75rem;\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__error-list-container.with-files.sc-digi-form-file-upload {\n border-bottom: var(--BORDER-WIDTH--DEFAULT) solid var(--digi--color--divider--primary);\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__error-list-container.sc-digi-form-file-upload .clear-button.sc-digi-form-file-upload {\n max-height: 1.5rem;\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__error-list-container.sc-digi-form-file-upload .clear-button.sc-digi-form-file-upload .clear-icon.sc-digi-form-file-upload {\n padding-right: 0;\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__error-list.sc-digi-form-file-upload {\n margin: 0;\n padding: 0;\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__error-list.sc-digi-form-file-upload li.sc-digi-form-file-upload {\n list-style: none;\n margin-bottom: 0.75rem;\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__error-list.sc-digi-form-file-upload li.sc-digi-form-file-upload:last-of-type {\n margin-bottom: 0;\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__item.sc-digi-form-file-upload {\n margin: var(--digi--margin--small) 0;\n margin-bottom: var(--digi--margin--medium);\n width: 100%;\n box-sizing: border-box;\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__item-container.sc-digi-form-file-upload {\n list-style-type: none;\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__item-container.sc-digi-form-file-upload:nth-child(n+2) {\n border-top: var(--BORDER-WIDTH--DEFAULT) solid var(--digi--color--divider--primary);\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__item-pending-container.sc-digi-form-file-upload {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__item-pending-container.sc-digi-form-file-upload .info-wrapper.sc-digi-form-file-upload {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n height: auto;\n min-width: 20%;\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__item-pending-container.sc-digi-form-file-upload .button-wrapper.sc-digi-form-file-upload {\n display: flex;\n min-width: 20%;\n justify-content: flex-end;\n align-items: center;\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__item-pending-container.sc-digi-form-file-upload p.sc-digi-form-file-upload {\n margin: auto var(--digi--margin--small) !important;\n font-weight: var(--digi--form-file-upload--font-weight);\n font-size: var(--digi--typography--body--font-size--desktop);\n white-space: nowrap;\n height: max-content;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__item-pending-container.sc-digi-form-file-upload .digi-form-file-upload__button-abort.sc-digi-form-file-upload {\n margin: 0;\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__item-text-and-thumbnail-container.sc-digi-form-file-upload {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n width: 100%;\n min-width: 20%;\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__item-green-check.sc-digi-form-file-upload {\n width: 1.375rem;\n height: 1.375rem;\n display: flex;\n align-self: baseline;\n position: relative;\n top: 4px;\n left: 0px;\n margin-right: 4px;\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__item-green-check.sc-digi-form-file-upload svg.sc-digi-form-file-upload {\n --digi--icon--height: 16px;\n --digi--icon--width: 16px;\n --digi--icon--color: var(--digi--color--icon--validation--success);\n background-color: var(--digi--color--background--primary);\n border-radius: 50%;\n align-self: flex-start;\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__item-name.sc-digi-form-file-upload {\n width: 100%;\n margin: auto 0;\n font-weight: var(--digi--typography--button--font-weight--desktop);\n font-size: var(--digi--typography--body--font-size--desktop);\n height: max-content;\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__item-name--thumbnail.sc-digi-form-file-upload {\n font-weight: var(--digi--typography--button--font-weight--desktop);\n font-size: var(--digi--typography--body--font-size--desktop);\n margin: auto 0 auto var(--digi--margin--small);\n color: var(--digi--form-file-upload--button-text--color--default);\n}\n@media (max-width: 500px) {\n .sc-digi-form-file-upload-h .digi-form-file-upload__item-name.sc-digi-form-file-upload {\n max-width: 17.5rem;\n }\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__item-name.sc-digi-form-file-upload:focus-visible {\n outline: 2px solid black;\n outline-offset: 2px;\n box-shadow: 0px 0px 0px 5px white;\n}\n@container (max-width: 620px) {\n .sc-digi-form-file-upload-h .digi-form-file-upload__item .digi-form-file-upload__item-name {\n max-width: 17.5rem;\n }\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__item-text-container.sc-digi-form-file-upload {\n position: relative;\n display: flex;\n padding: 0;\n margin: 0;\n justify-content: space-between;\n align-items: center;\n overflow-wrap: break-word;\n gap: 32px;\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__item-text-container-inner.sc-digi-form-file-upload {\n display: flex;\n width: 100%;\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__item-text-container-figure.sc-digi-form-file-upload {\n margin: 0;\n align-self: flex-start;\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__item-text-container-figure.sc-digi-form-file-upload::after {\n position: absolute;\n content: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='none' fill-rule='evenodd'%3E%3Ccircle fill='%23FFF' cx='8' cy='8' r='6'/%3E%3Cpath d='M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0Zm-8.925 4.236L13.01 6.3a.516.516 0 0 0 0-.73l-.73-.73a.516.516 0 0 0-.73 0L6.71 9.682l-2.26-2.26a.516.516 0 0 0-.73 0l-.73.73a.516.516 0 0 0 0 .73l3.355 3.355a.516.516 0 0 0 .73 0Z' fill='%23009322'/%3E%3C/g%3E%3C/svg%3E\");\n top: -6px;\n left: 24px;\n width: 18px;\n height: 18px;\n overflow: hidden;\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__item-text-container.sc-digi-form-file-upload .thumbnail.sc-digi-form-file-upload {\n width: 2rem;\n height: 2rem;\n object-fit: cover;\n flex-grow: 0;\n margin-right: 0.75rem;\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__item-text-container.sc-digi-form-file-upload .hidden.sc-digi-form-file-upload {\n margin-left: var(--digi--margin--larger);\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__item-pdf-preview-bis.sc-digi-form-file-upload {\n position: relative;\n top: 6px;\n left: 5px;\n margin-right: 1.25rem;\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__item-pdf-preview-bis.sc-digi-form-file-upload::after {\n position: absolute;\n content: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='none' fill-rule='evenodd'%3E%3Ccircle fill='%23FFF' cx='8' cy='8' r='6'/%3E%3Cpath d='M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0Zm-8.925 4.236L13.01 6.3a.516.516 0 0 0 0-.73l-.73-.73a.516.516 0 0 0-.73 0L6.71 9.682l-2.26-2.26a.516.516 0 0 0-.73 0l-.73.73a.516.516 0 0 0 0 .73l3.355 3.355a.516.516 0 0 0 .73 0Z' fill='%23009322'/%3E%3C/g%3E%3C/svg%3E\");\n top: -7px;\n left: 15px;\n width: 18px;\n height: 18px;\n overflow: hidden;\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__item-info.sc-digi-form-file-upload {\n width: 100%;\n}\n@container (max-width: 500px) {\n .sc-digi-form-file-upload-h .digi-form-file-upload__item .digi-form-file-upload__item span {\n margin-left: 0;\n margin-right: auto;\n }\n}\n.sc-digi-form-file-upload-h .digi-form-file-upload__error.sc-digi-form-file-upload {\n color: var(--digi--color--icon--validation--error);\n}\n.sc-digi-form-file-upload-h .visually-hidden.sc-digi-form-file-upload {\n border: 0;\n clip: rect(1px, 1px, 1px, 1px);\n -webkit-clip-path: inset(50%);\n clip-path: inset(50%);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n white-space: nowrap;\n}\n@container (min-width: 500px) {\n .sc-digi-form-file-upload-h .hidden-desktop {\n display: none !important;\n }\n}\n@container (max-width: 499px) {\n .sc-digi-form-file-upload-h .hidden-mobile {\n display: none !important;\n }\n}";
12
- const DigiFormFileUploadStyle0 = formFileUploadCss;
13
-
14
- const FormFileUpload = class {
15
- constructor(hostRef) {
16
- index.registerInstance(this, hostRef);
17
- this.afOnUploadFile = index.createEvent(this, "afOnUploadFile", 7);
18
- this.afOnRemoveFile = index.createEvent(this, "afOnRemoveFile", 7);
19
- this.afOnCancelFile = index.createEvent(this, "afOnCancelFile", 7);
20
- this.afOnReady = index.createEvent(this, "afOnReady", 3);
21
- this.afShowModal = index.createEvent(this, "afShowModal", 7);
22
- this.toBase64 = (file) => new Promise((resolve, reject) => {
23
- const reader = new FileReader();
24
- reader.readAsDataURL(file);
25
- reader.onload = () => {
26
- const encoded = reader.result.toString().replace(/^data:(.*,)?/, '');
27
- resolve(encoded);
28
- };
29
- reader.onerror = (error) => reject(error);
30
- });
31
- this._input = undefined;
32
- this._fileList = undefined;
33
- this._uploadButton = undefined;
34
- this._srTextContainer = undefined;
35
- this.files = [];
36
- this.error = false;
37
- this.errorMessages = [];
38
- this.fileHover = false;
39
- this.afLabel = text._t.form.file_upload;
40
- this.afLabelDescription = undefined;
41
- this.afVariation = formValidationMessageVariation_enum.FormFileUploadVariation.SMALL;
42
- this.afId = randomIdGenerator_util.randomIdGenerator('digi-form-file-upload');
43
- this.afFileTypes = undefined;
44
- this.afFileMaxSize = 10;
45
- this.afMaxFiles = undefined;
46
- this.afName = undefined;
47
- this.afUploadBtnText = undefined;
48
- this.afRequired = undefined;
49
- this.afRequiredText = undefined;
50
- this.afAnnounceIfOptional = false;
51
- this.afHeadingFiles = text._t.form.file_uploaded_files;
52
- this.afAnnounceIfOptionalText = undefined;
53
- this.afFileMaxSizeText = undefined;
54
- this.afShowThumbnail = false;
55
- this.afEnablePreview = false;
56
- this.afValidationText = undefined;
57
- this.afValidation = formValidationMessageVariation_enum.FormFileUploadValidation.DISABLED;
58
- this.afHeadingLevel = formValidationMessageVariation_enum.FormFileUploadHeadingLevel.H2;
59
- this.afErrorMessageIsAlert = true;
60
- }
61
- afValidationTextChange() {
62
- this.setValidationText();
63
- }
64
- get errorMessageIsAlert() {
65
- return (this.afErrorMessageIsAlert !== false &&
66
- this.afErrorMessageIsAlert !== 'false');
67
- }
68
- breakpointHandler(e) {
69
- if (e.detail.value) {
70
- if (e.detail.value === utilBreakpointObserverBreakpoints_enum.UtilBreakpointObserverBreakpoints.SMALL) {
71
- this.afVariation = formValidationMessageVariation_enum.FormFileUploadVariation.SMALL;
72
- }
73
- else {
74
- this.afVariation = this.aforiginalVariation;
75
- }
76
- }
77
- }
78
- /**
79
- * Används för att skicka in en validerad fil tillbaks till komponenten. Förväntar sig att filen redan finns i komponenten med status "pending".
80
- * @en Send a validated file to the component. Expects file to exist in component with status "pending".
81
- */
82
- async afMValidateFile(file) {
83
- if (!this.fileExistInFiles(file)) {
84
- return;
85
- }
86
- this.removeFileFromList(file['id']);
87
- if (file['status'] !== 'error') {
88
- /* Måste göra en kopia av filen för att komponenten ska rendera om sig.
89
- * Annars kan den peka på samma referens och förstår inte att statusen har ändrats. */
90
- const copiedFile = new File([file], file.name, { type: file.type });
91
- copiedFile['id'] = file['id'];
92
- copiedFile['status'] = file['status'];
93
- copiedFile['base64'] = await this.toBase64(file);
94
- this.files = [...this.files, copiedFile];
95
- }
96
- else {
97
- this.validateFile(file);
98
- }
99
- }
100
- /**
101
- * Få ut alla uppladdade filer
102
- * @en Get all uploaded files
103
- */
104
- async afMGetAllFiles() {
105
- return this.files;
106
- }
107
- /**
108
- * Hämta ut komponentens validitets-state och felmeddelanden
109
- * @en Get component validity and error messages
110
- */
111
- async afMGetValidationState() {
112
- return { isValid: !this.error, errorMessages: this.errorMessages };
113
- }
114
- /**
115
- * Importera lista med filer utan att trigga uppladdningsevent. Ett objekt måste innehålla id, status och filen själv.
116
- * @en Import array with files without triggering upload event. A file object needs to contain an id, status and the file itself.
117
- */
118
- async afMImportFiles(files) {
119
- if (files && files.length > 0) {
120
- for (const importedFile of files) {
121
- this.validateFile(importedFile);
122
- }
123
- }
124
- const filesThatArOK = this.errorMessages.length === 0 ? files : this.getFilesThatAreOK(files);
125
- if (filesThatArOK.length === 0) {
126
- return;
127
- }
128
- this.files = this.files.concat(filesThatArOK);
129
- }
130
- async afMGetFormControlElement() {
131
- return this._input;
132
- }
133
- /**
134
- * Lyssnar på om fokus sätts på custom-elementet och propagerar ner det till själva input-elementet.
135
- * @en Listens for when focus is set on the custom element and propagates it down to the actual input element.
136
- */
137
- focusOnInput() {
138
- this._input.focus();
139
- }
140
- componentWillLoad() {
141
- this.aforiginalVariation = this.afVariation;
142
- }
143
- componentDidLoad() {
144
- this.hostElement.setAttribute('tabindex', '-1');
145
- this.afOnReady.emit();
146
- /* Vid första renderingen så fungerar inte propertyn korrekt om vi inte kallar på setValidationText härifrån.
147
- * Gissar att det är en tajmin-issue mellan prop och state, men hinner inte gräva i det mer nu. */
148
- this.setValidationText();
149
- }
150
- get fileMaxSize() {
151
- const MEGABYTE = 1048576;
152
- return this.afFileMaxSize * MEGABYTE;
153
- }
154
- setValidationText() {
155
- if (this.afValidationText && this.afValidationText.length > 0) {
156
- let isDuplicated = false;
157
- if (this.errorMessages.length > 0) {
158
- this.errorMessages.forEach((error) => {
159
- if (error.message === this.afValidationText) {
160
- isDuplicated = true;
161
- }
162
- });
163
- }
164
- if (!isDuplicated) {
165
- this.errorMessages.push({
166
- fileName: '',
167
- message: this.afValidationText
168
- });
169
- }
170
- this.error = true;
171
- }
172
- else {
173
- this.resetErrors();
174
- }
175
- }
176
- fileExistInFiles(fileToCheck) {
177
- let exist = false;
178
- if (this.files.length > 0) {
179
- this.files.forEach((file) => {
180
- if (file.name === fileToCheck.name) {
181
- exist = true;
182
- }
183
- });
184
- }
185
- return exist;
186
- }
187
- checkAcceptedTypes(file) {
188
- const acceptedTypes = this.afFileTypes.replace(/\s/g, '').split(',');
189
- const fileMimeType = file.type;
190
- const fileNameExtension = file.name
191
- .split('.')
192
- .slice(-1)
193
- .map((item) => '.' + item.toLowerCase())
194
- .toString();
195
- return acceptedTypes.some((item) => {
196
- // Checking against group of mime types
197
- if (item.includes('/*')) {
198
- const mimeTypeCategory = item.split('/').slice(0, 1).toString();
199
- const fileMimeTypeCategory = fileMimeType
200
- .split('/')
201
- .slice(0, 1)
202
- .toString();
203
- return mimeTypeCategory == fileMimeTypeCategory;
204
- }
205
- // Checking against mimetype and extension
206
- return (item === fileMimeType || item === fileNameExtension || item === '*');
207
- });
208
- }
209
- resetErrors(handleFocus = false) {
210
- this.error = false;
211
- this._srTextContainer.textContent = '';
212
- this.errorMessages = [];
213
- /* Timeouten behövs för att state och element ska hinna renderas om innan fokus flyttas.
214
- Vi märkte att det blir problem för hjälpmedel om den inte är på plats. */
215
- if (handleFocus) {
216
- setTimeout(() => {
217
- this._uploadButton.focus();
218
- }, 100);
219
- }
220
- }
221
- addErrorMessage(fileName, message) {
222
- this.errorMessages.push({
223
- fileName: fileName,
224
- message: message
225
- });
226
- }
227
- validateFileStatus(file) {
228
- if (file['status'] &&
229
- file['status'] === formValidationMessageVariation_enum.FormValidationMessageVariation.ERROR) {
230
- const message = file['error']
231
- ? file['error']
232
- : text._t.form.file_error_unknown_error;
233
- this.addErrorMessage(file.name, message);
234
- }
235
- }
236
- validateMaxSize(file) {
237
- if (file.size > this.fileMaxSize) {
238
- const message = this.afFileMaxSizeText
239
- ? this.afFileMaxSizeText
240
- : text._t.form.file_error_too_large(file.name, this.afFileMaxSize);
241
- this.addErrorMessage(file.name, message);
242
- }
243
- }
244
- validateFileType(file) {
245
- if (!this.checkAcceptedTypes(file)) {
246
- this.addErrorMessage(file.name, text._t.form.file_error_filetype_not_allowed(file.name, this.afFileTypes));
247
- }
248
- }
249
- validateFile(file) {
250
- this.validateIfFileIsAlreadyUploaded(file);
251
- this.validateFileStatus(file);
252
- this.validateMaxSize(file);
253
- this.validateFileType(file);
254
- this.error = this.errorMessages.length > 0;
255
- }
256
- onCancelFileHandler(e, id) {
257
- e.preventDefault();
258
- const fileFromList = this.removeFileFromList(id);
259
- fileFromList['status'] = 'error';
260
- fileFromList['error'] = text._t.form.file_upload_canceled;
261
- this.afOnCancelFile.emit(fileFromList);
262
- }
263
- removeFileFromList(id) {
264
- const index = this.getIndexOfFile(id);
265
- if (index === -1) {
266
- return;
267
- }
268
- const removedFile = this.files[index];
269
- this.files = [
270
- ...this.files.slice(0, index),
271
- ...this.files.slice(index + 1)
272
- ];
273
- return removedFile;
274
- }
275
- getIndexOfFile(id) {
276
- const index = this.files.findIndex((file) => file['id'] == id);
277
- return index;
278
- }
279
- getFilesThatAreOK(files) {
280
- const validFiles = [];
281
- files.forEach((file) => {
282
- let isValid = true;
283
- this.errorMessages.forEach((message) => {
284
- if (message.fileName === file.name) {
285
- isValid = false;
286
- }
287
- });
288
- if (isValid) {
289
- validFiles.push(file);
290
- }
291
- });
292
- return validFiles;
293
- }
294
- validateIfFileIsAlreadyUploaded(file) {
295
- for (const item of this.files) {
296
- if (item.name === file.name) {
297
- this.addErrorMessage(file.name, text._t.form.file_error_exists(file.name));
298
- }
299
- }
300
- }
301
- handleFiles(e) {
302
- var _a, _b;
303
- this.resetErrors();
304
- const fileList = e.dataTransfer ? (_a = e.dataTransfer) === null || _a === void 0 ? void 0 : _a.files : (_b = e.target) === null || _b === void 0 ? void 0 : _b.files;
305
- const filesToValidate = [];
306
- Array.from(fileList).forEach((file) => {
307
- filesToValidate.push(file);
308
- });
309
- if (!filesToValidate || filesToValidate.length === 0) {
310
- return;
311
- }
312
- const numberOfFiles = filesToValidate.length + this.files.length;
313
- if (numberOfFiles > this.afMaxFiles) {
314
- this.addErrorMessage('', text._t.form.file_error_too_many);
315
- this.error = true;
316
- return;
317
- }
318
- filesToValidate.forEach((file) => {
319
- this.validateFile(file);
320
- });
321
- const filesThatArOK = this.errorMessages.length === 0
322
- ? filesToValidate
323
- : this.getFilesThatAreOK(filesToValidate);
324
- if (filesThatArOK.length === 0) {
325
- return;
326
- }
327
- const formData = new FormData();
328
- filesThatArOK.forEach((file) => {
329
- formData.append('file', file);
330
- });
331
- for (const obj of formData.entries()) {
332
- this.addFileStatusAndEmitFiles(obj[1]);
333
- }
334
- this._input.value = '';
335
- }
336
- onButtonUploadFileHandler(e) {
337
- e.preventDefault();
338
- if (!e.target.files)
339
- return;
340
- this.handleFiles(e);
341
- }
342
- onRemoveFileHandler(e, id) {
343
- e.preventDefault();
344
- this.resetErrors();
345
- const fileToRemove = this.removeFileFromList(id);
346
- this.afOnRemoveFile.emit(fileToRemove);
347
- this._input.value = '';
348
- this.handleFocusAfterFileRemoved();
349
- }
350
- handleFocusAfterFileRemoved() {
351
- /* Timeouten behövs för att state och element ska hinna renderas om innan fokus flyttas.
352
- Vi märkte att det blir problem för hjälpmedel om den inte är på plats. */
353
- setTimeout(() => {
354
- if (this.files.length > 0) {
355
- this._fileList.focus();
356
- }
357
- else {
358
- this._uploadButton.focus();
359
- }
360
- }, 100);
361
- }
362
- emitFile(file) {
363
- const index = this.getIndexOfFile(file['id']);
364
- if (this.afValidation === formValidationMessageVariation_enum.FormFileUploadValidation.ENABLED) {
365
- this.afOnUploadFile.emit(this.files[index]);
366
- }
367
- else {
368
- this.files[index]['status'] = 'OK';
369
- this.afOnUploadFile.emit(this.files[index]);
370
- }
371
- }
372
- async addFileStatusAndEmitFiles(file) {
373
- file['id'] = randomIdGenerator_util.randomIdGenerator('file');
374
- file['status'] = 'pending';
375
- file['base64'] = await this.toBase64(file);
376
- this.files = [...this.files, file];
377
- this.emitFile(file);
378
- }
379
- handleDrop(e) {
380
- e.stopPropagation();
381
- e.preventDefault();
382
- this.fileHover = false;
383
- if (e.dataTransfer.files) {
384
- this.handleFiles(e);
385
- }
386
- }
387
- handleAllowDrop(e) {
388
- if (this.afVariation === formValidationMessageVariation_enum.FormFileUploadVariation.SMALL)
389
- return;
390
- e.stopPropagation();
391
- e.preventDefault();
392
- }
393
- handleOnDragEnterLeave(e) {
394
- this.handleAllowDrop(e);
395
- this.fileHover = !this.fileHover;
396
- }
397
- handleInputClick(e) {
398
- e.stopPropagation();
399
- this.afShowModal.emit();
400
- this._input.click();
401
- }
402
- getFiletypeAndShortFileName(file) {
403
- let fileType = null;
404
- let fileName = file.name;
405
- const fileExtension = fileName.split('.').pop();
406
- const fileWithoutExtension = fileName.replace('.' + fileExtension, '');
407
- const minChars = window.innerWidth < 769 ? 6 : fileName.length;
408
- const maxChars = window.innerWidth < 769 ? 14 : fileName.length;
409
- if (String(file['type']).split('/')[0] === 'image') {
410
- fileType = 'image';
411
- }
412
- else if (String(file['type']).split('/')[1] === 'pdf') {
413
- fileType = 'pdf';
414
- }
415
- else {
416
- fileType = 'default';
417
- }
418
- if (fileName.length > minChars) {
419
- fileName =
420
- fileWithoutExtension.substring(0, minChars) + '...' + fileExtension;
421
- }
422
- else if (fileName.length > maxChars) {
423
- fileName = fileWithoutExtension.substring(0, 6) + '...' + fileExtension;
424
- }
425
- else {
426
- fileName = file.name;
427
- }
428
- return { type: fileType, name: fileName };
429
- }
430
- // If its a pdf or an image the file is opened on another tab, any other file formats are downloaded
431
- async viewUploadedFile(e, file) {
432
- e.preventDefault();
433
- if (this.getFiletypeAndShortFileName(file).type === 'image') {
434
- const w = window.open();
435
- w.document.write(`<img src="data:${file['type']};base64,${file['base64']}" alt="${file.name}" />`);
436
- w.document.title = file['name'];
437
- }
438
- else if (this.getFiletypeAndShortFileName(file).type === 'pdf') {
439
- (async () => {
440
- const pdfstr = await fetch(`data:application/pdf;base64,${file['base64']}`);
441
- const blobFromFetch = await pdfstr.blob();
442
- const blob = new Blob([blobFromFetch], { type: 'application/pdf' });
443
- const blobUrl = URL.createObjectURL(blob);
444
- setTimeout(() => {
445
- window.open(blobUrl, '_blank');
446
- }, 30);
447
- })();
448
- }
449
- else {
450
- const fileURL = URL.createObjectURL(file);
451
- const a = document.createElement('a');
452
- a.href = fileURL;
453
- a.target = '_blank';
454
- a.download = file.name;
455
- a.click();
456
- }
457
- }
458
- get cssModifiers() {
459
- return {
460
- 'digi-form-file-upload--small': this.afVariation == 'small',
461
- 'digi-form-file-upload--medium': this.afVariation == 'medium',
462
- 'digi-form-file-upload--large': this.afVariation == 'large',
463
- 'digi-form-file-upload--has-errors': this.errorMessages.length > 0
464
- };
465
- }
466
- renderErrorMessage() {
467
- if (!this.error) {
468
- return;
469
- }
470
- this.readErrorMessagesToAssistiveTechnologies();
471
- const showBorder = this.files.length > 0 ? 'with-files' : '';
472
- return (index.h("div", { class: 'digi-form-file-upload__error-list-container ' + showBorder }, index.h("ul", { class: "digi-form-file-upload__error-list", "aria-hidden": "true" }, this.renderErrorMessages()), index.h("button", { type: "button", "aria-label": text._t.form.file_upload_reset_errors_aria_label, class: "digi-form-file-upload__button clear-button hidden-mobile", onClick: () => {
473
- this.resetErrors(true);
474
- } }, index.h("span", null, text._t.form.file_upload_reset_errors)), index.h("button", { type: "button", onClick: () => {
475
- this.resetErrors(true);
476
- }, class: "digi-form-file-upload__button clear-button hidden-desktop", "aria-label": text._t.form.file_upload_reset_errors_aria_label }, index.h("digi-icon-x-button-outline", { class: "digi-form-file-upload__button-icon clear-icon", "aria-hidden": "true" }))));
477
- }
478
- readErrorMessagesToAssistiveTechnologies() {
479
- this._srTextContainer.textContent = '';
480
- const srTexts = this.errorMessages.map((error) => {
481
- return error.message + ' ';
482
- });
483
- /* Timeouten behövs för att state och element ska hinna renderas om innan innehållet ändras.
484
- Vi märkte att det blir problem för hjälpmedel om den inte är på plats. */
485
- setTimeout(() => {
486
- this._srTextContainer.textContent = srTexts.toString();
487
- }, 200);
488
- }
489
- renderErrorMessages() {
490
- return this.errorMessages.map((error) => {
491
- return (index.h("li", null, index.h("digi-form-validation-message", { id: "digi-form-file-upload__error", class: "digi-form-file-upload__error", "af-variation": "error" }, error.message)));
492
- });
493
- }
494
- renderPendingFile(file) {
495
- return (index.h("div", { class: "digi-form-file-upload__item-pending-container" }, index.h("span", { class: "info-wrapper" }, index.h("digi-icon-spinner", { class: "digi-form-file-upload__spinner" }), index.h("span", { style: { margin: '0' } }, text._t.form.file_upload_progress, " ", index.h("span", { class: "hidden-mobile" }, "|")), index.h("p", { class: "digi-form-file-upload__item-name-pending hidden-mobile" }, this.getFiletypeAndShortFileName(file).name)), index.h("span", { class: "button-wrapper" }, index.h("button", { type: "button", onClick: (e) => this.onCancelFileHandler(e, file['id']), class: "digi-form-file-upload__button digi-form-file-upload__button-abort hidden-mobile", "aria-label": text._t.form.file_cancel_upload_long(file.name) }, text._t.form.file_cancel_upload), index.h("button", { type: "button", onClick: (e) => this.onCancelFileHandler(e, file['id']), class: "digi-form-file-upload__button hidden-desktop", "aria-label": text._t.form.file_cancel_upload_long(file.name) }, index.h("digi-icon-x-button-outline", { class: "digi-form-file-upload__button-icon", "aria-hidden": "true" })))));
496
- }
497
- renderImageThumbnail(file) {
498
- if (this.afShowThumbnail) {
499
- return (index.h("figure", { class: "digi-form-file-upload__item-text-container-figure", style: { margin: '0' } }, index.h("img", { "aria-hidden": "true", class: "thumbnail", src: `data:${file['type']};base64,${file['base64']}` }), index.h("figcaption", { class: "visually-hidden" }, "Miniatyr av ", file.name)));
500
- }
501
- return this.renderCheckmark();
502
- }
503
- renderCheckmark() {
504
- return (index.h("span", { class: "digi-form-file-upload__item-green-check" }, index.h("digi-icon-check-circle-solid", null)));
505
- }
506
- renderPDFThumbnail(file) {
507
- if (this.afShowThumbnail) {
508
- return (index.h("span", { class: `${this.afShowThumbnail ? 'digi-form-file-upload__item-pdf-preview-bis' : null}`, "aria-label": file.name }, index.h("svg", { style: { scale: '1' }, width: "23.76", height: "32", xmlns: "http://www.w3.org/2000/svg" }, index.h("path", { d: "M22.888 6.124 17.696.88A2.955 2.955 0 0 0 15.6 0H2.97C1.33.006 0 1.35 0 3.006V29C0 30.657 1.33 32 2.97 32h17.82c1.64 0 2.97-1.343 2.97-3V8.249a3.03 3.03 0 0 0-.872-2.124Zm-2.34 1.88H15.84V3.25l4.709 4.756ZM2.97 29.002V3.006h9.9v6.498c0 .831.662 1.5 1.485 1.5h6.435v17.997H2.97Zm15.481-8.98c-.755-.75-2.908-.544-3.985-.406-1.064-.656-1.775-1.562-2.277-2.893.242-1.006.625-2.537.335-3.5-.26-1.637-2.34-1.474-2.636-.368-.273 1.006-.025 2.406.433 4.193-.619 1.493-1.54 3.499-2.19 4.649-1.238.643-2.909 1.637-3.156 2.887-.204.987 1.609 3.449 4.708-1.95 1.386-.462 2.896-1.031 4.233-1.256 1.17.637 2.537 1.062 3.452 1.062 1.578 0 1.733-1.762 1.083-2.418ZM6.194 24.883c.315-.856 1.516-1.844 1.88-2.187-1.175 1.893-1.88 2.23-1.88 2.187Zm5.049-11.91c.458 0 .414 2.005.111 2.549-.272-.869-.266-2.55-.111-2.55Zm-1.51 8.535c.6-1.056 1.114-2.312 1.528-3.418.514.944 1.17 1.7 1.863 2.219-1.287.268-2.407.818-3.391 1.2Zm8.143-.312s-.31.375-2.308-.488c2.172-.162 2.53.338 2.308.488Z", fill: "var(--digi--color--icon--cta)", "fill-rule": "evenodd" }))));
509
- }
510
- return this.renderCheckmark();
511
- }
512
- renderThumbnail(file) {
513
- const fileType = this.getFiletypeAndShortFileName(file).type;
514
- switch (fileType) {
515
- case 'pdf':
516
- return this.renderPDFThumbnail(file);
517
- case 'image':
518
- return this.renderImageThumbnail(file);
519
- default:
520
- return this.renderCheckmark();
521
- }
522
- }
523
- renderFileName(file) {
524
- if (this.afEnablePreview) {
525
- return (index.h("a", { class: "digi-form-file-upload__item-name", href: "#", onClick: (e) => {
526
- this.viewUploadedFile(e, file);
527
- } }, file.name));
528
- }
529
- else {
530
- return index.h("span", { class: "digi-form-file-upload__item-name" }, file.name);
531
- }
532
- }
533
- renderOKFile(file) {
534
- return (index.h(index.Fragment, null, index.h("span", { class: "digi-form-file-upload__item-text-and-thumbnail-container" }, this.renderThumbnail(file), this.renderFileName(file)), index.h("button", { type: "button", onClick: (e) => this.onRemoveFileHandler(e, file['id']), class: "digi-form-file-upload__button digi-form-file-upload__button--mobile", "aria-label": text._t.form.file_remove(file.name) }, index.h("span", { class: "hidden-mobile" }, text._t.form.file_remove()), index.h("digi-icon-trash", { class: "digi-form-file-upload__button-icon hidden-desktop" }))));
535
- }
536
- renderFile(file) {
537
- switch (file['status']) {
538
- case 'pending':
539
- return this.renderPendingFile(file);
540
- default:
541
- return this.renderOKFile(file);
542
- }
543
- }
544
- renderFiles() {
545
- const filesMap = this.files.map((file, index$1) => {
546
- {
547
- return (index.h("li", { class: "digi-form-file-upload__item-container", key: 'file-' + index$1 }, index.h("div", { class: "digi-form-file-upload__item" }, index.h("div", { class: "digi-form-file-upload__item-text-container" }, this.renderFile(file)))));
548
- }
549
- });
550
- return filesMap;
551
- }
552
- renderFileContainer() {
553
- if (this.files.length === 0) {
554
- return;
555
- }
556
- return (index.h(index.Fragment, null, index.h(this.afHeadingLevel, { class: {
557
- 'digi-form-file-upload__files-heading': true,
558
- 'digi-form-file-upload__files-heading--and-errors': this.error
559
- } }, this.afHeadingFiles), index.h("ul", { class: "digi-form-file-upload__files-list", tabindex: -1, ref: (el) => {
560
- this._fileList = el;
561
- } }, this.renderFiles())));
562
- }
563
- render() {
564
- return (index.h(index.Fragment, { key: 'fa66e9f8a9cc1ab9c0e850aaa7091612a40e3179' }, index.h("digi-util-breakpoint-observer", { key: 'e31966e4a3ac5ee7d17236d55b2fcba3a5e5b217', onAfOnChange: (e) => this.breakpointHandler(e) }), index.h("div", { key: '7def9fd833ee627f46af20ce59982e372c758289', class: Object.assign({ 'digi-form-file-upload': true }, this.cssModifiers) }, index.h("digi-form-label", { key: 'b7d36f50ec9a5fa413784ac31a7ef77771be2626', afFor: this.afId, afLabel: this.afLabel, afDescription: this.afLabelDescription, afRequired: this.afRequired, afAnnounceIfOptional: this.afAnnounceIfOptional, afRequiredText: this.afRequiredText, afAnnounceIfOptionalText: this.afAnnounceIfOptionalText }), index.h("div", { key: '15afcf3f1321dc6454094b6f7a5f1e6cf66758bd', class: {
565
- 'digi-form-file-upload__upload-area': true,
566
- 'digi-form-file-upload__upload-area--hover': this.fileHover
567
- }, onDrop: (e) => this.handleDrop(e), onDragOver: (e) => this.handleAllowDrop(e), onDragEnter: (e) => this.handleOnDragEnterLeave(e), onDragLeave: (e) => this.handleOnDragEnterLeave(e), onClick: (e) => this.handleInputClick(e) }, this.fileHover &&
568
- this.afVariation != formValidationMessageVariation_enum.FormFileUploadVariation.SMALL && (index.h("div", { key: '563d428c64e909dd45331c6dd3c20fd4196dd41b', class: "digi-form-file-upload__upload-area-overlay" })), index.h("div", { key: '1ebec5c26501773a1104f878380fcc0377a33010', class: "digi-form-file-upload__text-area" }, index.h("button", { key: '8a1c7c8bf8ccacb620a95ba0221742a6c436cf3c', type: "button", id: this.afId + '-button', ref: (el) => {
569
- this._uploadButton = el;
570
- }, onClick: (e) => this.handleInputClick(e), class: "digi-form-file-upload__button hidden_mobile", style: {
571
- margin: '0'
572
- } }, index.h("digi-icon-paperclip", { key: '1ae48109c0df78f412fd6c07742baaf6ef2d616c', "aria-hidden": "true", class: "digi-form-file-upload__button-icon paper-clip", slot: "icon" }), this.afUploadBtnText
573
- ? this.afUploadBtnText
574
- : text._t.form.file_choose), index.h("input", { key: '3370708299eb4f53f38cb15ae4fb9cb97b993bb9', ref: (el) => {
575
- this._input = el;
576
- }, onChange: (e) => this.onButtonUploadFileHandler(e), class: "digi-form-file-upload__input", multiple: true, type: "file", id: this.afId, accept: this.afFileTypes, name: this.afName ? this.afName : null, required: this.afRequired ? this.afRequired : null, onDrop: (e) => this.handleDrop(e), onDragOver: (e) => this.handleAllowDrop(e), "aria-errormessage": "digi-form-file-upload__error", "aria-describedBy": "digi-form-file-upload__error" }), index.h("span", { key: 'c4deee14a4318dc38368eeec5f5a3b51e0e79e27' }, this.afVariation !== formValidationMessageVariation_enum.FormFileUploadVariation.SMALL &&
577
- text._t.form.file_dropzone))), index.h("p", { key: '6553b8226f080d825eb276ce3f684a95ebeeb649', class: "visually-hidden", role: this.errorMessageIsAlert ? 'alert' : null, "aria-atomic": "true", ref: (el) => {
578
- this._srTextContainer = el;
579
- } }), (this.files.length > 0 || this.error) && (index.h("div", { key: 'c514dfcf95137b192fa490d6cb61e1b68ae82768', class: "digi-form-file-upload__files" }, this.renderErrorMessage(), this.renderFileContainer())))));
580
- }
581
- get hostElement() { return index.getElement(this); }
582
- static get watchers() { return {
583
- "afValidationText": ["afValidationTextChange"]
584
- }; }
585
- };
586
- FormFileUpload.style = DigiFormFileUploadStyle0;
587
-
588
- exports.digi_form_file_upload = FormFileUpload;