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

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 (372) 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 +4 -4
  4. package/components/digi-calendar-week-view.js +1 -1
  5. package/components/digi-calendar.js +1 -1
  6. package/components/digi-chart-line.js +1 -1
  7. package/components/digi-code-block.js +1 -1
  8. package/components/digi-code-example.js +4 -4
  9. package/components/digi-context-menu.js +1 -1
  10. package/components/digi-dialog.js +3 -3
  11. package/components/digi-expandable-faq-item.js +1 -1
  12. package/components/digi-footer.js +1 -1
  13. package/components/digi-form-category-filter.js +1 -1
  14. package/components/digi-form-checkbox.js +1 -1
  15. package/components/digi-form-error-list.js +3 -3
  16. package/components/digi-form-file-upload.js +1 -1
  17. package/components/digi-form-filter.js +2 -2
  18. package/components/digi-form-input-search.js +1 -1
  19. package/components/digi-form-radiobutton.js +1 -1
  20. package/components/digi-form-radiogroup.js +1 -1
  21. package/components/digi-form-receipt.js +1 -1
  22. package/components/digi-form-select-filter.js +3 -3
  23. package/components/digi-form-select.js +1 -1
  24. package/components/digi-header-avatar.js +1 -1
  25. package/components/digi-header-navigation.js +2 -2
  26. package/components/digi-header.js +3 -3
  27. package/components/digi-info-card.js +2 -2
  28. package/components/digi-link-internal.js +1 -1
  29. package/components/digi-logo.js +1 -1
  30. package/components/digi-navigation-pagination.js +2 -2
  31. package/components/digi-navigation-sidebar-button.js +1 -1
  32. package/components/digi-navigation-sidebar.js +1 -1
  33. package/components/digi-navigation-vertical-menu-item.js +1 -1
  34. package/components/digi-notification-alert.js +1 -1
  35. package/components/digi-notification-error-page.js +1 -1
  36. package/components/digi-progress-indicator.js +1 -1
  37. package/components/digi-quote.js +1 -1
  38. package/components/digi-tag.js +1 -1
  39. package/components/digi-title-logo.js +1 -1
  40. package/components/digi-tools-feedback.js +3 -3
  41. package/components/digi-tools-theme-provider.js +5 -18
  42. package/components/index.js +1 -1
  43. package/components/{p-a79e144f.js → p-2ac136a0.js} +1 -1
  44. package/components/{p-7d3fb535.js → p-44f143ea.js} +2 -2
  45. package/components/p-4bad4fb0.js +7 -0
  46. package/components/{p-e756fda7.js → p-62a0008b.js} +2 -2
  47. package/components/{p-29f63312.js → p-7ff04204.js} +2 -2
  48. package/components/p-8bdc6d6b.js +157 -0
  49. package/components/{p-117e7b18.js → p-9466c4e0.js} +1 -1
  50. package/components/p-9dd1da8c.js +177 -0
  51. package/components/p-b57677c1.js +66 -0
  52. package/components/p-e8fc33ed.js +165 -0
  53. package/components/{p-d2a95a3e.js → p-f53eb01a.js} +1 -1
  54. package/custom-elements.json +0 -4
  55. package/dist/cjs/button-size.enum-1fd86b9e.js +7 -0
  56. package/dist/cjs/button-type.enum-406723db.js +8 -0
  57. package/dist/cjs/{code-example-variation.enum-1611825e.js → code-example-variation.enum-c6557727.js} +0 -6
  58. package/dist/cjs/digi-arbetsformedlingen.cjs.js +1 -1
  59. package/dist/cjs/digi-button_2.cjs.entry.js +262 -0
  60. package/dist/cjs/digi-calendar-datepicker.cjs.entry.js +2603 -0
  61. package/dist/cjs/digi-calendar-week-view.cjs.entry.js +51 -50
  62. package/dist/cjs/digi-calendar_2.cjs.entry.js +464 -0
  63. package/dist/cjs/digi-code-block_3.cjs.entry.js +244 -0
  64. package/dist/cjs/digi-code-example.cjs.entry.js +5 -4
  65. package/dist/cjs/digi-dialog.cjs.entry.js +20 -6
  66. package/dist/cjs/digi-expandable-faq-item.cjs.entry.js +97 -0
  67. package/dist/cjs/digi-footer.cjs.entry.js +18 -4
  68. package/dist/cjs/digi-form-category-filter.cjs.entry.js +121 -0
  69. package/dist/cjs/digi-form-error-list.cjs.entry.js +18 -4
  70. package/dist/cjs/digi-form-file-upload.cjs.entry.js +11 -10
  71. package/dist/cjs/digi-form-input-search.cjs.entry.js +8 -6
  72. package/dist/cjs/digi-form-input.cjs.entry.js +194 -0
  73. package/dist/cjs/digi-form-label_3.cjs.entry.js +129 -0
  74. package/dist/cjs/digi-form-radiogroup.cjs.entry.js +80 -0
  75. package/dist/cjs/digi-form-receipt.cjs.entry.js +18 -4
  76. package/dist/cjs/digi-form-select-filter.cjs.entry.js +568 -0
  77. package/dist/cjs/digi-form-select_2.cjs.entry.js +186 -0
  78. package/dist/cjs/digi-header-avatar.cjs.entry.js +1 -1
  79. package/dist/cjs/digi-header-navigation.cjs.entry.js +18 -4
  80. package/dist/cjs/digi-header.cjs.entry.js +19 -5
  81. package/dist/cjs/digi-icon-check.cjs.entry.js +30 -0
  82. package/dist/cjs/digi-icon-chevron-down.cjs.entry.js +30 -0
  83. package/dist/cjs/digi-icon-chevron-left_2.cjs.entry.js +53 -0
  84. package/dist/cjs/digi-icon-copy.cjs.entry.js +30 -0
  85. package/dist/cjs/digi-icon-minus_2.cjs.entry.js +53 -0
  86. package/dist/cjs/digi-icon-validation-error_2.cjs.entry.js +53 -0
  87. package/dist/cjs/digi-info-card.cjs.entry.js +1 -1
  88. package/dist/cjs/digi-layout-block_2.cjs.entry.js +92 -0
  89. package/dist/cjs/digi-link-internal.cjs.entry.js +1 -1
  90. package/dist/cjs/digi-link.cjs.entry.js +75 -0
  91. package/dist/cjs/digi-navigation-pagination.cjs.entry.js +18 -4
  92. package/dist/cjs/digi-navigation-vertical-menu-item.cjs.entry.js +150 -0
  93. package/dist/cjs/digi-navigation-vertical-menu.cjs.entry.js +177 -0
  94. package/dist/cjs/digi-notification-alert.cjs.entry.js +18 -4
  95. package/dist/cjs/digi-notification-error-page.cjs.entry.js +18 -4
  96. package/dist/cjs/digi-progress-indicator.cjs.entry.js +137 -0
  97. package/dist/cjs/digi-quote.cjs.entry.js +1 -1
  98. package/dist/cjs/digi-title-logo.cjs.entry.js +18 -4
  99. package/dist/cjs/digi-tools-feedback.cjs.entry.js +21 -7
  100. package/dist/cjs/digi-tools-theme-provider.cjs.entry.js +28 -0
  101. package/dist/cjs/digi-typography-heading-jumbo.cjs.entry.js +38 -0
  102. package/dist/cjs/digi-typography-preamble.cjs.entry.js +20 -0
  103. package/dist/cjs/digi-typography.cjs.entry.js +26 -0
  104. package/dist/cjs/digi-util-keydown-handler.cjs.entry.js +83 -0
  105. package/dist/cjs/digi-util-mutation-observer.cjs.entry.js +64 -0
  106. package/dist/cjs/expandable-faq-item-variation.enum-89427195.js +18 -0
  107. package/dist/cjs/form-checkbox-variation.enum-d2ca879e.js +19 -0
  108. package/dist/cjs/{form-validation-message-variation.enum-c5ec3e2d.js → form-file-upload-variation.enum-634cfae8.js} +0 -7
  109. package/dist/cjs/form-input-search-variation.enum-c50239bc.js +8 -0
  110. package/dist/cjs/{form-input-type.enum-1fb2180a.js → form-input-type.enum-9c8ee12a.js} +0 -14
  111. package/dist/cjs/form-input-variation.enum-c750520c.js +29 -0
  112. package/dist/cjs/form-radiogroup-validation.enum-03a17d4d.js +9 -0
  113. package/dist/cjs/form-select-variation.enum-528c1bf0.js +16 -0
  114. package/dist/cjs/form-validation-message-variation.enum-855ae0be.js +8 -0
  115. package/dist/cjs/index-7a477838.js +108 -4
  116. package/dist/cjs/{index-acb7b350.js → index-ac8e01b4.js} +19 -189
  117. package/dist/cjs/index-cad91a90.js +66 -0
  118. package/dist/cjs/index-e8333bcc.js +174 -0
  119. package/dist/cjs/index.cjs.js +166 -158
  120. package/dist/cjs/layout-container-max-width.enum-7e637f44.js +21 -0
  121. package/dist/cjs/loader.cjs.js +1 -1
  122. package/dist/cjs/navigation-vertical-menu-variation.enum-c237edd3.js +13 -0
  123. package/dist/cjs/progress-indicator-variation.enum-7cf8e0e4.js +13 -0
  124. package/dist/cjs/tools-theme-provider.brand.enum-bc855272.js +7 -0
  125. package/dist/cjs/typography-heading-jumbo-variation.enum-8677e099.js +17 -0
  126. package/dist/cjs/{typography-variation.enum-e41bd69d.js → typography-variation.enum-50512a4e.js} +0 -158
  127. package/dist/collection/components/_button/button/button.css +6 -6
  128. package/dist/collection/components/_calendar/calendar/calendar.css +2 -7
  129. package/dist/collection/components/_calendar/calendar-datepicker/calendar-datepicker.css +102 -347
  130. package/dist/collection/components/_code/code-example/code-example.css +0 -6
  131. package/dist/collection/components/_dialog/dialog/dialog.css +1 -1
  132. package/dist/collection/components/_expandable/expandable-faq-item/expandable-faq-item.css +2 -2
  133. package/dist/collection/components/_form/form-checkbox/form-checkbox.css +110 -355
  134. package/dist/collection/components/_form/form-checkbox/form-checkbox.js +23 -3
  135. package/dist/collection/components/_form/form-file-upload/form-file-upload.css +3 -4
  136. package/dist/collection/components/_form/form-radiobutton/form-radiobutton.css +7 -2
  137. package/dist/collection/components/_form/form-radiobutton/form-radiobutton.js +23 -3
  138. package/dist/collection/components/_form/form-radiogroup/form-radiogroup.css +4 -0
  139. package/dist/collection/components/_form/form-select/form-select.css +2 -2
  140. package/dist/collection/components/_form/form-select-filter/form-select-filter.css +1 -1
  141. package/dist/collection/components/_header/header-avatar/header-avatar.css +101 -346
  142. package/dist/collection/components/_info-card/info-card/info-card.css +2 -2
  143. package/dist/collection/components/_link/link-internal/link-internal.css +101 -346
  144. package/dist/collection/components/_navigation/navigation-vertical-menu-item/navigation-vertical-menu-item.css +3 -3
  145. package/dist/collection/components/_progress/progress-indicator/progress-indicator.css +3 -4
  146. package/dist/collection/components/_quote/quote/quote.css +2 -2
  147. package/dist/collection/components/_tools/tools-feedback/tools-feedback.css +1 -1
  148. package/dist/collection/components/_tools/tools-theme-provider/tools-theme-provider.css +2 -113
  149. package/dist/collection/components/_tools/tools-theme-provider/tools-theme-provider.js +2 -43
  150. package/dist/collection/design-tokens/components/_button.variables.scss +6 -6
  151. package/dist/collection/design-tokens/components/_calendar-datepicker.variables.scss +1 -1
  152. package/dist/collection/design-tokens/components/_calendar.variables.scss +2 -3
  153. package/dist/collection/design-tokens/components/_dialog.variables.scss +1 -1
  154. package/dist/collection/design-tokens/components/_expandable-faq-item.variables.scss +2 -2
  155. package/dist/collection/design-tokens/components/_form-checkbox.variables.scss +1 -1
  156. package/dist/collection/design-tokens/components/_form-file-upload.variables.scss +0 -2
  157. package/dist/collection/design-tokens/components/_form-select-filter.variables.scss +1 -1
  158. package/dist/collection/design-tokens/components/_form-select.variables.scss +2 -2
  159. package/dist/collection/design-tokens/components/_info-card.variables.scss +2 -2
  160. package/dist/collection/design-tokens/components/_navigation-vertical-menu-item.variables.scss +3 -3
  161. package/dist/collection/design-tokens/components/_quote.variables.scss +2 -2
  162. package/dist/collection/design-tokens/components/_tools-feedback.variables.scss +1 -1
  163. package/dist/collection/enums.js +0 -1
  164. package/dist/collection/styles/src/_alias.mixin.scss +128 -274
  165. package/dist/collection/styles/src/themes/_common.mixin.scss +0 -7
  166. package/dist/collection/styles/src/themes/_theme-af25.mixin.scss +0 -143
  167. package/dist/collection/styles/src/tokens-documentation/web-AF25.json +764 -1647
  168. package/dist/digi-arbetsformedlingen/design-tokens/components/_button.variables.scss +6 -6
  169. package/dist/digi-arbetsformedlingen/design-tokens/components/_calendar-datepicker.variables.scss +1 -1
  170. package/dist/digi-arbetsformedlingen/design-tokens/components/_calendar.variables.scss +2 -3
  171. package/dist/digi-arbetsformedlingen/design-tokens/components/_dialog.variables.scss +1 -1
  172. package/dist/digi-arbetsformedlingen/design-tokens/components/_expandable-faq-item.variables.scss +2 -2
  173. package/dist/digi-arbetsformedlingen/design-tokens/components/_form-checkbox.variables.scss +1 -1
  174. package/dist/digi-arbetsformedlingen/design-tokens/components/_form-file-upload.variables.scss +0 -2
  175. package/dist/digi-arbetsformedlingen/design-tokens/components/_form-select-filter.variables.scss +1 -1
  176. package/dist/digi-arbetsformedlingen/design-tokens/components/_form-select.variables.scss +2 -2
  177. package/dist/digi-arbetsformedlingen/design-tokens/components/_info-card.variables.scss +2 -2
  178. package/dist/digi-arbetsformedlingen/design-tokens/components/_navigation-vertical-menu-item.variables.scss +3 -3
  179. package/dist/digi-arbetsformedlingen/design-tokens/components/_quote.variables.scss +2 -2
  180. package/dist/digi-arbetsformedlingen/design-tokens/components/_tools-feedback.variables.scss +1 -1
  181. package/dist/digi-arbetsformedlingen/digi-arbetsformedlingen.css +1 -1
  182. package/dist/digi-arbetsformedlingen/digi-arbetsformedlingen.esm.js +1 -1
  183. package/dist/digi-arbetsformedlingen/index.esm.js +1 -1
  184. package/dist/digi-arbetsformedlingen/p-00219e81.entry.js +1 -0
  185. package/dist/digi-arbetsformedlingen/p-07985aef.entry.js +1 -0
  186. package/dist/digi-arbetsformedlingen/p-19c30198.entry.js +1 -0
  187. package/dist/digi-arbetsformedlingen/p-1f3345e9.js +1 -0
  188. package/dist/digi-arbetsformedlingen/p-1f956af8.js +1 -0
  189. package/dist/digi-arbetsformedlingen/p-24fe2189.js +1 -0
  190. package/dist/digi-arbetsformedlingen/p-260620fe.entry.js +1 -0
  191. package/dist/digi-arbetsformedlingen/p-2693c1d8.entry.js +1 -0
  192. package/dist/digi-arbetsformedlingen/p-2698dd2a.entry.js +1 -0
  193. package/dist/digi-arbetsformedlingen/p-2a86cc73.entry.js +1 -0
  194. package/dist/digi-arbetsformedlingen/p-2b7b69cd.entry.js +1 -0
  195. package/dist/digi-arbetsformedlingen/p-300aa9ef.js +1 -0
  196. package/dist/digi-arbetsformedlingen/p-33349e7e.entry.js +1 -0
  197. package/dist/digi-arbetsformedlingen/p-38627816.entry.js +1 -0
  198. package/dist/digi-arbetsformedlingen/p-3a76bfde.entry.js +1 -0
  199. package/dist/digi-arbetsformedlingen/p-3b20ec86.js +1 -0
  200. package/dist/digi-arbetsformedlingen/p-3d7fff3c.entry.js +1 -0
  201. package/dist/digi-arbetsformedlingen/p-41bc039f.entry.js +1 -0
  202. package/dist/digi-arbetsformedlingen/p-4bad4fb0.js +1 -0
  203. package/dist/digi-arbetsformedlingen/p-4e36c467.entry.js +1 -0
  204. package/dist/digi-arbetsformedlingen/p-51149879.entry.js +1 -0
  205. package/dist/digi-arbetsformedlingen/p-55f525dd.entry.js +1 -0
  206. package/dist/digi-arbetsformedlingen/p-57319a80.entry.js +1 -0
  207. package/dist/digi-arbetsformedlingen/p-57a0cc63.entry.js +1 -0
  208. package/dist/digi-arbetsformedlingen/p-5a602122.js +1 -0
  209. package/dist/digi-arbetsformedlingen/p-5d3383f9.entry.js +1 -0
  210. package/dist/digi-arbetsformedlingen/p-681e7beb.entry.js +1 -0
  211. package/dist/digi-arbetsformedlingen/p-6bd60ab6.entry.js +1 -0
  212. package/dist/digi-arbetsformedlingen/p-6d864e79.entry.js +1 -0
  213. package/dist/digi-arbetsformedlingen/p-75309c9a.entry.js +1 -0
  214. package/dist/digi-arbetsformedlingen/p-78c99e87.entry.js +1 -0
  215. package/dist/digi-arbetsformedlingen/p-7933b555.js +1 -0
  216. package/dist/digi-arbetsformedlingen/p-7aacd45f.js +1 -0
  217. package/dist/digi-arbetsformedlingen/p-8142cc73.js +1 -0
  218. package/dist/digi-arbetsformedlingen/p-826ad49e.entry.js +1 -0
  219. package/dist/digi-arbetsformedlingen/p-88b4d03a.js +1 -0
  220. package/dist/digi-arbetsformedlingen/p-89b457e8.entry.js +1 -0
  221. package/dist/digi-arbetsformedlingen/p-905ccb30.js +1 -0
  222. package/dist/digi-arbetsformedlingen/p-93766b5e.entry.js +1 -0
  223. package/dist/digi-arbetsformedlingen/p-95330112.entry.js +1 -0
  224. package/dist/digi-arbetsformedlingen/p-96987381.entry.js +1 -0
  225. package/dist/digi-arbetsformedlingen/p-9a6ea3b7.entry.js +1 -0
  226. package/dist/digi-arbetsformedlingen/p-9b7f0707.entry.js +1 -0
  227. package/dist/digi-arbetsformedlingen/p-9dd5d6c8.js +1 -0
  228. package/dist/digi-arbetsformedlingen/p-a34dfc04.entry.js +1 -0
  229. package/dist/digi-arbetsformedlingen/p-bc3d2778.js +1 -0
  230. package/dist/digi-arbetsformedlingen/p-c24aab43.entry.js +1 -0
  231. package/dist/digi-arbetsformedlingen/p-c29ab968.entry.js +1 -0
  232. package/dist/digi-arbetsformedlingen/p-c461917d.entry.js +1 -0
  233. package/dist/digi-arbetsformedlingen/p-c7949525.js +1 -0
  234. package/dist/digi-arbetsformedlingen/p-cd50f570.entry.js +1 -0
  235. package/dist/digi-arbetsformedlingen/p-cdf86efc.js +1 -0
  236. package/dist/digi-arbetsformedlingen/p-d055d564.entry.js +1 -0
  237. package/dist/digi-arbetsformedlingen/p-d1886fff.js +1 -0
  238. package/dist/digi-arbetsformedlingen/p-d4145a3e.entry.js +1 -0
  239. package/dist/digi-arbetsformedlingen/p-d5376b7c.entry.js +1 -0
  240. package/dist/digi-arbetsformedlingen/p-d7aa8315.entry.js +1 -0
  241. package/dist/digi-arbetsformedlingen/p-dc9b6144.entry.js +1 -0
  242. package/dist/digi-arbetsformedlingen/p-e6b65415.entry.js +1 -0
  243. package/dist/digi-arbetsformedlingen/p-e7e39ee7.entry.js +1 -0
  244. package/dist/digi-arbetsformedlingen/p-e844d4cc.entry.js +1 -0
  245. package/dist/digi-arbetsformedlingen/p-e9abb2b1.entry.js +1 -0
  246. package/dist/digi-arbetsformedlingen/p-ee4cb21a.js +1 -0
  247. package/dist/digi-arbetsformedlingen/p-ee9589e6.js +1 -0
  248. package/dist/digi-arbetsformedlingen/p-f40f4b2a.js +1 -0
  249. package/dist/digi-arbetsformedlingen/p-f447b984.js +1 -0
  250. package/dist/digi-arbetsformedlingen/p-f8391f37.entry.js +1 -0
  251. package/dist/digi-arbetsformedlingen/p-fdecd798.entry.js +1 -0
  252. package/dist/digi-arbetsformedlingen/styles/src/_alias.mixin.scss +128 -274
  253. package/dist/digi-arbetsformedlingen/styles/src/themes/_common.mixin.scss +0 -7
  254. package/dist/digi-arbetsformedlingen/styles/src/themes/_theme-af25.mixin.scss +0 -143
  255. package/dist/digi-arbetsformedlingen/styles/src/tokens-documentation/web-AF25.json +764 -1647
  256. package/dist/esm/button-size.enum-d5ff6ff3.js +7 -0
  257. package/dist/esm/button-type.enum-5250ae0b.js +8 -0
  258. package/dist/esm/{code-example-variation.enum-e656d235.js → code-example-variation.enum-e9f9fced.js} +1 -7
  259. package/dist/esm/digi-arbetsformedlingen.js +1 -1
  260. package/dist/esm/digi-button_2.entry.js +257 -0
  261. package/dist/esm/digi-calendar-datepicker.entry.js +2599 -0
  262. package/dist/esm/digi-calendar-week-view.entry.js +2 -1
  263. package/dist/esm/digi-calendar_2.entry.js +459 -0
  264. package/dist/esm/digi-code-block_3.entry.js +238 -0
  265. package/dist/esm/digi-code-example.entry.js +3 -2
  266. package/dist/esm/digi-dialog.entry.js +19 -5
  267. package/dist/esm/digi-expandable-faq-item.entry.js +93 -0
  268. package/dist/esm/digi-footer.entry.js +18 -4
  269. package/dist/esm/digi-form-category-filter.entry.js +117 -0
  270. package/dist/esm/digi-form-error-list.entry.js +18 -4
  271. package/dist/esm/digi-form-file-upload.entry.js +3 -2
  272. package/dist/esm/digi-form-input-search.entry.js +3 -1
  273. package/dist/esm/digi-form-input.entry.js +190 -0
  274. package/dist/esm/digi-form-label_3.entry.js +123 -0
  275. package/dist/esm/digi-form-radiogroup.entry.js +76 -0
  276. package/dist/esm/digi-form-receipt.entry.js +18 -4
  277. package/dist/esm/digi-form-select-filter.entry.js +564 -0
  278. package/dist/esm/digi-form-select_2.entry.js +181 -0
  279. package/dist/esm/digi-header-avatar.entry.js +1 -1
  280. package/dist/esm/digi-header-navigation.entry.js +18 -4
  281. package/dist/esm/digi-header.entry.js +18 -4
  282. package/dist/esm/digi-icon-check.entry.js +26 -0
  283. package/dist/esm/digi-icon-chevron-down.entry.js +26 -0
  284. package/dist/esm/digi-icon-chevron-left_2.entry.js +48 -0
  285. package/dist/esm/digi-icon-copy.entry.js +26 -0
  286. package/dist/esm/digi-icon-minus_2.entry.js +48 -0
  287. package/dist/esm/digi-icon-validation-error_2.entry.js +48 -0
  288. package/dist/esm/digi-info-card.entry.js +1 -1
  289. package/dist/esm/digi-layout-block_2.entry.js +87 -0
  290. package/dist/esm/digi-link-internal.entry.js +1 -1
  291. package/dist/esm/digi-link.entry.js +71 -0
  292. package/dist/esm/digi-navigation-pagination.entry.js +18 -4
  293. package/dist/esm/digi-navigation-vertical-menu-item.entry.js +146 -0
  294. package/dist/esm/digi-navigation-vertical-menu.entry.js +173 -0
  295. package/dist/esm/digi-notification-alert.entry.js +18 -4
  296. package/dist/esm/digi-notification-error-page.entry.js +18 -4
  297. package/dist/esm/digi-progress-indicator.entry.js +133 -0
  298. package/dist/esm/digi-quote.entry.js +1 -1
  299. package/dist/esm/digi-title-logo.entry.js +18 -4
  300. package/dist/esm/digi-tools-feedback.entry.js +19 -5
  301. package/dist/esm/digi-tools-theme-provider.entry.js +24 -0
  302. package/dist/esm/digi-typography-heading-jumbo.entry.js +34 -0
  303. package/dist/esm/digi-typography-preamble.entry.js +16 -0
  304. package/dist/esm/digi-typography.entry.js +22 -0
  305. package/dist/esm/digi-util-keydown-handler.entry.js +79 -0
  306. package/dist/esm/digi-util-mutation-observer.entry.js +60 -0
  307. package/dist/esm/expandable-faq-item-variation.enum-a8cb225b.js +18 -0
  308. package/dist/esm/form-checkbox-variation.enum-83e906fc.js +19 -0
  309. package/dist/esm/{form-validation-message-variation.enum-f7835fc5.js → form-file-upload-variation.enum-9c49ec5e.js} +1 -8
  310. package/dist/esm/form-input-search-variation.enum-f9d669f2.js +8 -0
  311. package/dist/esm/{form-input-type.enum-a6bba983.js → form-input-type.enum-3da3db27.js} +1 -15
  312. package/dist/esm/form-input-variation.enum-64d9450f.js +29 -0
  313. package/dist/esm/form-radiogroup-validation.enum-d790fc66.js +9 -0
  314. package/dist/esm/form-select-variation.enum-f2f6098d.js +16 -0
  315. package/dist/esm/form-validation-message-variation.enum-bcef8a9d.js +8 -0
  316. package/dist/esm/index-148a7577.js +108 -4
  317. package/dist/esm/{index-dc6b83f7.js → index-2fce392f.js} +3 -170
  318. package/dist/esm/index-5b6c95c6.js +63 -0
  319. package/dist/esm/index-8685f88d.js +170 -0
  320. package/dist/esm/index.js +18 -4
  321. package/dist/esm/layout-container-max-width.enum-c40018ac.js +21 -0
  322. package/dist/esm/loader.js +1 -1
  323. package/dist/esm/navigation-vertical-menu-variation.enum-c30b0ea9.js +13 -0
  324. package/dist/esm/progress-indicator-variation.enum-b12ba50a.js +13 -0
  325. package/dist/esm/tools-theme-provider.brand.enum-8c5a98c9.js +7 -0
  326. package/dist/esm/typography-heading-jumbo-variation.enum-eb737f1b.js +17 -0
  327. package/dist/esm/{typography-variation.enum-b07f76c9.js → typography-variation.enum-8c3ff25c.js} +1 -159
  328. package/dist/types/components/_form/form-checkbox/form-checkbox.d.ts +8 -0
  329. package/dist/types/components/_form/form-radiobutton/form-radiobutton.d.ts +8 -0
  330. package/dist/types/components/_tools/tools-theme-provider/tools-theme-provider.d.ts +0 -9
  331. package/dist/types/components.d.ts +0 -12
  332. package/dist/types/enums.d.ts +0 -1
  333. package/hydrate/index.js +57 -48
  334. package/hydrate/index.mjs +57 -48
  335. package/package.json +1 -1
  336. package/components/p-0d568c4b.js +0 -66
  337. package/components/p-5fd00d55.js +0 -143
  338. package/components/p-606ba731.js +0 -165
  339. package/components/p-d7ef9cb1.js +0 -13
  340. package/components/p-f77cb7ae.js +0 -163
  341. package/dist/cjs/digi-button_38.cjs.entry.js +0 -5759
  342. package/dist/cjs/digi-code-block.cjs.entry.js +0 -89
  343. package/dist/collection/components/_tools/tools-theme-provider/tools-theme-provider.theme.enum.js +0 -5
  344. package/dist/digi-arbetsformedlingen/p-0f543000.entry.js +0 -1
  345. package/dist/digi-arbetsformedlingen/p-13120f18.entry.js +0 -1
  346. package/dist/digi-arbetsformedlingen/p-180663ef.entry.js +0 -1
  347. package/dist/digi-arbetsformedlingen/p-1a619dd3.entry.js +0 -1
  348. package/dist/digi-arbetsformedlingen/p-26e8ea70.entry.js +0 -1
  349. package/dist/digi-arbetsformedlingen/p-3887bb40.js +0 -1
  350. package/dist/digi-arbetsformedlingen/p-52a3c86a.entry.js +0 -1
  351. package/dist/digi-arbetsformedlingen/p-53d9556b.js +0 -1
  352. package/dist/digi-arbetsformedlingen/p-54d9bd3e.entry.js +0 -1
  353. package/dist/digi-arbetsformedlingen/p-5ca38506.entry.js +0 -1
  354. package/dist/digi-arbetsformedlingen/p-64b65586.entry.js +0 -1
  355. package/dist/digi-arbetsformedlingen/p-67e32cc2.entry.js +0 -1
  356. package/dist/digi-arbetsformedlingen/p-76ec3619.entry.js +0 -1
  357. package/dist/digi-arbetsformedlingen/p-780519ec.entry.js +0 -1
  358. package/dist/digi-arbetsformedlingen/p-800b764b.entry.js +0 -1
  359. package/dist/digi-arbetsformedlingen/p-82225661.entry.js +0 -1
  360. package/dist/digi-arbetsformedlingen/p-920aee36.entry.js +0 -1
  361. package/dist/digi-arbetsformedlingen/p-9b6e8cf8.entry.js +0 -1
  362. package/dist/digi-arbetsformedlingen/p-a105d9fe.js +0 -1
  363. package/dist/digi-arbetsformedlingen/p-c64b4626.js +0 -1
  364. package/dist/digi-arbetsformedlingen/p-d9bcab5f.entry.js +0 -1
  365. package/dist/digi-arbetsformedlingen/p-e540b80f.entry.js +0 -1
  366. package/dist/digi-arbetsformedlingen/p-e5fee242.js +0 -1
  367. package/dist/digi-arbetsformedlingen/p-e7ee9bea.entry.js +0 -1
  368. package/dist/digi-arbetsformedlingen/p-f601908d.entry.js +0 -1
  369. package/dist/digi-arbetsformedlingen/p-fa44ce49.entry.js +0 -1
  370. package/dist/esm/digi-button_38.entry.js +0 -5718
  371. package/dist/esm/digi-code-block.entry.js +0 -85
  372. package/dist/types/components/_tools/tools-theme-provider/tools-theme-provider.theme.enum.d.ts +0 -4
@@ -0,0 +1,464 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-7a477838.js');
6
+ const randomIdGenerator_util = require('./randomIdGenerator.util-e7f4b6de.js');
7
+ const detectClickOutside_util = require('./detectClickOutside.util-3e764eb3.js');
8
+ const detectFocusOutside_util = require('./detectFocusOutside.util-03c62976.js');
9
+ const logger_util = require('./logger.util-fdafc086.js');
10
+ const text = require('./text-65b1b58c.js');
11
+ const index$1 = require('./index-e8333bcc.js');
12
+ const index$2 = require('./index-cad91a90.js');
13
+ require('./detectClosest.util-85b3507b.js');
14
+
15
+ const calendarCss = ".sc-digi-calendar-h{--digi--calendar--display:inline-block;--digi--calendar--header--font-family:var(--digi--global--typography--font-family--default);--digi--calendar--header--font-weight:var(--digi--global--typography--font-weight--semibold);--digi--calendar--header--display:flex;--digi--calendar--header--align-items:center;--digi--calendar--header--justify-content:space-between;--digi--calendar--header--text-align:center;--digi--calendar--header--button--padding:var(--digi--gutter--medium) var(--digi--gutter--largest);--digi--calendar--header--button--background:transparent;--digi--calendar--header--button--box-shadow:none;--digi--calendar--header--button--background--hover:var(--digi--color--background--interactive--hover--secondary);--digi--calendar--table--border-spacing:0;--digi--calendar--table--border-collapse:collapse;--digi--calendar--table--font-family:var(--digi--global--typography--font-family--default);--digi--calendar--table--font-weight:var(--digi--global--typography--font-weight--semibold);--digi--calendar--table-header--padding:var(--digi--gutter--larger) 0;--digi--calendar--table-header--font-weight-normal:var(--digi--typography--body--font-weight--desktop);--digi--calendar--date--border-color:none;--digi--calendar--date--box-shadow:none;--digi--calendar--date--background-color:var(--digi--color--background--interactive--default--secondary);--digi--calendar--date--background-color--hover:var(--digi--color--background--interactive--hover--secondary);--digi--calendar--date--padding:var(--digi--gutter--large);--digi--calendar--date--color:var(--digi--color--text--primary);--digi--calendar--date--focused--background-color:var(--digi--color--background--interactive--hover--secondary);--digi--calendar--date--today--circle-border:2px solid var(--digi--color--marking--indication--secondary);--digi--calendar--date--today--circle-margin:10%;--digi--calendar--date--selected--color:var(--digi--color--text--interactive--secondary);--digi--calendar--date--selected--background-color:var(--digi--color--background--interactive--selected--primary);--digi--calendar--date--not-selectable-strike--color:var(--digi--color--marking--indication--tertiary);--digi--calendar--week--font-style:italic;--digi--calendar--week--font-size:var(--digi--global--typography--font-size--small);--digi--calendar--week--border-color:var(--digi--color--divider--primary);--digi--calendar--week--border-width:var(--digi--border-width--primary)}.sc-digi-calendar-h .digi-calendar.sc-digi-calendar{display:var(--digi--calendar--display);background:var(--digi--calendar--header--button--background);padding:0px 1px 3px 1px;overflow:hidden;max-width:23.4375rem}.sc-digi-calendar-h .digi-calendar--hide.sc-digi-calendar{--digi--calendar--display:none}.sc-digi-calendar-h .digi-calendar__header.sc-digi-calendar{display:var(--digi--calendar--header--display);align-items:var(--digi--calendar--header--align-items);justify-content:var(--digi--calendar--header--justify-content);text-align:var(--digi--calendar--header--text-align);font-size:var(--digi--global--typography--font-size--base);font-family:var(--digi--calendar--header--font-family);font-weight:var(--digi--calendar--header--font-weight)}.sc-digi-calendar-h .digi-calendar__header--year-select.sc-digi-calendar{display:inherit;justify-content:center;margin:0 auto}.sc-digi-calendar-h .digi-calendar__header--year-select.sc-digi-calendar digi-form-select.sc-digi-calendar:first-child{margin-right:var(--digi--padding--smaller)}.sc-digi-calendar-h .digi-calendar__header--year-select.sc-digi-calendar digi-form-select.sc-digi-calendar:last-child{width:5rem}.sc-digi-calendar-h .digi-calendar__header--year-select.sc-digi-calendar digi-form-select.sc-digi-calendar select.sc-digi-calendar{padding-inline-end:2rem}.sc-digi-calendar-h .digi-calendar__header--month-step.sc-digi-calendar{flex:auto;display:inherit;align-items:inherit;justify-content:inherit}.sc-digi-calendar-h .digi-calendar__header--month-step.sc-digi-calendar .digi-calendar__month-select-name.sc-digi-calendar{padding-inline:var(--digi--padding--smaller)}.sc-digi-calendar-h .digi-calendar__header--month-step.sc-digi-calendar .digi-calendar__month-select-button.sc-digi-calendar{font-family:inherit;font-size:inherit;font-weight:inherit;color:var(--digi--calendar--date--color);display:flex;align-items:center;background:var(--digi--calendar--header--button--background);border:var(--digi--calendar--date--box-shadow);padding:var(--digi--calendar--header--button--padding)}.sc-digi-calendar-h .digi-calendar__header--month-step.sc-digi-calendar .digi-calendar__month-select-button.sc-digi-calendar:last-child{border-radius:0 4px 0 0}.sc-digi-calendar-h .digi-calendar__header--month-step.sc-digi-calendar .digi-calendar__month-select-button.sc-digi-calendar:first-child{border-radius:4px 0 0 0}.sc-digi-calendar-h .digi-calendar__header--month-step.sc-digi-calendar .digi-calendar__month-select-button.sc-digi-calendar:focus-visible:not(.digi-calendar__date--not-selectable),.sc-digi-calendar-h .digi-calendar__header--month-step.sc-digi-calendar .digi-calendar__month-select-button.sc-digi-calendar:active:not(.digi-calendar__date--not-selectable){--digi--calendar--header--button--background:var(\n --digi--calendar--header--button--background--hover\n );text-decoration:underline;cursor:pointer}@media (any-hover: hover){.sc-digi-calendar-h .digi-calendar__header--month-step.sc-digi-calendar .digi-calendar__month-select-button.sc-digi-calendar:hover:not(.digi-calendar__date--not-selectable){--digi--calendar--header--button--background:var(\n --digi--calendar--header--button--background--hover\n );text-decoration:underline;cursor:pointer}}.sc-digi-calendar-h .digi-calendar__header--month-step.sc-digi-calendar .digi-calendar__month-select-button.sc-digi-calendar:focus-visible{outline:2px solid black;outline-offset:-3px;box-shadow:0px 0px 0px 5px inset white}.sc-digi-calendar-h .digi-calendar__table.sc-digi-calendar{border-collapse:var(--digi--calendar--table--border-collapse);border-spacing:var(--digi--calendar--table--border-spacing);font-family:var(--digi--calendar--table--font-family);table-layout:fixed;margin-bottom:var(--digi--margin--medium)}.sc-digi-calendar-h .digi-calendar__table-header-week.sc-digi-calendar{font-style:italic;padding:var(--digi--calendar--table-header--padding);font-weight:var(--digi--calendar--table-header--font-weight-normal);width:50px}.sc-digi-calendar-h .digi-calendar__table-header.sc-digi-calendar{padding:var(--digi--calendar--table-header--padding);font-weight:var(--digi--calendar--table--font-weight);width:46px}.sc-digi-calendar-h .digi-calendar__td-week.sc-digi-calendar{border-right:var(--digi--calendar--week--border-width) solid var(--digi--calendar--week--border-color)}.sc-digi-calendar-h .digi-calendar__td.sc-digi-calendar{text-align:right}.sc-digi-calendar-h .digi-calendar__date--week-number.sc-digi-calendar{font-style:var(--digi--calendar--week--font-style);font-size:var(--digi--calendar--week--font-size);display:table-cell;text-align:center}.sc-digi-calendar-h .digi-calendar__date--week-number.sc-digi-calendar:hover{cursor:default}.sc-digi-calendar-h .digi-calendar__date.sc-digi-calendar{position:relative;padding:var(--digi--calendar--date--padding);color:var(--digi--calendar--date--color);background-color:var(--digi--calendar--date--background-color);border-color:var(--digi--calendar--date--border-color);border-radius:var(--digi--border-radius--secondary);font-family:inherit;font-size:inherit;font-weight:inherit;text-align:center;border:none;width:44px;height:44px}.sc-digi-calendar-h .digi-calendar__date--disabled.sc-digi-calendar{--digi--calendar--date--color:transparent;pointer-events:none}.sc-digi-calendar-h .digi-calendar__date--today.sc-digi-calendar{position:relative}.sc-digi-calendar-h .digi-calendar__date--today.sc-digi-calendar::after{display:block;content:\" \";position:absolute;top:var(--digi--calendar--date--today--circle-margin);bottom:var(--digi--calendar--date--today--circle-margin);left:var(--digi--calendar--date--today--circle-margin);right:var(--digi--calendar--date--today--circle-margin);border:var(--digi--calendar--date--today--circle-border);border-radius:50%}.sc-digi-calendar-h .digi-calendar__date--today.digi-calendar__date--selected.sc-digi-calendar::after{border-color:var(--digi--color--icon--secondary)}@media (any-hover: hover){.sc-digi-calendar-h .digi-calendar__date.sc-digi-calendar:hover:not(.digi-calendar__date--not-selectable){cursor:pointer}.sc-digi-calendar-h .digi-calendar__date.sc-digi-calendar:hover:not(.digi-calendar__date--not-selectable):not(.digi-calendar__date--selected){--digi--calendar--date--box-shadow:var(--digi--calendar--date--box-shadow--hover);--digi--calendar--date--background-color:var(--digi--calendar--date--background-color--hover)}.sc-digi-calendar-h .digi-calendar__date.sc-digi-calendar:hover:not(.digi-calendar__date--not-selectable) span.sc-digi-calendar{text-decoration:underline}}.sc-digi-calendar-h .digi-calendar__date--selected.sc-digi-calendar{--digi--calendar--date--background-color:var(--digi--calendar--date--selected--background-color);--digi--calendar--date--color:var(--digi--calendar--date--selected--color)}.sc-digi-calendar-h .digi-calendar__date--selected.sc-digi-calendar:hover{--digi--calendar--date--background-color:var(--digi--calendar--date--selected--background-color)}.sc-digi-calendar-h .digi-calendar__date--selected.sc-digi-calendar:hover span.sc-digi-calendar{text-decoration:none}.sc-digi-calendar-h .digi-calendar__date--selected.sc-digi-calendar:focus-visible{outline:2px solid black;outline-offset:-3px;box-shadow:0px 0px 0px 5px inset white}.sc-digi-calendar-h .digi-calendar__date--not-selectable.sc-digi-calendar{cursor:not-allowed}.sc-digi-calendar-h .digi-calendar__date--not-selectable.sc-digi-calendar::after{display:block;content:\" \";width:0px;height:100%;border:1px solid #757575;transform:rotate(-45deg);position:absolute;top:0%;left:50%}.sc-digi-calendar-h .digi-calendar__date--focused.sc-digi-calendar:focus-visible:not(.digi-calendar__date--selected):not(.digi-calendar__date--not-selectable){--digi--calendar--date--background-color:var(--digi--calendar--date--focused--background-color);outline:2px solid black;outline-offset:-3px;box-shadow:0px 0px 0px 5px inset white}.sc-digi-calendar-s digi-form-label{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}";
16
+ const DigiCalendarStyle0 = calendarCss;
17
+
18
+ const Calendar = class {
19
+ constructor(hostRef) {
20
+ index.registerInstance(this, hostRef);
21
+ this.afOnDateSelectedChange = index.createEvent(this, "afOnDateSelectedChange", 7);
22
+ this.afOnFocusOutside = index.createEvent(this, "afOnFocusOutside", 7);
23
+ this.afOnClickOutside = index.createEvent(this, "afOnClickOutside", 7);
24
+ this.afOnDirty = index.createEvent(this, "afOnDirty", 7);
25
+ this.selectedDates = [];
26
+ this.focusedDate = undefined;
27
+ this.dirty = false;
28
+ this.afId = randomIdGenerator_util.randomIdGenerator('digi-calendar');
29
+ this.afOpenCalendarTo = undefined;
30
+ this.afShowWeekNumber = false;
31
+ this.afSelectedDate = undefined;
32
+ this.afSelectedDates = [];
33
+ this.afActive = true;
34
+ this.afMinDate = undefined;
35
+ this.afMaxDate = undefined;
36
+ this.afMultipleDates = false;
37
+ this.afYearSelect = false;
38
+ this.activeCalendar = [];
39
+ }
40
+ focusedDateChanged() {
41
+ this.drawCalendar(this.focusedDate);
42
+ }
43
+ afOpenCalendarToChangeHandler() {
44
+ this.determineFocusedDate();
45
+ }
46
+ afShowWeekNumberChangeHandler() {
47
+ this.drawCalendar(this.focusedDate);
48
+ }
49
+ afSelectedDateChangeHandler() {
50
+ this.afSelectedDates = index$1.isValid(this.afSelectedDate)
51
+ ? [this.afSelectedDate]
52
+ : [];
53
+ }
54
+ afSelectedDatesChangeHandler() {
55
+ if (this.afSelectedDates.length > 0) {
56
+ if (this.afMultipleDates) {
57
+ const invalidDate = this.afSelectedDates.find((date) => !index$1.isValid(date));
58
+ if (invalidDate === undefined) {
59
+ this.selectedDates = this.afSelectedDates;
60
+ this.determineFocusedDate();
61
+ }
62
+ }
63
+ else if (index$1.isValid(this.afSelectedDates[0])) {
64
+ this.selectedDates = [this.afSelectedDates[0]];
65
+ this.determineFocusedDate();
66
+ }
67
+ }
68
+ else {
69
+ this.selectedDates = [];
70
+ }
71
+ }
72
+ focusoutHandler(e) {
73
+ const target = e.target;
74
+ const selector = `#${this.afId}-calendar`;
75
+ if (detectFocusOutside_util.detectFocusOutside(target, selector)) {
76
+ this.afOnFocusOutside.emit(e);
77
+ }
78
+ }
79
+ clickHandler(e) {
80
+ const target = e.target;
81
+ const selector = `#${this.afId}-calendar`;
82
+ if (detectClickOutside_util.detectClickOutside(target, selector)) {
83
+ this.afOnClickOutside.emit(e);
84
+ }
85
+ }
86
+ determineFocusedDate() {
87
+ if (this.dirty) {
88
+ return; // Don't change focused date if user has already interacted with the calendar
89
+ }
90
+ else if (this.afOpenCalendarTo && index$1.isValid(this.afOpenCalendarTo)) {
91
+ this.focusedDate = this.afOpenCalendarTo;
92
+ }
93
+ else if (this.selectedDates.length > 0) {
94
+ this.focusedDate = this.selectedDates[0];
95
+ }
96
+ else {
97
+ this.focusedDate = new Date();
98
+ }
99
+ }
100
+ drawCalendar(focusedDate) {
101
+ const date = {
102
+ year: focusedDate.getFullYear(),
103
+ month: focusedDate.getMonth()
104
+ };
105
+ this.lastWeekOfPreviousMonth = this.getWeekDays(this.getLastDayOfPrevMonth(date));
106
+ this.firstWeekOfNextMonth = this.getWeekDays(this.getFirstDayOfNextMonth(date));
107
+ this.weeksBetween = this.getWeeksBetween(this.getLastDayOfPrevMonth(date), this.getFirstDayOfNextMonth(date));
108
+ this.weekDaysbetween = this.getWeekdaysOfMonth(this.weeksBetween);
109
+ this.activeCalendar = this.appendFirstWeekOfNextMonth()
110
+ ? [
111
+ this.lastWeekOfPreviousMonth,
112
+ ...this.weekDaysbetween,
113
+ this.appendFirstWeekOfNextMonth()
114
+ ]
115
+ : [this.lastWeekOfPreviousMonth, ...this.weekDaysbetween];
116
+ this.appendFirstWeekOfNextMonth();
117
+ if (this.afShowWeekNumber) {
118
+ this.activeCalendar.forEach((el, i) => {
119
+ this.activeCalendar[i].unshift(this.getWeekNumbers(el[0]));
120
+ });
121
+ }
122
+ }
123
+ appendFirstWeekOfNextMonth() {
124
+ const lastArray = JSON.stringify(this.weekDaysbetween.slice(-1)[0]);
125
+ const stringFirstweek = JSON.stringify(this.firstWeekOfNextMonth);
126
+ if (!this.firstWeekOfNextMonth.some((date) => this.isSameMonth(date, this.focusedDate))) {
127
+ return;
128
+ }
129
+ else if (lastArray !== stringFirstweek) {
130
+ return this.firstWeekOfNextMonth;
131
+ }
132
+ }
133
+ getLastDayOfPrevMonth(date) {
134
+ return new Date(date.year, date.month, 0);
135
+ }
136
+ getWeekDays(date) {
137
+ const today = date || new Date();
138
+ const week = [];
139
+ const dayOffset = today.getDay(); // 0=söndag
140
+ for (let i = 1; i <= 7; i++) {
141
+ week.push(new Date(today.getFullYear(), today.getMonth(), today.getDate() - dayOffset + i));
142
+ }
143
+ return week;
144
+ }
145
+ getFirstDayOfNextMonth(date) {
146
+ return new Date(date.year, date.month + 1, 1);
147
+ }
148
+ getWeeksBetween(lastDayOfPrevMonth, firstDayOnNextMonth) {
149
+ const week = 7 * 24 * 60 * 60 * 1000;
150
+ const d1ms = lastDayOfPrevMonth.getTime();
151
+ const d2ms = firstDayOnNextMonth.getTime();
152
+ const diff = Math.abs(d2ms - d1ms);
153
+ return Math.floor(diff / week);
154
+ }
155
+ getWeekdaysOfMonth(weeksBetween) {
156
+ let weeks = [];
157
+ for (let i = 1; i <= weeksBetween; i++) {
158
+ weeks = [...weeks, this.getWeekDays(this.getUpcoming(i))];
159
+ }
160
+ return weeks;
161
+ }
162
+ getUpcoming(weeks) {
163
+ return new Date(this.focusedDate.getFullYear(), this.focusedDate.getMonth(), 7 * weeks);
164
+ }
165
+ onDirty() {
166
+ if (!this.dirty) {
167
+ this.dirty = true;
168
+ this.afOnDirty.emit(this.dirty);
169
+ }
170
+ }
171
+ selectDateHandler(dateSelected) {
172
+ this.onDirty();
173
+ if (!this.isDateSelectable(dateSelected))
174
+ return;
175
+ if (this.isDateSelected(dateSelected)) {
176
+ this.selectedDates = this.afMultipleDates
177
+ ? this.selectedDates.filter((d) => {
178
+ return !this.isSameDate(d, dateSelected);
179
+ })
180
+ : [];
181
+ }
182
+ else {
183
+ this.selectedDates = this.afMultipleDates
184
+ ? [...this.selectedDates, dateSelected]
185
+ : [dateSelected];
186
+ }
187
+ this.focusedDate = new Date(dateSelected);
188
+ this.afOnDateSelectedChange.emit(this.selectedDates);
189
+ }
190
+ getMonthName(monthNumber) {
191
+ return new Date(1992, monthNumber, 1)
192
+ .toLocaleDateString(text._t.locale, {
193
+ month: 'short'
194
+ })
195
+ .replace('.', '');
196
+ }
197
+ getFullMonthName(monthNumber) {
198
+ return new Date(this.focusedDate.getFullYear(), monthNumber, 1).toLocaleDateString(text._t.locale, {
199
+ month: 'long',
200
+ year: 'numeric'
201
+ });
202
+ }
203
+ // Get the week number of a specific date. Taken from https://weeknumber.com/how-to/javascript
204
+ getWeekNumbers(dateInput) {
205
+ const date = new Date(dateInput);
206
+ date.getTime();
207
+ date.setHours(0, 0, 0, 0);
208
+ date.setDate(date.getDate() + 3 - ((date.getDay() + 6) % 7));
209
+ const week1 = new Date(date.getFullYear(), 0, 4);
210
+ return (1 +
211
+ Math.round(((date.getTime() - week1.getTime()) / 86400000 -
212
+ 3 +
213
+ ((week1.getDay() + 6) % 7)) /
214
+ 7));
215
+ }
216
+ isSameMonth(date, currentDate) {
217
+ if (date instanceof Date && date instanceof Date) {
218
+ return (`${date.getFullYear()}${date.getMonth()}` ===
219
+ `${currentDate.getFullYear()}${currentDate.getMonth()}`);
220
+ }
221
+ return false;
222
+ }
223
+ isSameDate(date, newDate) {
224
+ return this.getDateString(date) === this.getDateString(newDate);
225
+ }
226
+ getDateString(date) {
227
+ return `${date.getDate()}${date.getMonth()}${date.getFullYear()}`;
228
+ }
229
+ isDateSelected(date) {
230
+ return !!this.selectedDates.find((d) => this.isSameDate(date, d));
231
+ }
232
+ isDateSelectable(date) {
233
+ if (this.afMinDate && this.isBefore(date, this.afMinDate))
234
+ return false;
235
+ if (this.afMaxDate && this.isAfter(date, this.afMaxDate))
236
+ return false;
237
+ return true;
238
+ }
239
+ isBefore(a, b) {
240
+ return index$2.isBefore(this.dateWithoutTime(a), this.dateWithoutTime(b));
241
+ }
242
+ isAfter(a, b) {
243
+ return index$2.isAfter(this.dateWithoutTime(a), this.dateWithoutTime(b));
244
+ }
245
+ dateWithoutTime(date) {
246
+ return new Date(date.getFullYear(), date.getMonth(), date.getDate());
247
+ }
248
+ isInAnotherMonth(date) {
249
+ return !this.isSameMonth(date, this.focusedDate);
250
+ }
251
+ subtractMonth() {
252
+ this.onDirty();
253
+ const month = new Date(this.focusedDate);
254
+ const currentDay = month.getDate();
255
+ month.setMonth(month.getMonth() - 1, 1);
256
+ const lastDayOfPrevMonth = new Date(month.getFullYear(), month.getMonth() + 1, 0).getDate();
257
+ month.setDate(Math.min(currentDay, lastDayOfPrevMonth));
258
+ this.focusedDate = month;
259
+ }
260
+ addMonth() {
261
+ this.onDirty();
262
+ const month = new Date(this.focusedDate);
263
+ const currentDay = month.getDate();
264
+ month.setMonth(month.getMonth() + 1, 1);
265
+ const lastDayOfNextMonth = new Date(month.getFullYear(), month.getMonth() + 1, 0).getDate();
266
+ month.setDate(Math.min(currentDay, lastDayOfNextMonth));
267
+ this.focusedDate = month;
268
+ }
269
+ getCurrent(date) {
270
+ return this.isSameDate(date, new Date()) ? 'date' : null;
271
+ }
272
+ setTabIndex(date) {
273
+ return this.isFocused(date) ? 0 : -1;
274
+ }
275
+ navigateHandler(e, daysToAdd) {
276
+ !!e.detail && e.detail.preventDefault();
277
+ if (e.detail.key === 'Tab') {
278
+ return;
279
+ }
280
+ this.onDirty();
281
+ const date = new Date(e.detail.target.dataset.date);
282
+ const newDate = new Date(date.setDate(date.getDate() + daysToAdd));
283
+ this.focusedDate = newDate;
284
+ this.resetFocus();
285
+ }
286
+ resetFocus() {
287
+ setTimeout(() => {
288
+ const dates = this._tbody.querySelectorAll('.digi-calendar__date');
289
+ if (dates.length <= 0) {
290
+ logger_util.logger.warn(`Could not find an element with data-date attribute matching navigated date.`, this._tbody);
291
+ return;
292
+ }
293
+ Array.from(dates).map((date) => {
294
+ const d = date;
295
+ d.tabIndex = -1;
296
+ d.classList.remove('digi-calendar__date--focused');
297
+ if (d.dataset.date === this.getFullDate(this.focusedDate)) {
298
+ d.focus();
299
+ d.tabIndex = 0;
300
+ d.classList.add('digi-calendar__date--focused');
301
+ }
302
+ });
303
+ }, 100);
304
+ }
305
+ getFullDate(date) {
306
+ return date.toLocaleString(text._t.locale, {
307
+ day: 'numeric',
308
+ month: 'numeric',
309
+ year: 'numeric'
310
+ });
311
+ }
312
+ getDateName(date) {
313
+ return date.toLocaleString(text._t.locale, {
314
+ year: 'numeric',
315
+ month: 'long',
316
+ day: 'numeric'
317
+ });
318
+ }
319
+ isFocused(date) {
320
+ if (this.dirty) {
321
+ return this.isSameDate(date, this.focusedDate);
322
+ }
323
+ if (this.afOpenCalendarTo) {
324
+ return this.isSameDate(date, this.afOpenCalendarTo);
325
+ }
326
+ return this.isSameMonth(date, new Date())
327
+ ? this.isSameDate(date, new Date())
328
+ : this.isSameMonth(date, this.focusedDate) && date.getDate() === 1;
329
+ }
330
+ ariaPressed(date) {
331
+ return this.selectedDates.length > 0 &&
332
+ !!this.selectedDates.find((d) => this.isSameDate(d, date))
333
+ ? 'true'
334
+ : 'false';
335
+ }
336
+ selectMonth(evt) {
337
+ this.onDirty();
338
+ const tempDate = new Date(this.focusedDate);
339
+ const selectedMonth = parseInt(evt.target.value, 10);
340
+ const currentDay = tempDate.getDate();
341
+ tempDate.setMonth(selectedMonth, 1);
342
+ const lastDayOfSelectedMonth = new Date(tempDate.getFullYear(), selectedMonth + 1, 0).getDate();
343
+ tempDate.setDate(Math.min(currentDay, lastDayOfSelectedMonth));
344
+ this.focusedDate = tempDate;
345
+ }
346
+ selectYear(evt) {
347
+ this.onDirty();
348
+ const selectedYear = parseInt(evt.target.value, 10);
349
+ // Skydda mot ogiltiga datum som 29 februari
350
+ const day = Math.min(this.focusedDate.getDate(), new Date(selectedYear, this.focusedDate.getMonth() + 1, 0).getDate());
351
+ const newDate = new Date(selectedYear, this.focusedDate.getMonth(), day);
352
+ this.focusedDate = newDate;
353
+ }
354
+ earliestSelectableYear() {
355
+ if (this.afMinDate)
356
+ return this.afMinDate.getFullYear();
357
+ return 1900;
358
+ }
359
+ latestSelectableYear() {
360
+ if (this.afMaxDate)
361
+ return this.afMaxDate.getFullYear();
362
+ return new Date(Date.now()).getFullYear() + 10;
363
+ }
364
+ allSelectableYears() {
365
+ const allYears = [];
366
+ let currentYear = this.earliestSelectableYear();
367
+ while (currentYear <= this.latestSelectableYear()) {
368
+ allYears.push(currentYear++);
369
+ }
370
+ return allYears;
371
+ }
372
+ componentWillLoad() {
373
+ var _a;
374
+ if (index$1.isValid(this.afSelectedDate)) {
375
+ this.selectedDates = [this.afSelectedDate];
376
+ }
377
+ else if (((_a = this.afSelectedDates) === null || _a === void 0 ? void 0 : _a.length) > 0) {
378
+ const valid = this.afSelectedDates.filter((d) => index$1.isValid(d));
379
+ if (valid.length > 0)
380
+ this.selectedDates = valid;
381
+ }
382
+ this.determineFocusedDate();
383
+ this.drawCalendar(this.focusedDate);
384
+ }
385
+ async componentDidLoad() {
386
+ if (index$1.isValid(this.afSelectedDate))
387
+ this.selectedDates = [this.afSelectedDate];
388
+ else
389
+ this.afSelectedDatesChangeHandler();
390
+ await customElements.whenDefined('digi-form-select');
391
+ }
392
+ cssDateModifiers(date) {
393
+ const shownMonth = this.focusedDate.getMonth();
394
+ return {
395
+ 'digi-calendar__date--today': this.isSameDate(date, new Date()) && !this.isInAnotherMonth(date),
396
+ 'digi-calendar__date--disabled': this.isInAnotherMonth(date),
397
+ 'digi-calendar__date--focused': this.isFocused(date),
398
+ 'digi-calendar__date--selected': this.isDateSelected(date) && date.getMonth() === shownMonth,
399
+ 'digi-calendar__date--not-selectable': !this.isInAnotherMonth(date) && !this.isDateSelectable(date)
400
+ };
401
+ }
402
+ render() {
403
+ return (index.h("div", { key: '1077a770af823d9e0c0f59cdc6f1fef2a49d761a', class: {
404
+ 'digi-calendar': true,
405
+ 'digi-calendar--hide': !this.afActive
406
+ }, id: `${this.afId}-calendar` }, this.afYearSelect && (index.h("div", { key: 'cd7dfa8e20efd08afa590cd4e177ddb4c41455d8', class: "digi-calendar__header" }, index.h("div", { key: 'd1e6e956713de7fe417253be0fc1ec3aea9748b0', class: "digi-calendar__header--year-select" }, index.h("digi-form-select", { key: 'cf34feec9ed25e0251effe86b3ce393918a32eda', afLabel: text._t.calendar.month, "af-variation": "small", afValue: this.focusedDate.getMonth().toString(), onAfOnSelect: (evt) => {
407
+ this.selectMonth(evt);
408
+ } }, text._t.calendar.months.map((month, index$1) => {
409
+ return index.h("option", { value: index$1 }, month);
410
+ })), index.h("digi-form-select", { key: 'ddcd90917d6dba315f8018c4311c852f3471d3c0', afLabel: text._t.calendar.year, "af-variation": "small", afValue: this.focusedDate.getFullYear().toString(), onAfOnSelect: (evt) => {
411
+ this.selectYear(evt);
412
+ } }, this.allSelectableYears().map((year) => (index.h("option", { value: year.toString() }, year))))))), !this.afYearSelect && (index.h("div", { key: '814648caa21619240a5904a809c95024398e9741', class: "digi-calendar__header" }, index.h("div", { key: 'd3dc54a4d0172d503bff66e5171846f433755c4b', class: "digi-calendar__header--month-step" }, index.h("button", { key: '7725160aab267e5cdd70618613b2f485d5b7dd7f', class: "digi-calendar__month-select-button", type: "button", "aria-label": this.getFullMonthName(this.focusedDate.getMonth() - 1) +
413
+ ', ' + text._t.calendar.previousMonth, onClick: () => this.subtractMonth() }, index.h("digi-icon-chevron-left", { key: 'e8d1dc80011cb7e79ce6af893df2fd4601d92c74', slot: "icon", "aria-hidden": "true" }), index.h("span", { key: 'ae56dadf565d819f8e89804596dbe38119fb592e', class: "digi-calendar__month-select-name" }, this.getMonthName(this.focusedDate.getMonth() - 1))), index.h("div", { key: '257ac7d346e084390aba658eb7329cab913e3463', class: "digi-calendar__month" }, this.getFullMonthName(this.focusedDate.getMonth())), index.h("button", { key: '0c483763c0420f1c172c78364d2ce931ffcd116d', class: "digi-calendar__month-select-button", type: "button", "aria-label": this.getFullMonthName(this.focusedDate.getMonth() + 1) +
414
+ ', ' + text._t.calendar.nextMonth, onClick: () => this.addMonth() }, index.h("span", { key: 'de4617285a713bd9baa375a99f81bb027768c947', class: "digi-calendar__month-select-name" }, this.getMonthName(this.focusedDate.getMonth() + 1)), index.h("digi-icon-chevron-right", { key: '8d6252fcdd7a035ce8fe4e6f4cb468ce7935aeba', slot: "icon", "aria-hidden": "true" }))))), index.h("digi-util-keydown-handler", { key: '5080246278db71745444dcd40d0722a64e8c80b5', onAfOnDown: (e) => this.navigateHandler(e, 7), onAfOnUp: (e) => this.navigateHandler(e, -7), onAfOnLeft: (e) => this.navigateHandler(e, -1), onAfOnRight: (e) => this.navigateHandler(e, 1) }, index.h("table", { key: '9052f9c8135d95110f927c6a5a949fbd63daec7a', role: "grid", class: "digi-calendar__table" }, index.h("thead", { key: '428467866c49e65d348db796a006611542aabc02' }, index.h("tr", { key: '260024069438dadff553bc3391a37bbb533b5d11', role: "row" }, this.afShowWeekNumber && (index.h("th", { key: '2c22102011ade9125e61416ac78eaed16dec2e26', role: "columnheader", abbr: text._t.calendar.week, class: "digi-calendar__table-header-week" }, text._t.calendar.week.toLowerCase())), Object.keys(text._t.calendar.weekdays).map((day) => (index.h("th", { role: "columnheader", "aria-label": text._t.calendar.weekdays[day], abbr: text._t.calendar.weekdays[day], class: "digi-calendar__table-header" }, text._t.calendar.weekdays_short[day].toLowerCase()))))), index.h("tbody", { key: 'cbe3d290919c35ad27799c17e6b6236557dbe126', ref: (el) => (this._tbody = el) }, this.activeCalendar.map((week) => {
415
+ return (index.h("tr", null, week.map((day, i) => {
416
+ if (this.afShowWeekNumber && i === 0) {
417
+ return (index.h("th", { role: "rowheader", "aria-label": text._t.calendar.week + ' ' + day, class: "digi-calendar__td-week digi-calendar__date--week-number", id: 'digi-calendar__week-' + day }, day));
418
+ }
419
+ else {
420
+ return this.isInAnotherMonth(day) ? (index.h("td", null)) : (index.h("td", { role: "gridcell", class: "digi-calendar__td" }, index.h("button", { key: this.getFullDate(day), type: "button", class: Object.assign(Object.assign({}, this.cssDateModifiers(day)), { 'digi-calendar__date': true }), onClick: () => this.selectDateHandler(day), "aria-current": this.isSameDate(day, new Date()) ? 'date' : null, "aria-label": `
421
+ ${!this.isDateSelectable(day)
422
+ ? text._t.calendar.disabledDate
423
+ : ''} ${this.getDateName(day)}
424
+ `, "aria-disabled": !this.isDateSelectable(day) ? 'true' : null, tabindex: this.setTabIndex(day), "data-date": this.getFullDate(day), "aria-pressed": this.isDateSelectable(day)
425
+ ? this.ariaPressed(day)
426
+ : null }, index.h("span", { "aria-hidden": "true" }, day.getDate()))));
427
+ }
428
+ })));
429
+ })))), index.h("slot", { key: 'e97e8147fc91a3b401665eeeb8db6be7036f678b', name: "calendar-footer" })));
430
+ }
431
+ static get watchers() { return {
432
+ "focusedDate": ["focusedDateChanged"],
433
+ "afOpenCalendarTo": ["afOpenCalendarToChangeHandler"],
434
+ "afShowWeekNumber": ["afShowWeekNumberChangeHandler"],
435
+ "afSelectedDate": ["afSelectedDateChangeHandler"],
436
+ "afSelectedDates": ["afSelectedDatesChangeHandler"]
437
+ }; }
438
+ };
439
+ Calendar.style = DigiCalendarStyle0;
440
+
441
+ const iconCalendarAltCss = ".sc-digi-icon-calendar-alt-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-calendar-alt-h svg.sc-digi-icon-calendar-alt{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)}";
442
+ const DigiIconCalendarAltStyle0 = iconCalendarAltCss;
443
+
444
+ const IconCalendarAlt = class {
445
+ constructor(hostRef) {
446
+ index.registerInstance(this, hostRef);
447
+ this.afTitle = undefined;
448
+ this.afDesc = undefined;
449
+ this.afSvgAriaHidden = true;
450
+ this.afSvgAriaLabelledby = undefined;
451
+ this.titleId = randomIdGenerator_util.randomIdGenerator('icontitle');
452
+ }
453
+ render() {
454
+ return (index.h("svg", { key: '87e379017e361b0e21f2ea5eeeb865aa9d406c58', class: "digi-icon-calendar-alt", width: "22", height: "26", viewBox: "0 0 22 26", "aria-hidden": this.afSvgAriaHidden ? 'true' : 'false', "aria-labelledby": this.afSvgAriaLabelledby
455
+ ? this.afSvgAriaLabelledby
456
+ : this.afTitle
457
+ ? this.titleId
458
+ : undefined, xmlns: "http://www.w3.org/2000/svg" }, this.afTitle && index.h("title", { key: '2bfb6fba555a94a63b1f2e2cc398c8993807852a', id: this.titleId }, this.afTitle), this.afDesc && index.h("desc", { key: 'adff2ed4fb53f4ae4e0ec6b5dd1b51e2e12a0b2e' }, this.afDesc), index.h("path", { key: '0928cefdc9310488322b5ce6b5ee334fdee1778b', class: "digi-icon-calendar-alt__shape", d: "M21.41 8.125H.59a.601.601 0 01-.59-.61V5.689C0 4.341 1.056 3.25 2.357 3.25h2.357V.61c0-.336.265-.61.59-.61h1.964c.324 0 .59.274.59.61v2.64h6.285V.61c0-.336.265-.61.59-.61h1.963c.325 0 .59.274.59.61v2.64h2.357C20.944 3.25 22 4.342 22 5.688v1.828c0 .335-.265.609-.59.609zM.59 9.75h20.82c.325 0 .59.274.59.61v13.203C22 24.907 20.944 26 19.643 26H2.357C1.056 26 0 24.908 0 23.562V10.36c0-.335.265-.609.59-.609zm5.696 10.36a.601.601 0 00-.59-.61H3.732a.601.601 0 00-.59.61v2.03c0 .336.266.61.59.61h1.964c.325 0 .59-.274.59-.61v-2.03zm0-6.5a.601.601 0 00-.59-.61H3.732a.601.601 0 00-.59.61v2.03c0 .336.266.61.59.61h1.964c.325 0 .59-.274.59-.61v-2.03zm6.285 6.5a.601.601 0 00-.589-.61h-1.964a.601.601 0 00-.59.61v2.03c0 .336.266.61.59.61h1.964c.324 0 .59-.274.59-.61v-2.03zm0-6.5a.601.601 0 00-.589-.61h-1.964a.601.601 0 00-.59.61v2.03c0 .336.266.61.59.61h1.964c.324 0 .59-.274.59-.61v-2.03zm6.286 6.5a.601.601 0 00-.59-.61h-1.963a.601.601 0 00-.59.61v2.03c0 .336.265.61.59.61h1.964c.324 0 .59-.274.59-.61v-2.03zm0-6.5a.601.601 0 00-.59-.61h-1.963a.601.601 0 00-.59.61v2.03c0 .336.265.61.59.61h1.964c.324 0 .59-.274.59-.61v-2.03z", fill: "currentColor", "fill-rule": "nonzero" })));
459
+ }
460
+ };
461
+ IconCalendarAlt.style = DigiIconCalendarAltStyle0;
462
+
463
+ exports.digi_calendar = Calendar;
464
+ exports.digi_icon_calendar_alt = IconCalendarAlt;