@designsystem-se/af 39.2.1 → 39.2.3

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 (216) hide show
  1. package/components/digi-bar-chart.js +67 -17
  2. package/components/digi-calendar-datepicker.js +1 -1
  3. package/components/digi-calendar-week-view.js +51 -6
  4. package/components/digi-calendar.js +1 -1
  5. package/components/digi-chart-line.js +57 -14
  6. package/components/digi-expandable-accordion.js +18 -11
  7. package/components/digi-expandable-faq-item.js +21 -14
  8. package/components/digi-info-card.js +3 -3
  9. package/components/digi-navigation-vertical-menu.js +27 -13
  10. package/components/digi-tablist.js +36 -13
  11. package/components/{p-CrUxQ9d0.js → p-C5A2t93y.js} +1 -1
  12. package/custom-elements.json +1 -1
  13. package/dist/cjs/button-size.enum-DgyvMkwE.js +7 -0
  14. package/dist/cjs/{button-variation.enum-ngMqFLdW.js → button-variation.enum-DkUalo9f.js} +0 -6
  15. package/dist/cjs/digi-arbetsformedlingen.cjs.js +1 -1
  16. package/dist/cjs/digi-bar-chart.cjs.entry.js +67 -17
  17. package/dist/cjs/digi-button.cjs.entry.js +131 -0
  18. package/dist/cjs/{digi-button_5.cjs.entry.js → digi-calendar-week-view.cjs.entry.js} +117 -261
  19. package/dist/cjs/{digi-calendar-datepicker.cjs.entry.js → digi-calendar_19.cjs.entry.js} +1611 -55
  20. package/dist/cjs/digi-chart-line.cjs.entry.js +57 -14
  21. package/dist/cjs/digi-code-block_3.cjs.entry.js +6 -12
  22. package/dist/cjs/digi-code-example.cjs.entry.js +4 -3
  23. package/dist/cjs/digi-dialog.cjs.entry.js +6 -12
  24. package/dist/cjs/digi-footer.cjs.entry.js +5 -11
  25. package/dist/cjs/digi-form-error-list.cjs.entry.js +5 -11
  26. package/dist/cjs/digi-form-file-upload.cjs.entry.js +9 -10
  27. package/dist/cjs/digi-form-input-search.cjs.entry.js +5 -6
  28. package/dist/cjs/digi-form-receipt.cjs.entry.js +5 -11
  29. package/dist/cjs/digi-form-select-filter.cjs.entry.js +6 -12
  30. package/dist/cjs/digi-header-navigation.cjs.entry.js +5 -11
  31. package/dist/cjs/digi-header.cjs.entry.js +5 -11
  32. package/dist/cjs/digi-info-card.cjs.entry.js +3 -3
  33. package/dist/cjs/digi-navigation-pagination.cjs.entry.js +5 -11
  34. package/dist/cjs/digi-navigation-vertical-menu.cjs.entry.js +27 -13
  35. package/dist/cjs/digi-notification-alert.cjs.entry.js +5 -11
  36. package/dist/cjs/digi-notification-error-page.cjs.entry.js +5 -11
  37. package/dist/cjs/digi-tablist.cjs.entry.js +36 -13
  38. package/dist/cjs/digi-title-logo.cjs.entry.js +5 -11
  39. package/dist/cjs/digi-tools-feedback.cjs.entry.js +7 -13
  40. package/dist/cjs/{form-input-type.enum-DvF_MTHK.js → form-input-type.enum-CCCcY8gv.js} +7 -0
  41. package/dist/cjs/{form-file-upload-variation.enum-xcEOoggr.js → form-validation-message-variation.enum-DgkifAnP.js} +7 -0
  42. package/dist/cjs/index-Cn1hHaSy.js +6 -42
  43. package/dist/cjs/{index-Bdlw-Iuy.js → index-DUQtADgG.js} +189 -19
  44. package/dist/cjs/index.cjs.js +59 -65
  45. package/dist/cjs/loader.cjs.js +1 -1
  46. package/dist/cjs/{typography-variation.enum-BDSt7CVI.js → typography-variation.enum-CVUvogxJ.js} +86 -0
  47. package/dist/collection/components/_calendar/calendar/calendar.css +5 -6
  48. package/dist/collection/components/_calendar/week-view/calendar-week-view.js +53 -8
  49. package/dist/collection/components/_chart/bar-chart/bar-chart.css +1 -1
  50. package/dist/collection/components/_chart/bar-chart/bar-chart.js +66 -16
  51. package/dist/collection/components/_chart/chart-line/chart-line.js +57 -14
  52. package/dist/collection/components/_expandable/expandable-accordion/expandable-accordion.js +18 -11
  53. package/dist/collection/components/_expandable/expandable-faq-item/expandable-faq-item.js +21 -14
  54. package/dist/collection/components/_info-card/info-card/info-card.js +5 -5
  55. package/dist/collection/components/_navigation/navigation-tablist/navigation-tablist.js +36 -13
  56. package/dist/collection/components/_navigation/navigation-vertical-menu/navigation-vertical-menu.js +27 -13
  57. package/dist/digi-arbetsformedlingen/digi-arbetsformedlingen.esm.js +1 -1
  58. package/dist/digi-arbetsformedlingen/index.esm.js +1 -1
  59. package/dist/digi-arbetsformedlingen/p-0230ec9b.entry.js +1 -0
  60. package/dist/digi-arbetsformedlingen/p-04bbbd14.entry.js +1 -0
  61. package/dist/digi-arbetsformedlingen/p-0cf25433.entry.js +1 -0
  62. package/dist/digi-arbetsformedlingen/p-17824a0b.entry.js +1 -0
  63. package/dist/digi-arbetsformedlingen/p-25815f15.entry.js +1 -0
  64. package/dist/digi-arbetsformedlingen/p-3d4ac22e.entry.js +1 -0
  65. package/dist/digi-arbetsformedlingen/p-47513f97.entry.js +1 -0
  66. package/dist/digi-arbetsformedlingen/p-4aefce1e.entry.js +1 -0
  67. package/dist/digi-arbetsformedlingen/p-6e256f0c.entry.js +1 -0
  68. package/dist/digi-arbetsformedlingen/p-870a00f8.entry.js +1 -0
  69. package/dist/digi-arbetsformedlingen/p-88dc2ed4.entry.js +1 -0
  70. package/dist/digi-arbetsformedlingen/p-9n7Okhf1.js +1 -0
  71. package/dist/digi-arbetsformedlingen/p-C6S1HfeA.js +1 -0
  72. package/dist/digi-arbetsformedlingen/p-C7xgnp99.js +1 -0
  73. package/dist/digi-arbetsformedlingen/p-Cnyfh_8_.js +1 -0
  74. package/dist/digi-arbetsformedlingen/p-Zivp2NJB.js +1 -0
  75. package/dist/digi-arbetsformedlingen/p-a1deddb1.entry.js +1 -0
  76. package/dist/digi-arbetsformedlingen/p-a29b6fff.entry.js +1 -0
  77. package/dist/digi-arbetsformedlingen/{p-375ea6f8.entry.js → p-ace2e5fd.entry.js} +1 -1
  78. package/dist/digi-arbetsformedlingen/p-b411a549.entry.js +1 -0
  79. package/dist/digi-arbetsformedlingen/p-b7712996.entry.js +1 -0
  80. package/dist/digi-arbetsformedlingen/p-bfccf413.entry.js +1 -0
  81. package/dist/digi-arbetsformedlingen/p-cdd65abb.entry.js +1 -0
  82. package/dist/digi-arbetsformedlingen/p-d4406627.entry.js +1 -0
  83. package/dist/digi-arbetsformedlingen/p-dd95c75e.entry.js +1 -0
  84. package/dist/digi-arbetsformedlingen/p-e5396b1e.entry.js +1 -0
  85. package/dist/digi-arbetsformedlingen/p-e7c10f6a.entry.js +1 -0
  86. package/dist/digi-arbetsformedlingen/p-f91295ac.entry.js +1 -0
  87. package/dist/digi-arbetsformedlingen/p-ffb4fac6.entry.js +1 -0
  88. package/dist/digi-arbetsformedlingen/p-y5Nm4oWF.js +1 -0
  89. package/dist/esm/button-size.enum-C7xgnp99.js +7 -0
  90. package/dist/esm/{button-variation.enum-BMQm4N5I.js → button-variation.enum-y5Nm4oWF.js} +1 -7
  91. package/dist/esm/digi-arbetsformedlingen.js +1 -1
  92. package/dist/esm/digi-bar-chart.entry.js +67 -17
  93. package/dist/esm/digi-button.entry.js +129 -0
  94. package/dist/esm/{digi-button_5.entry.js → digi-calendar-week-view.entry.js} +56 -196
  95. package/dist/esm/{digi-calendar-datepicker.entry.js → digi-calendar_19.entry.js} +1555 -17
  96. package/dist/esm/digi-chart-line.entry.js +57 -14
  97. package/dist/esm/digi-code-block_3.entry.js +5 -11
  98. package/dist/esm/digi-code-example.entry.js +2 -1
  99. package/dist/esm/digi-dialog.entry.js +5 -11
  100. package/dist/esm/digi-footer.entry.js +5 -11
  101. package/dist/esm/digi-form-error-list.entry.js +5 -11
  102. package/dist/esm/digi-form-file-upload.entry.js +1 -2
  103. package/dist/esm/digi-form-input-search.entry.js +1 -2
  104. package/dist/esm/digi-form-receipt.entry.js +5 -11
  105. package/dist/esm/digi-form-select-filter.entry.js +5 -11
  106. package/dist/esm/digi-header-navigation.entry.js +5 -11
  107. package/dist/esm/digi-header.entry.js +5 -11
  108. package/dist/esm/digi-info-card.entry.js +3 -3
  109. package/dist/esm/digi-navigation-pagination.entry.js +5 -11
  110. package/dist/esm/digi-navigation-vertical-menu.entry.js +27 -13
  111. package/dist/esm/digi-notification-alert.entry.js +5 -11
  112. package/dist/esm/digi-notification-error-page.entry.js +5 -11
  113. package/dist/esm/digi-tablist.entry.js +37 -14
  114. package/dist/esm/digi-title-logo.entry.js +5 -11
  115. package/dist/esm/digi-tools-feedback.entry.js +5 -11
  116. package/dist/esm/{form-input-type.enum-BSJH8Lpg.js → form-input-type.enum-C6S1HfeA.js} +8 -1
  117. package/dist/esm/{form-file-upload-variation.enum-BfyJgcLA.js → form-validation-message-variation.enum-9n7Okhf1.js} +8 -1
  118. package/dist/esm/index-BnKuq1L7.js +6 -42
  119. package/dist/esm/{index-B1Je6g2n.js → index-Cnyfh_8_.js} +170 -3
  120. package/dist/esm/index.js +5 -11
  121. package/dist/esm/loader.js +1 -1
  122. package/dist/esm/{typography-variation.enum-4smNltRI.js → typography-variation.enum-Zivp2NJB.js} +87 -1
  123. package/dist/types/components/_calendar/week-view/calendar-week-view.d.ts +4 -2
  124. package/dist/types/components/_chart/bar-chart/bar-chart.d.ts +4 -2
  125. package/dist/types/components/_chart/chart-line/chart-line.d.ts +3 -1
  126. package/dist/types/components/_info-card/info-card/info-card.d.ts +2 -2
  127. package/dist/types/components/_navigation/navigation-tablist/navigation-tablist.d.ts +4 -2
  128. package/dist/types/components/_navigation/navigation-vertical-menu/navigation-vertical-menu.d.ts +7 -2
  129. package/dist/types/components.d.ts +7 -7
  130. package/hydrate/index.js +278 -92
  131. package/hydrate/index.mjs +278 -92
  132. package/package.json +1 -1
  133. package/dist/cjs/digi-calendar_2.cjs.entry.js +0 -490
  134. package/dist/cjs/digi-expandable-accordion.cjs.entry.js +0 -121
  135. package/dist/cjs/digi-expandable-faq-item.cjs.entry.js +0 -119
  136. package/dist/cjs/digi-form-input.cjs.entry.js +0 -205
  137. package/dist/cjs/digi-form-label_3.cjs.entry.js +0 -147
  138. package/dist/cjs/digi-form-select_2.cjs.entry.js +0 -201
  139. package/dist/cjs/digi-icon-chevron-down.cjs.entry.js +0 -28
  140. package/dist/cjs/digi-icon-validation-error_2.cjs.entry.js +0 -51
  141. package/dist/cjs/digi-typography-heading-jumbo.cjs.entry.js +0 -46
  142. package/dist/cjs/digi-util-keydown-handler.cjs.entry.js +0 -81
  143. package/dist/cjs/expandable-accordion-header-level.enum-CjL9V3Kt.js +0 -11
  144. package/dist/cjs/expandable-faq-item-variation.enum-aKkYAQgd.js +0 -18
  145. package/dist/cjs/form-input-search-variation.enum-VVfvlVeM.js +0 -8
  146. package/dist/cjs/form-input-variation.enum-kpoXNUuI.js +0 -29
  147. package/dist/cjs/form-select-variation.enum-e6wjWyaS.js +0 -16
  148. package/dist/cjs/form-validation-message-variation.enum-BA5nmCiw.js +0 -8
  149. package/dist/cjs/index-Snltmefx.js +0 -174
  150. package/dist/cjs/index-r0sb9TCr.js +0 -66
  151. package/dist/cjs/typography-heading-jumbo-variation.enum-Di1Jeh0G.js +0 -17
  152. package/dist/digi-arbetsformedlingen/p-037a35bd.entry.js +0 -1
  153. package/dist/digi-arbetsformedlingen/p-09b52191.entry.js +0 -1
  154. package/dist/digi-arbetsformedlingen/p-0c88f210.entry.js +0 -1
  155. package/dist/digi-arbetsformedlingen/p-151248bf.entry.js +0 -1
  156. package/dist/digi-arbetsformedlingen/p-26099889.entry.js +0 -1
  157. package/dist/digi-arbetsformedlingen/p-3239fb1a.entry.js +0 -1
  158. package/dist/digi-arbetsformedlingen/p-3c1f9629.entry.js +0 -1
  159. package/dist/digi-arbetsformedlingen/p-4ddcae7b.entry.js +0 -1
  160. package/dist/digi-arbetsformedlingen/p-4smNltRI.js +0 -1
  161. package/dist/digi-arbetsformedlingen/p-52a27991.entry.js +0 -1
  162. package/dist/digi-arbetsformedlingen/p-626c1bf5.entry.js +0 -1
  163. package/dist/digi-arbetsformedlingen/p-674a7a94.entry.js +0 -1
  164. package/dist/digi-arbetsformedlingen/p-6931825c.entry.js +0 -1
  165. package/dist/digi-arbetsformedlingen/p-6c1fd994.entry.js +0 -1
  166. package/dist/digi-arbetsformedlingen/p-7682ad6f.entry.js +0 -1
  167. package/dist/digi-arbetsformedlingen/p-7688502e.entry.js +0 -1
  168. package/dist/digi-arbetsformedlingen/p-7f180ce2.entry.js +0 -1
  169. package/dist/digi-arbetsformedlingen/p-88bec555.entry.js +0 -1
  170. package/dist/digi-arbetsformedlingen/p-91265ee0.entry.js +0 -1
  171. package/dist/digi-arbetsformedlingen/p-9a4eecde.entry.js +0 -1
  172. package/dist/digi-arbetsformedlingen/p-B8hpiXmh.js +0 -1
  173. package/dist/digi-arbetsformedlingen/p-BMQm4N5I.js +0 -1
  174. package/dist/digi-arbetsformedlingen/p-BSJH8Lpg.js +0 -1
  175. package/dist/digi-arbetsformedlingen/p-BfyJgcLA.js +0 -1
  176. package/dist/digi-arbetsformedlingen/p-BixPaBHw.js +0 -1
  177. package/dist/digi-arbetsformedlingen/p-BvWKyXb_.js +0 -1
  178. package/dist/digi-arbetsformedlingen/p-C6B2KRZo.js +0 -1
  179. package/dist/digi-arbetsformedlingen/p-CgSR-RTl.js +0 -1
  180. package/dist/digi-arbetsformedlingen/p-DCS1KcvC.js +0 -1
  181. package/dist/digi-arbetsformedlingen/p-DNjGvZvz.js +0 -1
  182. package/dist/digi-arbetsformedlingen/p-DfWZa2Wv.js +0 -1
  183. package/dist/digi-arbetsformedlingen/p-DwNlf6Sh.js +0 -1
  184. package/dist/digi-arbetsformedlingen/p-a556608d.entry.js +0 -1
  185. package/dist/digi-arbetsformedlingen/p-a9a1bf57.entry.js +0 -1
  186. package/dist/digi-arbetsformedlingen/p-b3410fbd.entry.js +0 -1
  187. package/dist/digi-arbetsformedlingen/p-d07a1377.entry.js +0 -1
  188. package/dist/digi-arbetsformedlingen/p-d0b3c35b.entry.js +0 -1
  189. package/dist/digi-arbetsformedlingen/p-e002ceb8.entry.js +0 -1
  190. package/dist/digi-arbetsformedlingen/p-e6ee5a17.entry.js +0 -1
  191. package/dist/digi-arbetsformedlingen/p-e7b311da.entry.js +0 -1
  192. package/dist/digi-arbetsformedlingen/p-ec6dd177.entry.js +0 -1
  193. package/dist/digi-arbetsformedlingen/p-ee58a938.entry.js +0 -1
  194. package/dist/digi-arbetsformedlingen/p-eee1b91f.entry.js +0 -1
  195. package/dist/digi-arbetsformedlingen/p-fea63204.entry.js +0 -1
  196. package/dist/digi-arbetsformedlingen/p-ff73fa2f.entry.js +0 -1
  197. package/dist/digi-arbetsformedlingen/p-xwICssEK.js +0 -1
  198. package/dist/esm/digi-calendar_2.entry.js +0 -487
  199. package/dist/esm/digi-expandable-accordion.entry.js +0 -119
  200. package/dist/esm/digi-expandable-faq-item.entry.js +0 -117
  201. package/dist/esm/digi-form-input.entry.js +0 -203
  202. package/dist/esm/digi-form-label_3.entry.js +0 -143
  203. package/dist/esm/digi-form-select_2.entry.js +0 -198
  204. package/dist/esm/digi-icon-chevron-down.entry.js +0 -26
  205. package/dist/esm/digi-icon-validation-error_2.entry.js +0 -48
  206. package/dist/esm/digi-typography-heading-jumbo.entry.js +0 -44
  207. package/dist/esm/digi-util-keydown-handler.entry.js +0 -79
  208. package/dist/esm/expandable-accordion-header-level.enum-DwNlf6Sh.js +0 -11
  209. package/dist/esm/expandable-faq-item-variation.enum-C6B2KRZo.js +0 -18
  210. package/dist/esm/form-input-search-variation.enum-BvWKyXb_.js +0 -8
  211. package/dist/esm/form-input-variation.enum-DfWZa2Wv.js +0 -29
  212. package/dist/esm/form-select-variation.enum-DCS1KcvC.js +0 -16
  213. package/dist/esm/form-validation-message-variation.enum-B8hpiXmh.js +0 -8
  214. package/dist/esm/index-BixPaBHw.js +0 -170
  215. package/dist/esm/index-BsIL3T_0.js +0 -63
  216. package/dist/esm/typography-heading-jumbo-variation.enum-DNjGvZvz.js +0 -17
package/hydrate/index.js CHANGED
@@ -10907,7 +10907,7 @@ const _t = Object.assign(Object.assign({}, common), { calendar,
10907
10907
  progressList,
10908
10908
  time });
10909
10909
 
10910
- 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( --digi--calendar--header--button--background--hover );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( --digi--calendar--header--button--background--hover );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}`;
10910
+ 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(--digi--calendar--header--button--background--hover);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(--digi--calendar--header--button--background--hover);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.sc-digi-calendar th.sc-digi-calendar{text-align:center}.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}`;
10911
10911
 
10912
10912
  /**
10913
10913
  * @swedishName Kalender
@@ -13285,7 +13285,30 @@ class CalendarWeekView {
13285
13285
  this.weekDays = [...newDates];
13286
13286
  }
13287
13287
  afDatesUpdate() {
13288
- const dateList = [...JSON.parse(this.afDates)];
13288
+ // Angular/React can connect the element before afDates is set.
13289
+ if (this.afDates == null || this.afDates === '') {
13290
+ return;
13291
+ }
13292
+ const hadDates = this.dates.length > 0;
13293
+ let dateList;
13294
+ try {
13295
+ if (Array.isArray(this.afDates)) {
13296
+ dateList = [...this.afDates];
13297
+ }
13298
+ else if (typeof this.afDates === 'string') {
13299
+ dateList = JSON.parse(this.afDates);
13300
+ }
13301
+ else {
13302
+ return;
13303
+ }
13304
+ }
13305
+ catch (_a) {
13306
+ logger.warn(`Invalid JSON in "af-dates" attribute`, this.hostElement);
13307
+ return;
13308
+ }
13309
+ if (!Array.isArray(dateList)) {
13310
+ return;
13311
+ }
13289
13312
  this.dates = [
13290
13313
  ...dateList.sort((a, b) => {
13291
13314
  const c = new Date(a);
@@ -13293,6 +13316,9 @@ class CalendarWeekView {
13293
13316
  return this.getTime(c) - this.getTime(d);
13294
13317
  })
13295
13318
  ];
13319
+ if (!hadDates && this.dates.length > 0) {
13320
+ this.initDates();
13321
+ }
13296
13322
  }
13297
13323
  /**
13298
13324
  * Kan användas för att manuellt sätta om det aktiva datumet. Formatet måste vara 'yyyy-MM-dd'.
@@ -13316,6 +13342,9 @@ class CalendarWeekView {
13316
13342
  this.afOnWeekChange.emit('next');
13317
13343
  }
13318
13344
  initDates() {
13345
+ if (this.dates.length === 0) {
13346
+ return;
13347
+ }
13319
13348
  this.minDate = new Date(this.dates[0]);
13320
13349
  this.maxDate = new Date(this.dates[this.dates.length - 1]);
13321
13350
  this.selectedDate = format$1(new Date(this.dates[0]), 'yyyy-MM-dd', {
@@ -13327,9 +13356,23 @@ class CalendarWeekView {
13327
13356
  }
13328
13357
  componentWillLoad() {
13329
13358
  this.afDatesUpdate();
13330
- this.initDates();
13359
+ // Angular attaches the host first and binds `[afDates]` on the next frame
13360
+ // (Stencil 4.36+). @Watch skips that first assignment, so if dates are not
13361
+ // here yet, wait one frame. React/vanilla that already set the prop skip
13362
+ // the delay.
13363
+ if (this.dates.length === 0) {
13364
+ return new Promise((resolve) => {
13365
+ requestAnimationFrame(() => {
13366
+ this.afDatesUpdate();
13367
+ resolve();
13368
+ });
13369
+ });
13370
+ }
13331
13371
  }
13332
13372
  componentDidLoad() {
13373
+ if (this.dates.length === 0) {
13374
+ this.afDatesUpdate();
13375
+ }
13333
13376
  this.afOnReady.emit();
13334
13377
  }
13335
13378
  get prevWeekText() {
@@ -13353,7 +13396,7 @@ class CalendarWeekView {
13353
13396
  format$1(new Date(lastDate), 'MMMM yyyy', { locale: locale$1 });
13354
13397
  }
13355
13398
  render() {
13356
- return (hAsync("div", { key: '967ccb9710018973a960ae36d52157ba85dacfed', class: "digi-calendar-week-view" }, hAsync("nav", { key: '6a9137d8f8a8e652d26d099ae652cb76e5665b51', class: "digi-calendar-week-view__timepicker" }, hAsync("div", { key: 'a2b8aaeaa93e391e65847b2ea8f9b455e86474f1', class: "digi-calendar-week-view__dates" }, hAsync("div", { key: '0cc675c0cd67d042e5e27a38a6665ab30e516cea', class: "digi-calendar-week-view__flex" }, hAsync("digi-typography", { key: 'd47f59955354cb435dc80895059c6e4fd6eefa8a' }, hAsync(this.afHeadingLevel, { key: 'f01725e82afff23b8ae357b30af909b325d85279', role: "status", class: "digi-calendar-week-view__heading" }, hAsync("span", { key: 'bbfab19eec8776e640ed235654c0fd960faf5722', class: "digi-calendar-week-view__month" }, this.currentMonth), hAsync("span", { key: 'a3a52801083cd83351056d474e01df926d8b0117', class: "digi-calendar-week-view__week" }, ' ', "v.", this.currentWeek))), hAsync("ul", { key: 'a3f3703318fa5400cd32ee5d3af896900a032acd', class: "digi-calendar-week-view__date-list" }, this.weekDays.map((dateItem) => {
13399
+ return (hAsync("div", { key: '44d49828a7f43a1f3943aaf0af4139f402844bf0', class: "digi-calendar-week-view" }, hAsync("nav", { key: '44ba98a7c433077c2c11c55b150a5cc2f1d38ac2', class: "digi-calendar-week-view__timepicker" }, hAsync("div", { key: '160ce73dc293abd69193c2b1750c9fd7400b8804', class: "digi-calendar-week-view__dates" }, hAsync("div", { key: '2d60245978d9c7615f3ff5ec7b9d8d628e16f843', class: "digi-calendar-week-view__flex" }, hAsync("digi-typography", { key: '23a1c94d0575061951f67f46782144de52e5e662' }, hAsync(this.afHeadingLevel, { key: 'a183705a035f4d3d57ced74920221f40bbe6019f', role: "status", class: "digi-calendar-week-view__heading" }, hAsync("span", { key: '147910745991716f3557491c6e6aa702f479e8c7', class: "digi-calendar-week-view__month" }, this.currentMonth), hAsync("span", { key: '0d91367cd6066a2b35349edd0ff93e20b5326f04', class: "digi-calendar-week-view__week" }, ' ', "v.", this.currentWeek))), hAsync("ul", { key: 'fdff670cf241e05920e19e0ce6e601b62ae9a3f0', class: "digi-calendar-week-view__date-list" }, this.weekDays.map((dateItem) => {
13357
13400
  const date = format$1(new Date(dateItem), 'd', {
13358
13401
  locale: locale$1
13359
13402
  });
@@ -13373,16 +13416,17 @@ class CalendarWeekView {
13373
13416
  } }, day), hAsync("span", { class: "digi-calendar-week-view__date-button-date" }, date), hAsync("span", { "aria-hidden": "true", class: {
13374
13417
  'digi-calendar-week-view__date-button-circle': dateItem === this.todaysDate
13375
13418
  } })))));
13376
- })))), hAsync("digi-button", { key: '2edb685459c4cbf8a0120ab340672b17d0ea3f9f', onClick: () => this.prevWeek(), class: {
13419
+ })))), hAsync("digi-button", { key: 'dbae5227d0316a5a67febc7de83b1c4c5cfc1044', onClick: () => this.prevWeek(), class: {
13377
13420
  'digi-calendar-week-view__week-button digi-calendar-week-view__week-button--previous': true,
13378
13421
  'digi-calendar-week-view__week-button--keep-left': this.currentWeek == getISOWeek(this.maxDate),
13379
13422
  'digi-calendar-week-view__week-button--hidden': !(this.currentWeek > getISOWeek(this.minDate))
13380
- }, "af-variation": "secondary" }, hAsync("digi-icon-chevron-left", { key: '8948b12a1654f9ef46728ea8de3b1df5f40addcd', slot: "icon" }), this.prevWeekText), hAsync("digi-button", { key: '729ed8eebce68168b66c5365588a52b1279eec3f', onClick: () => this.nextWeek(), class: {
13423
+ }, "af-variation": "secondary" }, hAsync("digi-icon-chevron-left", { key: '65d0f656a0d35911d39f9b8e9ade224be54d4371', slot: "icon" }), this.prevWeekText), hAsync("digi-button", { key: '68d9b3d6c929d0185f412add980a542b3c86fbb2', onClick: () => this.nextWeek(), class: {
13381
13424
  'digi-calendar-week-view__week-button digi-calendar-week-view__week-button--next': true,
13382
13425
  'digi-calendar-week-view__week-button--keep-right': this.currentWeek == getISOWeek(this.minDate),
13383
13426
  'digi-calendar-week-view__week-button--hidden': !(this.currentWeek < getISOWeek(this.maxDate))
13384
- }, "af-variation": "secondary" }, hAsync("digi-icon-chevron-right", { key: '75bf1669a5d9dd3f618661c79202dc8e69f6c8ea', slot: "icon-secondary" }), this.nextWeekText)), hAsync("div", { key: 'c7379a321936f28783d2f7a4e1e94d0b119de471', role: "status", "aria-live": "assertive", class: "digi-calendar-week-view__result", id: `${this.afId}-result` }, hAsync("digi-typography", { key: 'f7e55435a94c5bff18a3b4b7bfa5d397291f7e8c' }, hAsync("slot", { key: '7c59e144a47c721f5f4a454b9776c708f6d2f15c' })))));
13427
+ }, "af-variation": "secondary" }, hAsync("digi-icon-chevron-right", { key: 'a9e688f815a5053aa709cfeb9359131f73df21c0', slot: "icon-secondary" }), this.nextWeekText)), hAsync("div", { key: '7d1073f6cd1982fda2ce7dcb60532c94bd1d0634', role: "status", "aria-live": "assertive", class: "digi-calendar-week-view__result", id: `${this.afId}-result` }, hAsync("digi-typography", { key: 'db7ce0ca80485df1e4ae67200f2cd90cc80938d5' }, hAsync("slot", { key: 'f08f447ae89612dfcea56c638024220bc29e7914' })))));
13385
13428
  }
13429
+ get hostElement() { return getElement(this); }
13386
13430
  static get watchers() { return {
13387
13431
  "selectedDate": [{
13388
13432
  "selectedDateChangeHandler": 0
@@ -18860,14 +18904,14 @@ class ChartLine {
18860
18904
  });
18861
18905
  };
18862
18906
  // Removes resize observer for chart and inits table
18863
- this.activateTable = (event) => {
18907
+ this.activateTable = () => {
18864
18908
  this.closeTooltip();
18865
18909
  this.lineChartObserver.disconnect();
18866
18910
  this.tableObserver.observe(this._chartDiv);
18867
18911
  this._status.innerHTML = '<p>Visas som tabell</p>';
18868
18912
  select(this._host).select('.tableButton').style('display', 'none');
18869
18913
  select(this._host).select('.chartButton').style('display', null);
18870
- event.target.nextSibling.lastChild.focus();
18914
+ this.focusHostButton('.chartButton');
18871
18915
  const duration = 150;
18872
18916
  this._svg
18873
18917
  .attr('opacity', 1)
@@ -18898,12 +18942,12 @@ class ChartLine {
18898
18942
  this.setTableDimensions();
18899
18943
  };
18900
18944
  // Removes observer and calls init functions for line chart
18901
- this.reInitChart = (event) => {
18945
+ this.reInitChart = () => {
18902
18946
  this.tableObserver.disconnect();
18903
18947
  this._status.innerHTML = '<p>Visas som diagram</p>';
18904
18948
  select(this._host).select('.tableButton').style('display', null);
18905
18949
  select(this._host).select('.chartButton').style('display', 'none');
18906
- event.target.previousSibling.lastChild.focus();
18950
+ this.focusHostButton('.tableButton');
18907
18951
  const table = select(this._tableDiv);
18908
18952
  table
18909
18953
  .style('opacity', 1)
@@ -18930,15 +18974,40 @@ class ChartLine {
18930
18974
  }
18931
18975
  afChartDataUpdate() {
18932
18976
  const data = this.afChartData;
18933
- if (typeof data === 'object') {
18934
- this._chartData = Object.assign({}, data);
18977
+ // Angular/React can connect the element before afChartData is set.
18978
+ if (data == null || data === '') {
18979
+ return;
18980
+ }
18981
+ try {
18982
+ if (typeof data === 'object') {
18983
+ this._chartData = Object.assign({}, data);
18984
+ }
18985
+ else if (typeof data === 'string') {
18986
+ this._chartData = JSON.parse(data);
18987
+ }
18988
+ else {
18989
+ return;
18990
+ }
18991
+ }
18992
+ catch (_a) {
18993
+ logger.warn(`Invalid JSON in "af-chart-data" attribute`, this.element);
18935
18994
  return;
18936
18995
  }
18937
- this._chartData = JSON.parse(data);
18938
18996
  // Making deep copy of this
18939
18997
  if (this._chartData.data)
18940
18998
  this._coreSeries = JSON.parse(JSON.stringify(this._chartData.data.series));
18941
18999
  }
19000
+ hasChartData() {
19001
+ return !!this._chartData && Object.keys(this._chartData).length > 0;
19002
+ }
19003
+ focusHostButton(selector) {
19004
+ var _a, _b;
19005
+ const host = this._host;
19006
+ const button = (_b = (_a = host === null || host === void 0 ? void 0 : host.querySelector(selector)) === null || _a === void 0 ? void 0 : _a.querySelector('button')) !== null && _b !== void 0 ? _b : host === null || host === void 0 ? void 0 : host.querySelector(selector);
19007
+ if (button && typeof button.focus === 'function') {
19008
+ button.focus();
19009
+ }
19010
+ }
18942
19011
  initSvg() {
18943
19012
  this.margin.bottom =
18944
19013
  Number(window
@@ -19402,9 +19471,24 @@ class ChartLine {
19402
19471
  }
19403
19472
  componentWillLoad() {
19404
19473
  this.afChartDataUpdate();
19474
+ // Angular attaches the host first and binds `[afChartData]` on the next
19475
+ // frame (Stencil 4.36+). @Watch skips that first assignment, so if chart
19476
+ // data is not here yet, wait one frame. React/vanilla that already set
19477
+ // the prop skip the delay.
19478
+ if (!this.hasChartData()) {
19479
+ return new Promise((resolve) => {
19480
+ requestAnimationFrame(() => {
19481
+ this.afChartDataUpdate();
19482
+ resolve();
19483
+ });
19484
+ });
19485
+ }
19405
19486
  }
19406
19487
  componentDidLoad() {
19407
- if (Object.keys(this._chartData).length === 0)
19488
+ if (!this.hasChartData()) {
19489
+ this.afChartDataUpdate();
19490
+ }
19491
+ if (!this.hasChartData())
19408
19492
  return this.initEmpty();
19409
19493
  // clearing selection
19410
19494
  this._selectedLines = [];
@@ -19420,7 +19504,7 @@ class ChartLine {
19420
19504
  this._prevHeight = select(this._titleDiv).style('height');
19421
19505
  }
19422
19506
  componentDidUpdate() {
19423
- if (Object.keys(this._chartData).length === 0)
19507
+ if (!this.hasChartData())
19424
19508
  return this.loadingState();
19425
19509
  // clearing selection
19426
19510
  this._selectedLines = [];
@@ -19577,11 +19661,13 @@ class ChartLine {
19577
19661
  }
19578
19662
  render() {
19579
19663
  let heading = '';
19580
- if (!this._chartData.subTitle)
19581
- heading = `<${this.afHeadingLevel}>${this._chartData.title}</${this.afHeadingLevel}>`;
19582
- else
19583
- heading = `<${this.afHeadingLevel}>${this._chartData.title}</${this.afHeadingLevel}><p>${this._chartData.subTitle}</p>`;
19584
- return (hAsync("host", { key: 'a21c09ee91ccabf90f91d2344d301d26710f9a60', ref: (el) => (this._host = el) }, hAsync("div", { key: 'c97af6a0bbc28675a19c843a3c355b35397e5804', class: "topWrapper", ref: (el) => (this._titleDiv = el) }, hAsync("digi-typography", { key: '76085c6924fd317d4a281e93ca4623b85f0fb867', class: "chartTitle", innerHTML: heading }), hAsync("digi-button", { key: '241e30b3094e8eea86c7c24bb2a90f67ea04ef6f', class: "buttonWrapper tableButton", "af-size": "medium", "af-variation": "function", "af-full-width": "false", onAfOnClick: this.activateTable, afAriaLabel: `Visa tabell ${this._chartData.title ? this._chartData.title.toLowerCase() : ''}` }, hAsync("digi-icon-table", { key: '5cc0d03d40d076481d14d0478390b131cdaa61f7', slot: "icon" }), "Visa tabell"), hAsync("digi-button", { key: '241d3e97b9a21f556b3e46cebc63c77ce106d26c', style: { display: 'none' }, class: "buttonWrapper chartButton", "af-size": "medium", "af-variation": "function", "af-full-width": "false", onAfOnClick: this.reInitChart, afAriaLabel: `Visa diagram ${this._chartData.title ? this._chartData.title.toLowerCase() : ''}` }, hAsync("digi-icon-chart", { key: 'f0a5c78bc5e04db994559f2ce1a13c0e7285c36d', slot: "icon" }), "Visa diagram"), hAsync("div", { key: 'f7ebab0f90d1a9f9a306470c93ccaaaf0461a9a7', class: "scChartStatus", role: "status", ref: (el) => (this._status = el) })), hAsync("div", { key: '75672c02d61a14741348dc183782df71f3a4db19', class: "chartTooltip", id: this.afId }, hAsync("div", { key: 'b4e03381d825d68af2bdbf859458896c639b6559', class: "tooltipHead" }, hAsync("digi-icon-x", { key: '1301ab00ff3818e0940e69f17aa09b296c04a86c', class: "close" }), ' '), hAsync("div", { key: 'eb01d362db4495c0a3d4396ad4c71c2a952114ad', class: "tooltipBody" })), hAsync("div", { key: 'accd6776d3db14c662ff84b2e826f6cf713ff38d', class: "chart", ref: (el) => (this._chartDiv = el) }), hAsync("div", { key: '507dfba00c88d5b371fd8304053b9b7762506d25', class: "legend", ref: (el) => (this._legendDiv = el) }), hAsync("div", { key: 'cb3fc091c6a557bfd62e8f7d59863e973da0ee53', class: "table", ref: (el) => (this._tableDiv = el) }, ' ')));
19664
+ if (this._chartData) {
19665
+ if (!this._chartData.subTitle)
19666
+ heading = `<${this.afHeadingLevel}>${this._chartData.title}</${this.afHeadingLevel}>`;
19667
+ else
19668
+ heading = `<${this.afHeadingLevel}>${this._chartData.title}</${this.afHeadingLevel}><p>${this._chartData.subTitle}</p>`;
19669
+ }
19670
+ return (hAsync("host", { key: '93603df9b78fcce8b5735b4a874f879cf7b2326e', ref: (el) => (this._host = el) }, hAsync("div", { key: '094a790864b72bbb9a802b461db06ce312c627c8', class: "topWrapper", ref: (el) => (this._titleDiv = el) }, hAsync("digi-typography", { key: '5f4bd51fdfef816b0e127d1177c60f8310952173', class: "chartTitle", innerHTML: heading }), hAsync("digi-button", { key: '8ae72950c5cf052ed71c2ba4e91b254b8d36cfd0', class: "buttonWrapper tableButton", "af-size": "medium", "af-variation": "function", "af-full-width": "false", onAfOnClick: this.activateTable, afAriaLabel: `Visa tabell ${this._chartData.title ? this._chartData.title.toLowerCase() : ''}` }, hAsync("digi-icon-table", { key: '750f1b621eb0a1a54ec810aa63624237bd98f9ea', slot: "icon" }), "Visa tabell"), hAsync("digi-button", { key: '1cf33daaaa8adf9c5352286d6172d7c258098c29', style: { display: 'none' }, class: "buttonWrapper chartButton", "af-size": "medium", "af-variation": "function", "af-full-width": "false", onAfOnClick: this.reInitChart, afAriaLabel: `Visa diagram ${this._chartData.title ? this._chartData.title.toLowerCase() : ''}` }, hAsync("digi-icon-chart", { key: '9dce5df1a96d4b818597854f7ee238fefda2c686', slot: "icon" }), "Visa diagram"), hAsync("div", { key: '204f5824b2f34b3a1a1401ed4434e1fcb16a2549', class: "scChartStatus", role: "status", ref: (el) => (this._status = el) })), hAsync("div", { key: 'b164f59f1c741db5493af57510eab2987cabefc6', class: "chartTooltip", id: this.afId }, hAsync("div", { key: 'e84bf8a85a745977006d50f296d1afee2ee35698', class: "tooltipHead" }, hAsync("digi-icon-x", { key: '77bcd0342c828dbcbe020a9ffefe4ae6f3086572', class: "close" }), ' '), hAsync("div", { key: '330f69a58082f72b528095ef49a2371fc8b0d8e5', class: "tooltipBody" })), hAsync("div", { key: '62eb27ac8f184476d50332344711ca381e8adf59', class: "chart", ref: (el) => (this._chartDiv = el) }), hAsync("div", { key: 'ad70790d3a2fd5851c4351e41f2436a34169a819', class: "legend", ref: (el) => (this._legendDiv = el) }), hAsync("div", { key: '30d4791a9b808555f03d1830aaec0221c1bc3b37', class: "table", ref: (el) => (this._tableDiv = el) }, ' ')));
19585
19671
  }
19586
19672
  get element() { return getElement(this); }
19587
19673
  static get watchers() { return {
@@ -23001,17 +23087,21 @@ class ExpandableAccordion {
23001
23087
  componentDidLoad() {
23002
23088
  const content = this.hostElement.querySelector(`#${this.afId}-content`);
23003
23089
  if (!this.afExpanded) {
23004
- content.setAttribute('style', 'visibility: hidden;');
23090
+ content.style.visibility = 'hidden';
23005
23091
  }
23006
23092
  else {
23007
- content.setAttribute('style', 'height: auto;');
23093
+ content.style.overflowY = 'inherit';
23094
+ content.style.height = 'auto';
23008
23095
  }
23009
23096
  content.addEventListener('transitionend', () => {
23010
23097
  if (!this.afExpanded) {
23011
- content.setAttribute('style', 'visibility: hidden; height: ' + 0 + 'px');
23098
+ content.style.visibility = 'hidden';
23099
+ content.style.height = '0px';
23100
+ }
23101
+ else {
23102
+ content.style.height = 'auto';
23103
+ content.style.overflowY = 'inherit';
23012
23104
  }
23013
- else
23014
- content.setAttribute('style', 'height: auto');
23015
23105
  });
23016
23106
  }
23017
23107
  animateContentHeight() {
@@ -23019,22 +23109,25 @@ class ExpandableAccordion {
23019
23109
  const sectionHeight = content.firstElementChild
23020
23110
  .offsetHeight;
23021
23111
  if (!this.afExpanded && content.style.height === 'auto') {
23022
- content.setAttribute('style', 'height: ' + sectionHeight + 'px');
23112
+ content.style.height = sectionHeight + 'px';
23023
23113
  setTimeout(() => {
23024
- content.setAttribute('style', 'height: 0');
23114
+ content.style.height = '0';
23115
+ content.style.overflowY = 'hidden';
23025
23116
  });
23026
23117
  return;
23027
23118
  }
23028
23119
  if (this.afExpanded) {
23029
- content.setAttribute('style', 'visibility: visible; height:' + sectionHeight + 'px');
23120
+ content.style.height = sectionHeight + 'px';
23121
+ content.style.visibility = 'visible';
23030
23122
  if (!this.afAnimation) {
23031
23123
  setTimeout(() => {
23032
- content.setAttribute('style', 'height: auto');
23124
+ content.style.height = 'auto';
23125
+ content.style.overflowY = 'inherit';
23033
23126
  });
23034
23127
  }
23035
23128
  }
23036
23129
  else {
23037
- content.setAttribute('style', 'height: ' + 0 + 'px');
23130
+ content.style.height = '0px';
23038
23131
  }
23039
23132
  }
23040
23133
  clickToggleHandler(e, resetFocus = false) {
@@ -23046,7 +23139,7 @@ class ExpandableAccordion {
23046
23139
  this.afOnClick.emit(e);
23047
23140
  }
23048
23141
  render() {
23049
- return (hAsync("article", { key: '25e76d66020522814e7777c139c6206b1c103d4e', "aria-expanded": this.afExpanded ? 'true' : 'false', class: Object.assign({ 'digi-expandable-accordion': true }, this.cssModifiers) }, hAsync("header", { key: '2265191f9ad2394befad5da1bdf51cd758d4adba', class: "digi-expandable-accordion__header" }, hAsync(this.afHeadingLevel, { key: '4a26fe5cd756612c36b48a9b04abcff54ba70941', class: "digi-expandable-accordion__heading" }, hAsync("button", { key: '8bb8e9ba1f25650b88f6fc0d26b9c94af9510eee', type: "button", class: "digi-expandable-accordion__button", onClick: (e) => this.clickToggleHandler(e), "aria-expanded": this.afExpanded ? 'true' : 'false', "aria-controls": `${this.afId}-content`, ref: (el) => (this._button = el) }, hAsync("digi-icon-chevron-down", { key: '2b86e033967c20cecc33b34185826b06ab4189e4', class: "digi-expandable-accordion__toggle-icon" }), hAsync("div", { key: '8d3d486567b4e073818b35e77a8f5be92ea3cdef', class: "digi-expandable-accordion__heading-text" }, this.afHeading)))), hAsync("section", { key: '764b758a0bd68b7a02581f620dc8204b517fa991', class: "digi-expandable-accordion__content", id: `${this.afId}-content` }, hAsync("div", { key: 'bad7d77ef14b2edcd80e54d52ffde7bf429caa59' }, hAsync("digi-typography", { key: '15c4a8abc0f50f3521c0a9b39aeb06ce194e4a3b' }, hAsync("slot", { key: '0718dba75edfab31158aec6bf04a8b2bfc60463e' }))))));
23142
+ return (hAsync("article", { key: '2616819e45750577fb23f430d41b2787ca2210a5', "aria-expanded": this.afExpanded ? 'true' : 'false', class: Object.assign({ 'digi-expandable-accordion': true }, this.cssModifiers) }, hAsync("header", { key: 'c77c15183eb4bba670ea2299d5dc3c19e243ea42', class: "digi-expandable-accordion__header" }, hAsync(this.afHeadingLevel, { key: '20dc16774240b6d258eec3d94d4b5d9b9d0a735c', class: "digi-expandable-accordion__heading" }, hAsync("button", { key: '23c45158f203517166cd4c5efe8801b849ea04e0', type: "button", class: "digi-expandable-accordion__button", onClick: (e) => this.clickToggleHandler(e), "aria-expanded": this.afExpanded ? 'true' : 'false', "aria-controls": `${this.afId}-content`, ref: (el) => (this._button = el) }, hAsync("digi-icon-chevron-down", { key: 'bd48367111a6aac92061bda052ffb6708d4f3967', class: "digi-expandable-accordion__toggle-icon" }), hAsync("div", { key: '2e419d3fd48aa8fd31f33012b541a0fd86e60d78', class: "digi-expandable-accordion__heading-text" }, this.afHeading)))), hAsync("section", { key: 'a28657a14024836c9bb1c7e825c573ed6c598eca', class: "digi-expandable-accordion__content", id: `${this.afId}-content` }, hAsync("div", { key: 'e13b9e653c1714adefd5401300789ed89d4cc1b3' }, hAsync("digi-typography", { key: '335442cf9f97ec3f821ab2ca296e1539b24354cf' }, hAsync("slot", { key: '05da2edf48d9259187bb72bf73a6c60ec9077bc0' }))))));
23050
23143
  }
23051
23144
  get hostElement() { return getElement(this); }
23052
23145
  static get watchers() { return {
@@ -23211,17 +23304,21 @@ class ExpandableFaqItem {
23211
23304
  componentDidLoad() {
23212
23305
  const content = this.hostElement.querySelector(`#${this.afId}-content`);
23213
23306
  if (!this.afExpanded) {
23214
- content.setAttribute('style', 'visibility: hidden;');
23307
+ content.style.visibility = 'hidden';
23215
23308
  }
23216
23309
  else {
23217
- content.setAttribute('style', 'height: auto;');
23310
+ content.style.height = 'auto';
23311
+ content.style.overflowY = 'inherit';
23218
23312
  }
23219
23313
  content.addEventListener('transitionend', () => {
23220
23314
  if (!this.afExpanded) {
23221
- content.setAttribute('style', 'visibility: hidden; height: ' + 0 + 'px');
23315
+ content.style.visibility = 'hidden';
23316
+ content.style.height = '0px';
23317
+ }
23318
+ else {
23319
+ content.style.height = 'auto';
23320
+ content.style.overflowY = 'inherit';
23222
23321
  }
23223
- else
23224
- content.setAttribute('style', 'height: auto');
23225
23322
  });
23226
23323
  }
23227
23324
  animateContentHeight() {
@@ -23229,37 +23326,40 @@ class ExpandableFaqItem {
23229
23326
  const sectionHeight = content.firstElementChild
23230
23327
  .offsetHeight;
23231
23328
  if (!this.afExpanded && content.style.height === 'auto') {
23232
- content.setAttribute('style', 'height: ' + sectionHeight + 'px');
23329
+ content.style.height = sectionHeight + 'px';
23233
23330
  setTimeout(() => {
23234
- content.setAttribute('style', 'height: 0');
23331
+ content.style.height = '0';
23332
+ content.style.overflowY = 'hidden';
23235
23333
  });
23236
23334
  return;
23237
23335
  }
23238
23336
  if (this.afExpanded) {
23239
- content.setAttribute('style', 'visibility: visible; height:' + sectionHeight + 'px');
23337
+ content.style.height = sectionHeight + 'px';
23338
+ content.style.visibility = 'visible';
23240
23339
  if (!this.afAnimation) {
23241
23340
  setTimeout(() => {
23242
- content.setAttribute('style', 'height: auto');
23341
+ content.style.height = 'auto';
23342
+ content.style.overflowY = 'inherit';
23243
23343
  });
23244
23344
  }
23245
23345
  }
23246
23346
  else {
23247
- content.setAttribute('style', 'height: ' + 0 + 'px');
23347
+ content.style.height = '0px';
23248
23348
  }
23249
23349
  }
23250
23350
  render() {
23251
- return (hAsync("article", { key: '6d3c64be92f3bf878a6319f8bc6a74b944b9621d', "aria-expanded": this.afExpanded ? 'true' : 'false', class: Object.assign({ 'digi-expandable-faq-item': true }, this.cssModifiers) }, hAsync("header", { key: '7c2929a9fbef5158ba44cc9822cd4592072fdeb1', class: "digi-expandable-faq-item__header" }, hAsync(this.afHeadingLevel, { key: '79e19f80b947765f4ec9e342849ebfef121f1694' }, hAsync("button", { key: 'e08fe43a72da2004e977ecad16383100de0b49c7', type: "button", class: "digi-expandable-faq-item__button", onClick: (e) => {
23351
+ return (hAsync("article", { key: 'e0931c4256d2c4162911fe232132b6179968425f', "aria-expanded": this.afExpanded ? 'true' : 'false', class: Object.assign({ 'digi-expandable-faq-item': true }, this.cssModifiers) }, hAsync("header", { key: '8f6befff5c82c63d5d1f10755f444791f17dafb7', class: "digi-expandable-faq-item__header" }, hAsync(this.afHeadingLevel, { key: 'b9d58dcd28eb430d7b84365ba1bba99d3e86ebc9' }, hAsync("button", { key: 'b2c20566cc84a2b4cbcbe2dcc2a35e44e8f0fcc9', type: "button", class: "digi-expandable-faq-item__button", onClick: (e) => {
23252
23352
  e.preventDefault();
23253
23353
  this.afExpanded = !this.afExpanded;
23254
23354
  this.afOnClick.emit(e);
23255
- }, "aria-expanded": this.afExpanded ? 'true' : 'false', "aria-controls": `${this.afId}-content` }, hAsync("digi-icon-chevron-down", { key: '245e1d2578b3e15d0fc83aaf82ca5b19a292ab20', class: {
23355
+ }, "aria-expanded": this.afExpanded ? 'true' : 'false', "aria-controls": `${this.afId}-content` }, hAsync("digi-icon-chevron-down", { key: '40e0a896b3d7d44bf282e8462a24c43060a29eff', class: {
23256
23356
  'digi-expandable-faq-item__header--toggle-icon': true,
23257
23357
  'digi-expandable-faq-item__header--toggle-icon--expanded': this.afExpanded
23258
- } }), hAsync("div", { key: '6b37c5b10fee03cb1e8fbaebf4afa879131fef08', class: "digi-expandable-faq-item__header-text" }, this.afHeading)))), hAsync("section", { key: '5d0083596a6a9d8dc17db3814dd7fc5b7672def1', class: {
23358
+ } }), hAsync("div", { key: 'f58aa361553f3063bf1e5171f8d320e6cb8189c6', class: "digi-expandable-faq-item__header-text" }, this.afHeading)))), hAsync("section", { key: 'b4d0dd00a3e6fe9e8367ef5a6f197696de55f4fd', class: {
23259
23359
  'digi-expandable-faq-item__content': true,
23260
23360
  'digi-expandable-faq-item__content--animation': this.afAnimation,
23261
23361
  'digi-expandable-faq-item__content--hidden': !this.afExpanded
23262
- }, id: `${this.afId}-content` }, hAsync("div", { key: '1c11f15e328118a0adc6c5fb0cb88b7c8f3b8470' }, hAsync("digi-typography", { key: '0253266ad670b87a5a9291101d965899f14f0b16' }, hAsync("slot", { key: '7c277acd32d84ccc6b1c14913aebde586a2ea148' }))))));
23362
+ }, id: `${this.afId}-content` }, hAsync("div", { key: 'e9a9147164d3934584cd5da5cfc8080ba9374c76' }, hAsync("digi-typography", { key: '398a0c4e0aa1092db5f4a2e3182218ebbe0c3624' }, hAsync("slot", { key: 'be924dc541b7c41b19b4392d3a988b492144d585' }))))));
23263
23363
  }
23264
23364
  get hostElement() { return getElement(this); }
23265
23365
  static get watchers() { return {
@@ -34152,8 +34252,8 @@ class InfoCard {
34152
34252
  */
34153
34253
  this.afBorderPosition = InfoCardBorderPosition.TOP;
34154
34254
  /**
34155
- * Sätter variant. Kan vara 'primary' eller 'secondary'. Detta har endast genomslag om 'af-type' är 'tip'.
34156
- * @en Set info card variation. Can be 'primary' or 'secondary'. This only applies if 'af-type' is 'tip'.
34255
+ * Sätter variant. Kan vara 'primary' eller 'secondary'.
34256
+ * @en Set info card variation. Can be 'primary' or 'secondary'.
34157
34257
  */
34158
34258
  this.afVariation = InfoCardVariation.PRIMARY;
34159
34259
  this.activeLink = false;
@@ -34199,7 +34299,7 @@ class InfoCard {
34199
34299
  };
34200
34300
  }
34201
34301
  render() {
34202
- return (hAsync("div", { key: 'fbdeac4da7aa22626349c61b243f10b6a4bd3d42', class: Object.assign({ 'digi-info-card': true }, this.cssModifiers) }, hAsync("div", { key: '44772e768e3bc80a7a5a20b7858d6970070f27db', class: "digi-info-card__content" }, hAsync("div", { key: 'e770035d77564f3a57a39c553631d37d1c278626', class: "digi-info-card__icon" }, this.hasListIcon && (hAsync("span", { key: '68e4ad4d7b050ac36c23647f7a65cc6b059e20d2', class: "digi-info-card__icon" }, hAsync("slot", { key: 'a8550b30fdb6e31dbb8e9d02bb4275f0d74bf73c', name: "icon" })))), hAsync(this.afHeadingLevel, { key: '9f4d71156595099a0825c586ae533e89ef0028a1', class: "digi-info-card__heading" }, this.afHeading), hAsync("digi-typography", { key: '915eb7c59aba9eaa9cf36a6af281ec31c17fe77e' }, hAsync("slot", { key: '72c6ddf7f4ec870b670183e6f2b844ec46116aaf' })), this.shouldRenderInternalLink && (hAsync("digi-link-internal", { key: '0ad0f534ef93d7743f2a93dc21edd9bdf423548b', class: "digi-info-card__link", afHref: this.afLinkHref, onAfOnClick: (e) => this.clickLinkHandler(e), hideVisitedColor: this.hideVisitedColor }, this.afLinkText)))));
34302
+ return (hAsync("div", { key: '56dc89fe307963c3088b9e8301700a5e29d36c22', class: Object.assign({ 'digi-info-card': true }, this.cssModifiers) }, hAsync("div", { key: '504c5b7810f922a55ef5c887b24432a3ccb9ea78', class: "digi-info-card__content" }, hAsync("div", { key: '6adb959fadb3c8a8182e0176cca3fd02686fadfb', class: "digi-info-card__icon" }, this.hasListIcon && (hAsync("span", { key: '3a9c35f22e32d4b30dbcc0614c602541a7349fac', class: "digi-info-card__icon" }, hAsync("slot", { key: '601de5d168bad7d3615c8d35b8dd464a392aef6c', name: "icon" })))), hAsync(this.afHeadingLevel, { key: 'f6006f419904c85a05ea8efa3933b32c9373b655', class: "digi-info-card__heading" }, this.afHeading), hAsync("digi-typography", { key: '3858f2e16f6b33a9f9bd72278c199ebc5b32e762' }, hAsync("slot", { key: '5b0c1cc00581490aa189a5dd31a7d13f05ef6ce5' })), this.shouldRenderInternalLink && (hAsync("digi-link-internal", { key: 'fcc04567e624c939c30c27dec8d3fd58fe0042eb', class: "digi-info-card__link", afHref: this.afLinkHref, onAfOnClick: (e) => this.clickLinkHandler(e), hideVisitedColor: this.hideVisitedColor }, this.afLinkText)))));
34203
34303
  }
34204
34304
  get hostElement() { return getElement(this); }
34205
34305
  static get watchers() { return {
@@ -36204,14 +36304,10 @@ class NavigationTablist {
36204
36304
  }
36205
36305
  }
36206
36306
  syncPanels() {
36207
- // side-effect
36208
- if (this.panelsRef != null) {
36209
- const panels = this.panelsRef.querySelectorAll(':scope>digi-tablist-panel');
36210
- for (let i = 0; i < panels.length; i++) {
36211
- const panel = panels[i];
36212
- const showPanel = panel.tab === this.tabs[this.activeTab].id;
36213
- panel.isVisible = showPanel;
36214
- }
36307
+ var _a;
36308
+ const activeId = (_a = this.tabs[this.activeTab]) === null || _a === void 0 ? void 0 : _a.id;
36309
+ for (const panel of this.getSlottedPanels()) {
36310
+ panel.isVisible = panel.tab === activeId;
36215
36311
  }
36216
36312
  }
36217
36313
  handleTabPropChange(tabId) {
@@ -36242,6 +36338,11 @@ class NavigationTablist {
36242
36338
  this.windowTab = tabIdx;
36243
36339
  }
36244
36340
  setupTabs(tabs) {
36341
+ // Angular/React can connect the element before afTabs is set.
36342
+ if (tabs == null || tabs === '') {
36343
+ return;
36344
+ }
36345
+ const hadTabs = this.tabs.length > 0;
36245
36346
  if (typeof tabs === 'string') {
36246
36347
  this.tabs = JSON.parse(tabs);
36247
36348
  }
@@ -36251,6 +36352,13 @@ class NavigationTablist {
36251
36352
  else {
36252
36353
  throw new Error('Invalid format or no tabs supplied');
36253
36354
  }
36355
+ if (!hadTabs) {
36356
+ this.setupInitialTab();
36357
+ }
36358
+ this.syncPanels();
36359
+ }
36360
+ getSlottedPanels() {
36361
+ return Array.from(this.hostElement.querySelectorAll('digi-tablist-panel')).filter((panel) => panel.closest('digi-tablist') === this.hostElement);
36254
36362
  }
36255
36363
  setActiveTabById(id) {
36256
36364
  const tabIdx = this.tabs.findIndex((tab) => tab.id === id);
@@ -36318,9 +36426,23 @@ class NavigationTablist {
36318
36426
  componentWillLoad() {
36319
36427
  this.setupTabs(this.afTabs);
36320
36428
  this.setupInitialTab();
36429
+ // Angular attaches the host first and binds `[afTabs]` on the next frame
36430
+ // (Stencil 4.36+). @Watch skips that first assignment, so if tabs are not
36431
+ // here yet, wait one frame. React/vanilla that already set the prop skip
36432
+ // the delay.
36433
+ if (this.tabs.length === 0) {
36434
+ return new Promise((resolve) => {
36435
+ requestAnimationFrame(() => {
36436
+ this.setupTabs(this.afTabs);
36437
+ this.setupInitialTab();
36438
+ resolve();
36439
+ });
36440
+ });
36441
+ }
36321
36442
  }
36322
36443
  componentDidLoad() {
36323
36444
  var _a, _b, _c;
36445
+ this.setupTabs(this.afTabs);
36324
36446
  // Also listen to window resize for viewport zoom changes
36325
36447
  if (window) {
36326
36448
  window.addEventListener('resize', this.handleResize, { passive: true });
@@ -36342,14 +36464,14 @@ class NavigationTablist {
36342
36464
  cancelAnimationFrame(this._requestAnimationFrame);
36343
36465
  }
36344
36466
  render() {
36345
- return (hAsync(Host, { key: '8bdab05cd034b9940aefcb9f38b16d09b6f0b0c7' }, hAsync("div", { key: '2d2266a9600dcc5817130ed4ece38868779e0b69', class: {
36467
+ return (hAsync(Host, { key: 'b2d71ff4b3f2c2fa22feffbc298360c1b3202b1d' }, hAsync("div", { key: 'df48ffc9fdabfca380675c7232af5fef80c445b9', class: {
36346
36468
  'digi-tablist': true,
36347
36469
  'digi-tablist--overflow-scroll': this.afOverflowMode === OverflowMode.Scroll,
36348
36470
  'digi-tablist--overflow-controls': this.afOverflowMode === OverflowMode.Controls
36349
- } }, hAsync("div", { key: 'a96cd5d9a2eec5b2b52f0d1a00b2810c28e8d4bd', class: "control-wrapper", style: {
36471
+ } }, hAsync("div", { key: '797f70a00aa1e3dd8a3b54d43808b9515259723c', class: "control-wrapper", style: {
36350
36472
  left: '0',
36351
36473
  visibility: this.showPrev ? 'visible' : 'hidden'
36352
- } }, hAsync("button", { key: '7a9810781c300bd44aa7ce3f3f76f651b1799023', tabIndex: -1, type: "button", "aria-hidden": "true", class: { 'tab-control-button': true }, onClick: () => this.handleTabControl(Direction.Previous) }, hAsync("digi-icon-chevron-left", { key: '8f65c019aa2a60f8d10025c147ad2448d30cdf1d' }))), hAsync("div", { key: '7be08fe744f17f71fab7358d63d010f17e5c977d', role: "tablist", ref: (ref) => (this.tablistRef = ref), "aria-labelledby": this.afAriaLabelledby, "aria-label": this.afAriaLabel }, this.tabs.map((tab) => {
36474
+ } }, hAsync("button", { key: '415237740bc65dd5cfdb0e57eb44307c9d838670', tabIndex: -1, type: "button", "aria-hidden": "true", class: { 'tab-control-button': true }, onClick: () => this.handleTabControl(Direction.Previous) }, hAsync("digi-icon-chevron-left", { key: '59f2d43ba38c7d4ebdd85a575b2e89c0fec62381' }))), hAsync("div", { key: '01602338cbd7a63f48cdcf541629e76bac46dd4c', role: "tablist", ref: (ref) => (this.tablistRef = ref), "aria-labelledby": this.afAriaLabelledby, "aria-label": this.afAriaLabel }, this.tabs.map((tab) => {
36353
36475
  const focusable = tab.id === this.tabs[this.selectedTab].id;
36354
36476
  const isActive = tab.id === this.tabs[this.activeTab].id;
36355
36477
  const Icon = `digi-icon-${tab.icon}`;
@@ -36358,11 +36480,12 @@ class NavigationTablist {
36358
36480
  'digi-tab': true,
36359
36481
  'is-active': isActive
36360
36482
  }, id: `tab-${tab.id}`, role: "tab", type: "button", tabindex: focusable ? '0' : '-1', "aria-label": tab.ariaLabel, "aria-selected": isActive.toString(), "aria-controls": `tabpanel-${tab.id}`, onClick: () => this.handleTabChange(tab) }, hAsync("div", { class: "content-wrapper" }, hAsync("span", { class: "tablist-content" }, tab.icon && hAsync(Icon, { "aria-hidden": "true" }), hAsync("span", { class: "title", "data-text": tab.title }, tab.title), tab.badgeValue && (hAsync("digi-badge-notification", { afValue: badgeValue, "aria-hidden": "true" }))), hAsync("div", { class: "indicator" }))));
36361
- })), hAsync("div", { key: 'b79ea56eb945fe5c4b2e34529d8b1985018ac46c', class: "control-wrapper", style: {
36483
+ })), hAsync("div", { key: 'db28ea61c349d7aaf057e84b607c4f851b3f6712', class: "control-wrapper", style: {
36362
36484
  right: '0',
36363
36485
  visibility: this.showNext ? 'visible' : 'hidden'
36364
- } }, hAsync("button", { key: '3d581fe07f9591f21fef85e700259d3b44332631', tabIndex: -1, type: "button", "aria-hidden": "true", class: { 'tab-control-button': true }, onClick: () => this.handleTabControl(Direction.Next) }, hAsync("digi-icon-chevron-right", { key: '1f3a564d4eff7851ad13901c492e663c5c43d384' })))), hAsync("div", { key: '2cd9aa7d409b36395febee9dfd26eb6e82b02f35', ref: (ref) => (this.panelsRef = ref), role: "presentation" }, hAsync("slot", { key: 'b9f82031b00032dfb1df2358546a8a35934033a0' }))));
36486
+ } }, hAsync("button", { key: '83513f2d64cc0578155d305f21dfb1ca4a412cc6', tabIndex: -1, type: "button", "aria-hidden": "true", class: { 'tab-control-button': true }, onClick: () => this.handleTabControl(Direction.Next) }, hAsync("digi-icon-chevron-right", { key: '9263e864c21ea5358f301214fbadda6ed7d3c74a' })))), hAsync("div", { key: '205efbbb3aab40f51f9f85f8d74a4026970c7144', role: "presentation" }, hAsync("slot", { key: 'e753d718f852072745f5c2a49f6189fb62f3645b', onSlotchange: () => this.syncPanels() }))));
36365
36487
  }
36488
+ get hostElement() { return getElement(this); }
36366
36489
  static get watchers() { return {
36367
36490
  "activeTab": [{
36368
36491
  "syncPanels": 0
@@ -36491,16 +36614,28 @@ class NavigationVerticalMenu {
36491
36614
  }
36492
36615
  }
36493
36616
  componentWillLoad() {
36494
- this.getListItems();
36495
- this.initNav();
36496
- this.setLevelClass();
36617
+ this.syncNav();
36618
+ // Angular attaches the host first and slots children on the next frame
36619
+ // (Stencil 4.36+). React/vanilla that already have slotted nodes skip
36620
+ // the delay. Do not warn here — Angular/React may still be projecting.
36621
+ if (!this.hostElement.children.length) {
36622
+ return new Promise((resolve) => {
36623
+ requestAnimationFrame(() => {
36624
+ this.syncNav();
36625
+ resolve();
36626
+ });
36627
+ });
36628
+ }
36497
36629
  }
36498
36630
  componentDidLoad() {
36499
36631
  this.initCurrentActiveLevel();
36500
36632
  this.afOnReady.emit();
36501
36633
  }
36502
36634
  componentWillUpdate() {
36503
- this.getListItems();
36635
+ this.syncNav();
36636
+ }
36637
+ syncNav(options) {
36638
+ this.getListItems(options);
36504
36639
  this.initNav();
36505
36640
  this.setLevelClass();
36506
36641
  }
@@ -36550,12 +36685,12 @@ class NavigationVerticalMenu {
36550
36685
  }
36551
36686
  }
36552
36687
  setLevelClass() {
36553
- this.hostElement
36554
- .querySelector('ul')
36555
- .classList.remove('primary', 'secondary');
36556
- this.hostElement
36557
- .querySelector('ul')
36558
- .classList.add('digi-navigation-vertical-menu__list--root', this.afVariation);
36688
+ const rootList = this.hostElement.querySelector('ul');
36689
+ if (!rootList) {
36690
+ return;
36691
+ }
36692
+ rootList.classList.remove('primary', 'secondary');
36693
+ rootList.classList.add('digi-navigation-vertical-menu__list--root', this.afVariation);
36559
36694
  }
36560
36695
  initNav() {
36561
36696
  const $ul = this.hostElement.querySelectorAll('ul');
@@ -36568,10 +36703,12 @@ class NavigationVerticalMenu {
36568
36703
  this.initNav();
36569
36704
  this.setClasses(e);
36570
36705
  }
36571
- getListItems() {
36706
+ getListItems(options) {
36572
36707
  const menuItems = this.hostElement.children;
36573
36708
  if (!menuItems || menuItems.length <= 0) {
36574
- logger.warn(`The slot contains no children elements.`, this.hostElement);
36709
+ if (options === null || options === void 0 ? void 0 : options.warnIfEmpty) {
36710
+ logger.warn(`The slot contains no children elements.`, this.hostElement);
36711
+ }
36575
36712
  return;
36576
36713
  }
36577
36714
  this.listItems = [...Array.from(menuItems)].map((filter) => {
@@ -36590,7 +36727,7 @@ class NavigationVerticalMenu {
36590
36727
  };
36591
36728
  }
36592
36729
  render() {
36593
- return (hAsync("nav", { key: '0c7b96501a70d813b8d8f5b8014dc420d472f4a9', class: Object.assign({ 'digi-navigation-vertical-menu': true }, this.cssModifiers), id: this.afId, "aria-label": this.afAriaLabel }, hAsync("slot", { key: '2b5d92cada1cde5bb5155257be77a584c2e708ec' })));
36730
+ return (hAsync("nav", { key: 'df2239de80363247c33eadf6995331a74a40966f', class: Object.assign({ 'digi-navigation-vertical-menu': true }, this.cssModifiers), id: this.afId, "aria-label": this.afAriaLabel }, hAsync("slot", { key: 'dc2e22c2cfd00786964855ea3bc2b7271879510c', onSlotchange: () => this.syncNav() })));
36594
36731
  }
36595
36732
  get hostElement() { return getElement(this); }
36596
36733
  static get style() { return navigationVerticalMenuCss(); }
@@ -39698,7 +39835,7 @@ class UtilResizeObserver {
39698
39835
  }; }
39699
39836
  }
39700
39837
 
39701
- const barChartCss = () => `.sc-digi-bar-chart-h{width:100%;display:flex;flex-direction:column;min-width:0}.sc-digi-bar-chart-h .digi-bar-chart.sc-digi-bar-chart{font-family:var(--digi--global--typography--font-family--default)}.sc-digi-bar-chart-h .svgWrap.sc-digi-bar-chart{position:relative;display:flex;min-height:20px;min-width:20px;width:100%;height:100%}.sc-digi-bar-chart-h .topWrapper.sc-digi-bar-chart,.sc-digi-bar-chart-h .chartTitle.sc-digi-bar-chart .digi-typography.sc-digi-bar-chart{display:flex;flex-direction:column;gap:0.75rem}.sc-digi-bar-chart-h .topWrapper.sc-digi-bar-chart{margin-bottom:0.75rem}.sc-digi-bar-chart-h .chartTitle.sc-digi-bar-chart{--MARGIN--HEADING-2:0;--MARGIN--HEADING-3:0;--MARGIN--HEADING-4:0;--MARGIN--HEADING-5:0;--MARGIN--HEADING-6:0;--MARGIN--BODY:0}.sc-digi-bar-chart-h .buttonWrapper.sc-digi-bar-chart{--digi--button--padding--medium:0 0 0.75rem 0}.sc-digi-bar-chart-h .chartTooltip.sc-digi-bar-chart{top:-5px;position:absolute;background-color:var(--digi--color--background--primary);color:black;padding:5px 10px;padding-right:5px;border-radius:4px;display:block;width:max-content;white-space:nowrap;filter:drop-shadow(rgba(0, 0, 0, 0.8) 0px 0px 1px);font-size:0.875rem}.sc-digi-bar-chart-h .tooltipBody.sc-digi-bar-chart{display:inline-block}.sc-digi-bar-chart-h .tooltipHead.sc-digi-bar-chart{display:flex;flex-direction:row;justify-content:space-between}.sc-digi-bar-chart-h .tooltipClose.sc-digi-bar-chart{display:inline-block;vertical-align:top;--digi--color--icon--primary:#333;cursor:pointer}.sc-digi-bar-chart-h .tooltipClose.sc-digi-bar-chart:hover{--digi--color--icon--primary:gray}.sc-digi-bar-chart-h .legendWrap.sc-digi-bar-chart{display:grid}.sc-digi-bar-chart-h .legend.sc-digi-bar-chart{display:flex;flex-direction:row;gap:1rem;min-width:0;overflow-x:auto;scrollbar-gutter:stable}.sc-digi-bar-chart-h .caret.sc-digi-bar-chart{--digi--icon--color:var(--digi--color--background--primary)}.sc-digi-bar-chart-h .scChartStatus.sc-digi-bar-chart{border:0;clip:rect(1px, 1px, 1px, 1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sc-digi-bar-chart-h .table.sc-digi-bar-chart{display:none;overflow-y:auto;height:auto;border-radius:4px;background:linear-gradient(white 30%, rgba(255, 255, 255, 0)) center top, linear-gradient(rgba(255, 255, 255, 0), white 70%) center bottom, radial-gradient(farthest-side at 50% 0, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)) center top, radial-gradient(farthest-side at 50% 100%, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)) center bottom;background-repeat:no-repeat;background-size:100% 40px, 100% 40px, 100% 14px, 100% 14px;background-attachment:local, local, scroll, scroll}`;
39838
+ const barChartCss = () => `.sc-digi-bar-chart-h{height:100%;display:flex;flex-direction:column;min-width:0}.sc-digi-bar-chart-h .digi-bar-chart.sc-digi-bar-chart{font-family:var(--digi--global--typography--font-family--default)}.sc-digi-bar-chart-h .svgWrap.sc-digi-bar-chart{position:relative;display:flex;min-height:20px;min-width:20px;width:100%;height:100%}.sc-digi-bar-chart-h .topWrapper.sc-digi-bar-chart,.sc-digi-bar-chart-h .chartTitle.sc-digi-bar-chart .digi-typography.sc-digi-bar-chart{display:flex;flex-direction:column;gap:0.75rem}.sc-digi-bar-chart-h .topWrapper.sc-digi-bar-chart{margin-bottom:0.75rem}.sc-digi-bar-chart-h .chartTitle.sc-digi-bar-chart{--MARGIN--HEADING-2:0;--MARGIN--HEADING-3:0;--MARGIN--HEADING-4:0;--MARGIN--HEADING-5:0;--MARGIN--HEADING-6:0;--MARGIN--BODY:0}.sc-digi-bar-chart-h .buttonWrapper.sc-digi-bar-chart{--digi--button--padding--medium:0 0 0.75rem 0}.sc-digi-bar-chart-h .chartTooltip.sc-digi-bar-chart{top:-5px;position:absolute;background-color:var(--digi--color--background--primary);color:black;padding:5px 10px;padding-right:5px;border-radius:4px;display:block;width:max-content;white-space:nowrap;filter:drop-shadow(rgba(0, 0, 0, 0.8) 0px 0px 1px);font-size:0.875rem}.sc-digi-bar-chart-h .tooltipBody.sc-digi-bar-chart{display:inline-block}.sc-digi-bar-chart-h .tooltipHead.sc-digi-bar-chart{display:flex;flex-direction:row;justify-content:space-between}.sc-digi-bar-chart-h .tooltipClose.sc-digi-bar-chart{display:inline-block;vertical-align:top;--digi--color--icon--primary:#333;cursor:pointer}.sc-digi-bar-chart-h .tooltipClose.sc-digi-bar-chart:hover{--digi--color--icon--primary:gray}.sc-digi-bar-chart-h .legendWrap.sc-digi-bar-chart{display:grid}.sc-digi-bar-chart-h .legend.sc-digi-bar-chart{display:flex;flex-direction:row;gap:1rem;min-width:0;overflow-x:auto;scrollbar-gutter:stable}.sc-digi-bar-chart-h .caret.sc-digi-bar-chart{--digi--icon--color:var(--digi--color--background--primary)}.sc-digi-bar-chart-h .scChartStatus.sc-digi-bar-chart{border:0;clip:rect(1px, 1px, 1px, 1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sc-digi-bar-chart-h .table.sc-digi-bar-chart{display:none;overflow-y:auto;height:auto;border-radius:4px;background:linear-gradient(white 30%, rgba(255, 255, 255, 0)) center top, linear-gradient(rgba(255, 255, 255, 0), white 70%) center bottom, radial-gradient(farthest-side at 50% 0, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)) center top, radial-gradient(farthest-side at 50% 100%, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)) center bottom;background-repeat:no-repeat;background-size:100% 40px, 100% 40px, 100% 14px, 100% 14px;background-attachment:local, local, scroll, scroll}`;
39702
39839
 
39703
39840
  /**
39704
39841
  *
@@ -39874,6 +40011,8 @@ class barChart {
39874
40011
  };
39875
40012
  // Resizing chart while loading
39876
40013
  this.loadingResize = () => {
40014
+ if (!this.barSelection || !this.xScale)
40015
+ return;
39877
40016
  const newHeight = this.setDims();
39878
40017
  this.barChartContainer.attr('transform', `translate(${this.margin.left + this.tickPadding + this.yTickSize},0)`);
39879
40018
  this.margin.right =
@@ -40135,6 +40274,8 @@ class barChart {
40135
40274
  return toReturn;
40136
40275
  };
40137
40276
  this.adjustBarSize = () => {
40277
+ if (!this.barSelection)
40278
+ return;
40138
40279
  this.barSelection
40139
40280
  .selectAll('.bar')
40140
40281
  .attr('x', this.xFunction)
@@ -40567,13 +40708,13 @@ class barChart {
40567
40708
  this.initBarText();
40568
40709
  };
40569
40710
  // Removes resize observer for chart and inits table
40570
- this.activateTable = (event) => {
40711
+ this.activateTable = () => {
40571
40712
  this.closeTooltip();
40572
40713
  this.barChartObserver.disconnect();
40573
40714
  this.status.innerHTML = '<p>Visas som tabell</p>';
40574
40715
  select(this.host).select('.tableButton').style('display', 'none');
40575
40716
  select(this.host).select('.chartButton').style('display', null);
40576
- event.target.nextSibling.lastChild.focus();
40717
+ this.focusHostButton('.chartButton');
40577
40718
  const duration = 150;
40578
40719
  this.svg
40579
40720
  .attr('opacity', 1)
@@ -40604,11 +40745,11 @@ class barChart {
40604
40745
  .style('opacity', 0);
40605
40746
  };
40606
40747
  // Removes observer and calls init functions for line chart
40607
- this.reInitChart = (event) => {
40748
+ this.reInitChart = () => {
40608
40749
  this.status.innerHTML = '<p>Visas som diagram</p>';
40609
40750
  select(this.host).select('.tableButton').style('display', null);
40610
40751
  select(this.host).select('.chartButton').style('display', 'none');
40611
- event.target.previousSibling.lastChild.focus();
40752
+ this.focusHostButton('.tableButton');
40612
40753
  const table = select(this.tableDiv);
40613
40754
  const duration = 150;
40614
40755
  table
@@ -40634,14 +40775,33 @@ class barChart {
40634
40775
  });
40635
40776
  };
40636
40777
  }
40637
- afChartDataUpdate(data) {
40638
- if ((typeof data === 'string' && Object.keys(JSON.parse(data)).length > 0) ||
40639
- (typeof data !== 'string' && Object.keys(data).length > 0)) {
40640
- if (typeof data != 'string')
40641
- this.chartData = data;
40642
- else
40643
- this.chartData = JSON.parse(data);
40644
- this.series = this.chartData.data.series.map((serie) => serie.title);
40778
+ afChartDataUpdate() {
40779
+ const data = this.afChartData;
40780
+ // Angular/React can connect the element before afChartData is set.
40781
+ if (data == null || data === '') {
40782
+ this.mappedData = this.reshapeData();
40783
+ return;
40784
+ }
40785
+ try {
40786
+ let parsed;
40787
+ if (typeof data === 'string') {
40788
+ parsed = JSON.parse(data);
40789
+ }
40790
+ else if (typeof data === 'object') {
40791
+ parsed = data;
40792
+ }
40793
+ else {
40794
+ this.mappedData = this.reshapeData();
40795
+ return;
40796
+ }
40797
+ if (parsed && Object.keys(parsed).length > 0) {
40798
+ this.chartData = parsed;
40799
+ this.series = this.chartData.data.series.map((serie) => serie.title);
40800
+ }
40801
+ }
40802
+ catch (_a) {
40803
+ logger.warn(`Invalid JSON in "af-chart-data" attribute`, this.hostElement);
40804
+ return;
40645
40805
  }
40646
40806
  this.mappedData = this.reshapeData();
40647
40807
  // checking for width of each tick
@@ -40652,6 +40812,17 @@ class barChart {
40652
40812
  if (this.dataWidth > 1)
40653
40813
  this.barGap = 1;
40654
40814
  }
40815
+ hasChartData() {
40816
+ return !!this.chartData && Object.keys(this.chartData).length > 0;
40817
+ }
40818
+ focusHostButton(selector) {
40819
+ var _a, _b;
40820
+ const host = this.host;
40821
+ const button = (_b = (_a = host === null || host === void 0 ? void 0 : host.querySelector(selector)) === null || _a === void 0 ? void 0 : _a.querySelector('button')) !== null && _b !== void 0 ? _b : host === null || host === void 0 ? void 0 : host.querySelector(selector);
40822
+ if (button && typeof button.focus === 'function') {
40823
+ button.focus();
40824
+ }
40825
+ }
40655
40826
  initSvg() {
40656
40827
  var _a, _b, _c, _d, _e, _f, _g;
40657
40828
  // Fetch number formatting
@@ -41213,10 +41384,25 @@ class barChart {
41213
41384
  Math.min(255, Math.max(0, parseInt(color, 16) + amount)).toString(16)).substr(-2)));
41214
41385
  }
41215
41386
  componentWillLoad() {
41216
- this.afChartDataUpdate(this.afChartData);
41387
+ this.afChartDataUpdate();
41388
+ // Angular attaches the host first and binds `[afChartData]` on the next
41389
+ // frame (Stencil 4.36+). @Watch skips that first assignment, so if chart
41390
+ // data is not here yet, wait one frame. React/vanilla that already set
41391
+ // the prop skip the delay.
41392
+ if (!this.hasChartData()) {
41393
+ return new Promise((resolve) => {
41394
+ requestAnimationFrame(() => {
41395
+ this.afChartDataUpdate();
41396
+ resolve();
41397
+ });
41398
+ });
41399
+ }
41217
41400
  }
41218
41401
  componentDidLoad() {
41219
- if (!this.chartData || Object.keys(this.chartData).length === 0) {
41402
+ if (!this.hasChartData()) {
41403
+ this.afChartDataUpdate();
41404
+ }
41405
+ if (!this.hasChartData()) {
41220
41406
  this.loading = true;
41221
41407
  return this.initEmpty();
41222
41408
  }
@@ -41235,7 +41421,7 @@ class barChart {
41235
41421
  }
41236
41422
  componentDidUpdate() {
41237
41423
  if (this.tableDiv.style['display'] != 'block' &&
41238
- Object.keys(this.chartData).length === 0) {
41424
+ !this.hasChartData()) {
41239
41425
  // Disconnect old barchartobserver while doing resizing
41240
41426
  this.barChartObserver.disconnect();
41241
41427
  return this.loadingState();
@@ -41315,7 +41501,7 @@ class barChart {
41315
41501
  if (this.chartData.infoText)
41316
41502
  heading = `${heading}<span style="display:block;margin-top:0.25rem;font-size:0.875rem;color:var(--digi--global--color--neutral--grayscale--darkest-3)">${this.chartData.infoText}</span>`;
41317
41503
  }
41318
- return (hAsync(Host, { key: 'cb70095467051cf1142891bc63694623e707d92f', ref: (el) => (this.host = el) }, hAsync("svg", { key: 'c040fe2f27d9a5e3de1471fe7e4d853757f6a754', xmlns: "http://www.w3.org/2000/svg", width: "0", height: "0" }, hAsync("defs", { key: '17fd52f2cac5a3225e097aee80e8dc1a99909840' }, hAsync("pattern", { key: '2940e729359dad1acc4635363cd5a8f3ee4d8ea1', id: "prognosis", patternUnits: "userSpaceOnUse", width: "8", height: "8", patternTransform: "rotate(45)" }, hAsync("rect", { key: '4b47d41ea9f4699a4bcc7b0f04d00b8bbd124946', width: "8", height: "8", fill: "white" }), hAsync("line", { key: 'd5c3a32fb715a5271a784771d9812ea599390fc3', x1: "0", y: "0", x2: "0", y2: "12", stroke: this.evalColorVar(this.colorPalettes[0]), "stroke-width": "8" })), hAsync("pattern", { key: '8038bb4d62fd87a118e0bcf4e750165eed48f789', id: "prognosisInactive", patternUnits: "userSpaceOnUse", width: "8", height: "8", patternTransform: "rotate(45)" }, hAsync("rect", { key: 'b1247b7d27e73836c7b5a05fb77a872e89853d3b', width: "8", height: "8", fill: "white" }), hAsync("line", { key: '14265bcba469f08b890654315a86d6278271d64d', x1: "0", y: "0", x2: "0", y2: "12", stroke: this.evalColorVar('--digi--color--background--secondary-accent'), "stroke-width": "8" })), hAsync("pattern", { key: '4069999fd742795379f093c83c00cca488b6139c', id: "prognosisHighlight", patternUnits: "userSpaceOnUse", width: "8", height: "8", patternTransform: "rotate(45)" }, hAsync("rect", { key: 'c525ae39e05acf3e7522f1b92feffdfe5221e528', width: "8", height: "8", fill: "white" }), hAsync("line", { key: 'fa183e0678f6f3794e094b97975fe96955b49e0a', x1: "0", y: "0", x2: "0", y2: "12", stroke: this.adjustColor(this.colorFunction(0), 50), "stroke-width": "8" })))), hAsync("div", { key: 'b6e46d7f4701775a177b02a98f46ca40308e9938', class: "topWrapper", ref: (el) => (this.titleDiv = el) }, hAsync("digi-typography", { key: '88d49833d43776a2bc23d7f73bb8cc9442350634', class: "chartTitle", innerHTML: heading }), hAsync("digi-button", { key: '75e2ef09c3f9f91a08b3596d02ad308b244586bb', class: "buttonWrapper tableButton", "af-size": "medium", "af-variation": "function", "af-full-width": "false", onAfOnClick: this.activateTable, afAriaLabel: `Visa tabell ${((_a = this.chartData) === null || _a === void 0 ? void 0 : _a.title) ? (_b = this.chartData) === null || _b === void 0 ? void 0 : _b.title.toLowerCase() : ''}` }, hAsync("digi-icon-table", { key: '7712b56f991bb5214aa3bebb9e380221156b6bbf', slot: "icon" }), "Visa tabell"), hAsync("digi-button", { key: 'b9d442ea0b62303c2bf1018651ce3206063f3b35', style: { display: 'none' }, class: "buttonWrapper chartButton", "af-size": "medium", "af-variation": "function", "af-full-width": "false", onAfOnClick: this.reInitChart, afAriaLabel: `Visa diagram ${((_c = this.chartData) === null || _c === void 0 ? void 0 : _c.title) ? (_d = this.chartData) === null || _d === void 0 ? void 0 : _d.title.toLowerCase() : ''}` }, hAsync("digi-icon-chart", { key: '260c432d04f8ea00216cd485b5ec3a29df4b4db1', slot: "icon" }), "Visa diagram"), hAsync("div", { key: 'a7fd6276b5738e9cf040f0e9b99e983b27ec25cf', class: "scChartStatus", role: "status", ref: (el) => (this.status = el) })), hAsync("div", { key: '705ec9e3931b91009ff565bbd8f4ba300bd8dbd7', class: "svgWrap", ref: (el) => (this.chartDiv = el) }, hAsync("div", { key: '242fd5b7afba36df00aa7fb256bd8578712d25e7', class: "chartTooltip", id: this.afId }, hAsync("div", { key: '6417cc30962396164fe4840ecfef62c4ef7591d6', class: "tooltipHead" }, hAsync("digi-icon-x", { key: 'dc4edb442bfb342fbdb64b06e70f1e19ccc5ffb1', class: "tooltipClose" })), hAsync("div", { key: 'da625c879d4c0eebffa02193dc36d794c755b768', class: "tooltipBody" }), this.afVariation === BarChartVariation.Horizontal ? (hAsync("digi-icon-caret-up", { class: "caret" })) : (hAsync("digi-icon-caret-down", { class: "caret" })))), hAsync("div", { key: 'a003a616c2ee8b848d402b38009261539ebf0c50', class: "legendWrap", ref: (el) => (this.legendDiv = el) }, hAsync("div", { key: '44a6db8daa836ccf910aafd6fd996f153c337bf4', class: "legend" })), hAsync("div", { key: 'a872281035f2799fe8aa9128a953d0c5d9f6b2cc', class: "table", ref: (el) => (this.tableDiv = el) }, ' ')));
41504
+ return (hAsync(Host, { key: '003845ddc03e2027721d5e75c82816faae5bde63', ref: (el) => (this.host = el) }, hAsync("svg", { key: '054049009c8618211f9009961d238992c3d03c0e', xmlns: "http://www.w3.org/2000/svg", width: "0", height: "0" }, hAsync("defs", { key: '16f32628ffd79e24b66e749666eccd6ae283a5b8' }, hAsync("pattern", { key: '8aa5e0923086f740eeb02d71690ed16086205b0a', id: "prognosis", patternUnits: "userSpaceOnUse", width: "8", height: "8", patternTransform: "rotate(45)" }, hAsync("rect", { key: '237569e79095a4a7c084aa91fd637dfbe385ca8b', width: "8", height: "8", fill: "white" }), hAsync("line", { key: '6edeac6a60cef51561c8fd803b2e277b19b740bf', x1: "0", y: "0", x2: "0", y2: "12", stroke: this.evalColorVar(this.colorPalettes[0]), "stroke-width": "8" })), hAsync("pattern", { key: 'bd40402b6fd33d50fc4dca709380108fe054f74c', id: "prognosisInactive", patternUnits: "userSpaceOnUse", width: "8", height: "8", patternTransform: "rotate(45)" }, hAsync("rect", { key: 'a5dcf48112b024982f3410bc51eb05002c8c8dcc', width: "8", height: "8", fill: "white" }), hAsync("line", { key: 'b76b6ae15b8a0ee9c37c28bf3f66613c9df1e9b8', x1: "0", y: "0", x2: "0", y2: "12", stroke: this.evalColorVar('--digi--color--background--secondary-accent'), "stroke-width": "8" })), hAsync("pattern", { key: 'ef4782b914f2599424d5f3e6715cb69c4f0e4728', id: "prognosisHighlight", patternUnits: "userSpaceOnUse", width: "8", height: "8", patternTransform: "rotate(45)" }, hAsync("rect", { key: '6501ba8a46f53b6c3309486d0795d348a8ec1fff', width: "8", height: "8", fill: "white" }), hAsync("line", { key: 'b184212878587e1e15ebf40a472333851270b287', x1: "0", y: "0", x2: "0", y2: "12", stroke: this.adjustColor(this.colorFunction(0), 50), "stroke-width": "8" })))), hAsync("div", { key: '02b5c9c63c327995f9603ffc84ab0455137ff43d', class: "topWrapper", ref: (el) => (this.titleDiv = el) }, hAsync("digi-typography", { key: 'd8944066ab1a86ed71af7de4a018ef422cea75e9', class: "chartTitle", innerHTML: heading }), hAsync("digi-button", { key: '6bc1e5870432720980fc8dad25abc5f2cb474daf', class: "buttonWrapper tableButton", "af-size": "medium", "af-variation": "function", "af-full-width": "false", onAfOnClick: this.activateTable, afAriaLabel: `Visa tabell ${((_a = this.chartData) === null || _a === void 0 ? void 0 : _a.title) ? (_b = this.chartData) === null || _b === void 0 ? void 0 : _b.title.toLowerCase() : ''}` }, hAsync("digi-icon-table", { key: '5a8b44b3a201b4866b89fc4328ff0b46ac47c6e1', slot: "icon" }), "Visa tabell"), hAsync("digi-button", { key: 'cd0d60a025d5fa0e62cb5f6a322cf3f97c0bd02e', style: { display: 'none' }, class: "buttonWrapper chartButton", "af-size": "medium", "af-variation": "function", "af-full-width": "false", onAfOnClick: this.reInitChart, afAriaLabel: `Visa diagram ${((_c = this.chartData) === null || _c === void 0 ? void 0 : _c.title) ? (_d = this.chartData) === null || _d === void 0 ? void 0 : _d.title.toLowerCase() : ''}` }, hAsync("digi-icon-chart", { key: '8f4e4f1bdabffd7ffd1532453b534a823ef65006', slot: "icon" }), "Visa diagram"), hAsync("div", { key: '22535e8bfb69f96152e61295019d463cb69b70c3', class: "scChartStatus", role: "status", ref: (el) => (this.status = el) })), hAsync("div", { key: '55e25140585469497ec501cd133cfc710bb88b43', class: "svgWrap", ref: (el) => (this.chartDiv = el) }, hAsync("div", { key: '4d8cd2eb832770f94fdff5eec2f084e4ba5c96b8', class: "chartTooltip", id: this.afId }, hAsync("div", { key: 'b805b20b746ce940ae5c20ef34898c3409cffecd', class: "tooltipHead" }, hAsync("digi-icon-x", { key: 'c162d2b1e6e7aafddf0ac194705b436a5b02b392', class: "tooltipClose" })), hAsync("div", { key: 'cdc876d4c88f50c7d95c22f4d0f683c2a5564235', class: "tooltipBody" }), this.afVariation === BarChartVariation.Horizontal ? (hAsync("digi-icon-caret-up", { class: "caret" })) : (hAsync("digi-icon-caret-down", { class: "caret" })))), hAsync("div", { key: '8cb986f7466fdb42f6dc840c1371b25978ae4c66', class: "legendWrap", ref: (el) => (this.legendDiv = el) }, hAsync("div", { key: '6761a567c03c8ade4206fb89cf9e7bd792c36e71', class: "legend" })), hAsync("div", { key: 'ac251b6078602f9319447cfaa6444f0129e46c0f', class: "table", ref: (el) => (this.tableDiv = el) }, ' ')));
41319
41505
  }
41320
41506
  get hostElement() { return getElement(this); }
41321
41507
  static get watchers() { return {