@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.mjs CHANGED
@@ -10905,7 +10905,7 @@ const _t = Object.assign(Object.assign({}, common), { calendar,
10905
10905
  progressList,
10906
10906
  time });
10907
10907
 
10908
- 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}`;
10908
+ 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}`;
10909
10909
 
10910
10910
  /**
10911
10911
  * @swedishName Kalender
@@ -13283,7 +13283,30 @@ class CalendarWeekView {
13283
13283
  this.weekDays = [...newDates];
13284
13284
  }
13285
13285
  afDatesUpdate() {
13286
- const dateList = [...JSON.parse(this.afDates)];
13286
+ // Angular/React can connect the element before afDates is set.
13287
+ if (this.afDates == null || this.afDates === '') {
13288
+ return;
13289
+ }
13290
+ const hadDates = this.dates.length > 0;
13291
+ let dateList;
13292
+ try {
13293
+ if (Array.isArray(this.afDates)) {
13294
+ dateList = [...this.afDates];
13295
+ }
13296
+ else if (typeof this.afDates === 'string') {
13297
+ dateList = JSON.parse(this.afDates);
13298
+ }
13299
+ else {
13300
+ return;
13301
+ }
13302
+ }
13303
+ catch (_a) {
13304
+ logger.warn(`Invalid JSON in "af-dates" attribute`, this.hostElement);
13305
+ return;
13306
+ }
13307
+ if (!Array.isArray(dateList)) {
13308
+ return;
13309
+ }
13287
13310
  this.dates = [
13288
13311
  ...dateList.sort((a, b) => {
13289
13312
  const c = new Date(a);
@@ -13291,6 +13314,9 @@ class CalendarWeekView {
13291
13314
  return this.getTime(c) - this.getTime(d);
13292
13315
  })
13293
13316
  ];
13317
+ if (!hadDates && this.dates.length > 0) {
13318
+ this.initDates();
13319
+ }
13294
13320
  }
13295
13321
  /**
13296
13322
  * Kan användas för att manuellt sätta om det aktiva datumet. Formatet måste vara 'yyyy-MM-dd'.
@@ -13314,6 +13340,9 @@ class CalendarWeekView {
13314
13340
  this.afOnWeekChange.emit('next');
13315
13341
  }
13316
13342
  initDates() {
13343
+ if (this.dates.length === 0) {
13344
+ return;
13345
+ }
13317
13346
  this.minDate = new Date(this.dates[0]);
13318
13347
  this.maxDate = new Date(this.dates[this.dates.length - 1]);
13319
13348
  this.selectedDate = format$1(new Date(this.dates[0]), 'yyyy-MM-dd', {
@@ -13325,9 +13354,23 @@ class CalendarWeekView {
13325
13354
  }
13326
13355
  componentWillLoad() {
13327
13356
  this.afDatesUpdate();
13328
- this.initDates();
13357
+ // Angular attaches the host first and binds `[afDates]` on the next frame
13358
+ // (Stencil 4.36+). @Watch skips that first assignment, so if dates are not
13359
+ // here yet, wait one frame. React/vanilla that already set the prop skip
13360
+ // the delay.
13361
+ if (this.dates.length === 0) {
13362
+ return new Promise((resolve) => {
13363
+ requestAnimationFrame(() => {
13364
+ this.afDatesUpdate();
13365
+ resolve();
13366
+ });
13367
+ });
13368
+ }
13329
13369
  }
13330
13370
  componentDidLoad() {
13371
+ if (this.dates.length === 0) {
13372
+ this.afDatesUpdate();
13373
+ }
13331
13374
  this.afOnReady.emit();
13332
13375
  }
13333
13376
  get prevWeekText() {
@@ -13351,7 +13394,7 @@ class CalendarWeekView {
13351
13394
  format$1(new Date(lastDate), 'MMMM yyyy', { locale: locale$1 });
13352
13395
  }
13353
13396
  render() {
13354
- 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) => {
13397
+ 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) => {
13355
13398
  const date = format$1(new Date(dateItem), 'd', {
13356
13399
  locale: locale$1
13357
13400
  });
@@ -13371,16 +13414,17 @@ class CalendarWeekView {
13371
13414
  } }, day), hAsync("span", { class: "digi-calendar-week-view__date-button-date" }, date), hAsync("span", { "aria-hidden": "true", class: {
13372
13415
  'digi-calendar-week-view__date-button-circle': dateItem === this.todaysDate
13373
13416
  } })))));
13374
- })))), hAsync("digi-button", { key: '2edb685459c4cbf8a0120ab340672b17d0ea3f9f', onClick: () => this.prevWeek(), class: {
13417
+ })))), hAsync("digi-button", { key: 'dbae5227d0316a5a67febc7de83b1c4c5cfc1044', onClick: () => this.prevWeek(), class: {
13375
13418
  'digi-calendar-week-view__week-button digi-calendar-week-view__week-button--previous': true,
13376
13419
  'digi-calendar-week-view__week-button--keep-left': this.currentWeek == getISOWeek(this.maxDate),
13377
13420
  'digi-calendar-week-view__week-button--hidden': !(this.currentWeek > getISOWeek(this.minDate))
13378
- }, "af-variation": "secondary" }, hAsync("digi-icon-chevron-left", { key: '8948b12a1654f9ef46728ea8de3b1df5f40addcd', slot: "icon" }), this.prevWeekText), hAsync("digi-button", { key: '729ed8eebce68168b66c5365588a52b1279eec3f', onClick: () => this.nextWeek(), class: {
13421
+ }, "af-variation": "secondary" }, hAsync("digi-icon-chevron-left", { key: '65d0f656a0d35911d39f9b8e9ade224be54d4371', slot: "icon" }), this.prevWeekText), hAsync("digi-button", { key: '68d9b3d6c929d0185f412add980a542b3c86fbb2', onClick: () => this.nextWeek(), class: {
13379
13422
  'digi-calendar-week-view__week-button digi-calendar-week-view__week-button--next': true,
13380
13423
  'digi-calendar-week-view__week-button--keep-right': this.currentWeek == getISOWeek(this.minDate),
13381
13424
  'digi-calendar-week-view__week-button--hidden': !(this.currentWeek < getISOWeek(this.maxDate))
13382
- }, "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' })))));
13425
+ }, "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' })))));
13383
13426
  }
13427
+ get hostElement() { return getElement(this); }
13384
13428
  static get watchers() { return {
13385
13429
  "selectedDate": [{
13386
13430
  "selectedDateChangeHandler": 0
@@ -18858,14 +18902,14 @@ class ChartLine {
18858
18902
  });
18859
18903
  };
18860
18904
  // Removes resize observer for chart and inits table
18861
- this.activateTable = (event) => {
18905
+ this.activateTable = () => {
18862
18906
  this.closeTooltip();
18863
18907
  this.lineChartObserver.disconnect();
18864
18908
  this.tableObserver.observe(this._chartDiv);
18865
18909
  this._status.innerHTML = '<p>Visas som tabell</p>';
18866
18910
  select(this._host).select('.tableButton').style('display', 'none');
18867
18911
  select(this._host).select('.chartButton').style('display', null);
18868
- event.target.nextSibling.lastChild.focus();
18912
+ this.focusHostButton('.chartButton');
18869
18913
  const duration = 150;
18870
18914
  this._svg
18871
18915
  .attr('opacity', 1)
@@ -18896,12 +18940,12 @@ class ChartLine {
18896
18940
  this.setTableDimensions();
18897
18941
  };
18898
18942
  // Removes observer and calls init functions for line chart
18899
- this.reInitChart = (event) => {
18943
+ this.reInitChart = () => {
18900
18944
  this.tableObserver.disconnect();
18901
18945
  this._status.innerHTML = '<p>Visas som diagram</p>';
18902
18946
  select(this._host).select('.tableButton').style('display', null);
18903
18947
  select(this._host).select('.chartButton').style('display', 'none');
18904
- event.target.previousSibling.lastChild.focus();
18948
+ this.focusHostButton('.tableButton');
18905
18949
  const table = select(this._tableDiv);
18906
18950
  table
18907
18951
  .style('opacity', 1)
@@ -18928,15 +18972,40 @@ class ChartLine {
18928
18972
  }
18929
18973
  afChartDataUpdate() {
18930
18974
  const data = this.afChartData;
18931
- if (typeof data === 'object') {
18932
- this._chartData = Object.assign({}, data);
18975
+ // Angular/React can connect the element before afChartData is set.
18976
+ if (data == null || data === '') {
18977
+ return;
18978
+ }
18979
+ try {
18980
+ if (typeof data === 'object') {
18981
+ this._chartData = Object.assign({}, data);
18982
+ }
18983
+ else if (typeof data === 'string') {
18984
+ this._chartData = JSON.parse(data);
18985
+ }
18986
+ else {
18987
+ return;
18988
+ }
18989
+ }
18990
+ catch (_a) {
18991
+ logger.warn(`Invalid JSON in "af-chart-data" attribute`, this.element);
18933
18992
  return;
18934
18993
  }
18935
- this._chartData = JSON.parse(data);
18936
18994
  // Making deep copy of this
18937
18995
  if (this._chartData.data)
18938
18996
  this._coreSeries = JSON.parse(JSON.stringify(this._chartData.data.series));
18939
18997
  }
18998
+ hasChartData() {
18999
+ return !!this._chartData && Object.keys(this._chartData).length > 0;
19000
+ }
19001
+ focusHostButton(selector) {
19002
+ var _a, _b;
19003
+ const host = this._host;
19004
+ 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);
19005
+ if (button && typeof button.focus === 'function') {
19006
+ button.focus();
19007
+ }
19008
+ }
18940
19009
  initSvg() {
18941
19010
  this.margin.bottom =
18942
19011
  Number(window
@@ -19400,9 +19469,24 @@ class ChartLine {
19400
19469
  }
19401
19470
  componentWillLoad() {
19402
19471
  this.afChartDataUpdate();
19472
+ // Angular attaches the host first and binds `[afChartData]` on the next
19473
+ // frame (Stencil 4.36+). @Watch skips that first assignment, so if chart
19474
+ // data is not here yet, wait one frame. React/vanilla that already set
19475
+ // the prop skip the delay.
19476
+ if (!this.hasChartData()) {
19477
+ return new Promise((resolve) => {
19478
+ requestAnimationFrame(() => {
19479
+ this.afChartDataUpdate();
19480
+ resolve();
19481
+ });
19482
+ });
19483
+ }
19403
19484
  }
19404
19485
  componentDidLoad() {
19405
- if (Object.keys(this._chartData).length === 0)
19486
+ if (!this.hasChartData()) {
19487
+ this.afChartDataUpdate();
19488
+ }
19489
+ if (!this.hasChartData())
19406
19490
  return this.initEmpty();
19407
19491
  // clearing selection
19408
19492
  this._selectedLines = [];
@@ -19418,7 +19502,7 @@ class ChartLine {
19418
19502
  this._prevHeight = select(this._titleDiv).style('height');
19419
19503
  }
19420
19504
  componentDidUpdate() {
19421
- if (Object.keys(this._chartData).length === 0)
19505
+ if (!this.hasChartData())
19422
19506
  return this.loadingState();
19423
19507
  // clearing selection
19424
19508
  this._selectedLines = [];
@@ -19575,11 +19659,13 @@ class ChartLine {
19575
19659
  }
19576
19660
  render() {
19577
19661
  let heading = '';
19578
- if (!this._chartData.subTitle)
19579
- heading = `<${this.afHeadingLevel}>${this._chartData.title}</${this.afHeadingLevel}>`;
19580
- else
19581
- heading = `<${this.afHeadingLevel}>${this._chartData.title}</${this.afHeadingLevel}><p>${this._chartData.subTitle}</p>`;
19582
- 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) }, ' ')));
19662
+ if (this._chartData) {
19663
+ if (!this._chartData.subTitle)
19664
+ heading = `<${this.afHeadingLevel}>${this._chartData.title}</${this.afHeadingLevel}>`;
19665
+ else
19666
+ heading = `<${this.afHeadingLevel}>${this._chartData.title}</${this.afHeadingLevel}><p>${this._chartData.subTitle}</p>`;
19667
+ }
19668
+ 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) }, ' ')));
19583
19669
  }
19584
19670
  get element() { return getElement(this); }
19585
19671
  static get watchers() { return {
@@ -22999,17 +23085,21 @@ class ExpandableAccordion {
22999
23085
  componentDidLoad() {
23000
23086
  const content = this.hostElement.querySelector(`#${this.afId}-content`);
23001
23087
  if (!this.afExpanded) {
23002
- content.setAttribute('style', 'visibility: hidden;');
23088
+ content.style.visibility = 'hidden';
23003
23089
  }
23004
23090
  else {
23005
- content.setAttribute('style', 'height: auto;');
23091
+ content.style.overflowY = 'inherit';
23092
+ content.style.height = 'auto';
23006
23093
  }
23007
23094
  content.addEventListener('transitionend', () => {
23008
23095
  if (!this.afExpanded) {
23009
- content.setAttribute('style', 'visibility: hidden; height: ' + 0 + 'px');
23096
+ content.style.visibility = 'hidden';
23097
+ content.style.height = '0px';
23098
+ }
23099
+ else {
23100
+ content.style.height = 'auto';
23101
+ content.style.overflowY = 'inherit';
23010
23102
  }
23011
- else
23012
- content.setAttribute('style', 'height: auto');
23013
23103
  });
23014
23104
  }
23015
23105
  animateContentHeight() {
@@ -23017,22 +23107,25 @@ class ExpandableAccordion {
23017
23107
  const sectionHeight = content.firstElementChild
23018
23108
  .offsetHeight;
23019
23109
  if (!this.afExpanded && content.style.height === 'auto') {
23020
- content.setAttribute('style', 'height: ' + sectionHeight + 'px');
23110
+ content.style.height = sectionHeight + 'px';
23021
23111
  setTimeout(() => {
23022
- content.setAttribute('style', 'height: 0');
23112
+ content.style.height = '0';
23113
+ content.style.overflowY = 'hidden';
23023
23114
  });
23024
23115
  return;
23025
23116
  }
23026
23117
  if (this.afExpanded) {
23027
- content.setAttribute('style', 'visibility: visible; height:' + sectionHeight + 'px');
23118
+ content.style.height = sectionHeight + 'px';
23119
+ content.style.visibility = 'visible';
23028
23120
  if (!this.afAnimation) {
23029
23121
  setTimeout(() => {
23030
- content.setAttribute('style', 'height: auto');
23122
+ content.style.height = 'auto';
23123
+ content.style.overflowY = 'inherit';
23031
23124
  });
23032
23125
  }
23033
23126
  }
23034
23127
  else {
23035
- content.setAttribute('style', 'height: ' + 0 + 'px');
23128
+ content.style.height = '0px';
23036
23129
  }
23037
23130
  }
23038
23131
  clickToggleHandler(e, resetFocus = false) {
@@ -23044,7 +23137,7 @@ class ExpandableAccordion {
23044
23137
  this.afOnClick.emit(e);
23045
23138
  }
23046
23139
  render() {
23047
- 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' }))))));
23140
+ 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' }))))));
23048
23141
  }
23049
23142
  get hostElement() { return getElement(this); }
23050
23143
  static get watchers() { return {
@@ -23209,17 +23302,21 @@ class ExpandableFaqItem {
23209
23302
  componentDidLoad() {
23210
23303
  const content = this.hostElement.querySelector(`#${this.afId}-content`);
23211
23304
  if (!this.afExpanded) {
23212
- content.setAttribute('style', 'visibility: hidden;');
23305
+ content.style.visibility = 'hidden';
23213
23306
  }
23214
23307
  else {
23215
- content.setAttribute('style', 'height: auto;');
23308
+ content.style.height = 'auto';
23309
+ content.style.overflowY = 'inherit';
23216
23310
  }
23217
23311
  content.addEventListener('transitionend', () => {
23218
23312
  if (!this.afExpanded) {
23219
- content.setAttribute('style', 'visibility: hidden; height: ' + 0 + 'px');
23313
+ content.style.visibility = 'hidden';
23314
+ content.style.height = '0px';
23315
+ }
23316
+ else {
23317
+ content.style.height = 'auto';
23318
+ content.style.overflowY = 'inherit';
23220
23319
  }
23221
- else
23222
- content.setAttribute('style', 'height: auto');
23223
23320
  });
23224
23321
  }
23225
23322
  animateContentHeight() {
@@ -23227,37 +23324,40 @@ class ExpandableFaqItem {
23227
23324
  const sectionHeight = content.firstElementChild
23228
23325
  .offsetHeight;
23229
23326
  if (!this.afExpanded && content.style.height === 'auto') {
23230
- content.setAttribute('style', 'height: ' + sectionHeight + 'px');
23327
+ content.style.height = sectionHeight + 'px';
23231
23328
  setTimeout(() => {
23232
- content.setAttribute('style', 'height: 0');
23329
+ content.style.height = '0';
23330
+ content.style.overflowY = 'hidden';
23233
23331
  });
23234
23332
  return;
23235
23333
  }
23236
23334
  if (this.afExpanded) {
23237
- content.setAttribute('style', 'visibility: visible; height:' + sectionHeight + 'px');
23335
+ content.style.height = sectionHeight + 'px';
23336
+ content.style.visibility = 'visible';
23238
23337
  if (!this.afAnimation) {
23239
23338
  setTimeout(() => {
23240
- content.setAttribute('style', 'height: auto');
23339
+ content.style.height = 'auto';
23340
+ content.style.overflowY = 'inherit';
23241
23341
  });
23242
23342
  }
23243
23343
  }
23244
23344
  else {
23245
- content.setAttribute('style', 'height: ' + 0 + 'px');
23345
+ content.style.height = '0px';
23246
23346
  }
23247
23347
  }
23248
23348
  render() {
23249
- 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) => {
23349
+ 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) => {
23250
23350
  e.preventDefault();
23251
23351
  this.afExpanded = !this.afExpanded;
23252
23352
  this.afOnClick.emit(e);
23253
- }, "aria-expanded": this.afExpanded ? 'true' : 'false', "aria-controls": `${this.afId}-content` }, hAsync("digi-icon-chevron-down", { key: '245e1d2578b3e15d0fc83aaf82ca5b19a292ab20', class: {
23353
+ }, "aria-expanded": this.afExpanded ? 'true' : 'false', "aria-controls": `${this.afId}-content` }, hAsync("digi-icon-chevron-down", { key: '40e0a896b3d7d44bf282e8462a24c43060a29eff', class: {
23254
23354
  'digi-expandable-faq-item__header--toggle-icon': true,
23255
23355
  'digi-expandable-faq-item__header--toggle-icon--expanded': this.afExpanded
23256
- } }), hAsync("div", { key: '6b37c5b10fee03cb1e8fbaebf4afa879131fef08', class: "digi-expandable-faq-item__header-text" }, this.afHeading)))), hAsync("section", { key: '5d0083596a6a9d8dc17db3814dd7fc5b7672def1', class: {
23356
+ } }), hAsync("div", { key: 'f58aa361553f3063bf1e5171f8d320e6cb8189c6', class: "digi-expandable-faq-item__header-text" }, this.afHeading)))), hAsync("section", { key: 'b4d0dd00a3e6fe9e8367ef5a6f197696de55f4fd', class: {
23257
23357
  'digi-expandable-faq-item__content': true,
23258
23358
  'digi-expandable-faq-item__content--animation': this.afAnimation,
23259
23359
  'digi-expandable-faq-item__content--hidden': !this.afExpanded
23260
- }, id: `${this.afId}-content` }, hAsync("div", { key: '1c11f15e328118a0adc6c5fb0cb88b7c8f3b8470' }, hAsync("digi-typography", { key: '0253266ad670b87a5a9291101d965899f14f0b16' }, hAsync("slot", { key: '7c277acd32d84ccc6b1c14913aebde586a2ea148' }))))));
23360
+ }, id: `${this.afId}-content` }, hAsync("div", { key: 'e9a9147164d3934584cd5da5cfc8080ba9374c76' }, hAsync("digi-typography", { key: '398a0c4e0aa1092db5f4a2e3182218ebbe0c3624' }, hAsync("slot", { key: 'be924dc541b7c41b19b4392d3a988b492144d585' }))))));
23261
23361
  }
23262
23362
  get hostElement() { return getElement(this); }
23263
23363
  static get watchers() { return {
@@ -34150,8 +34250,8 @@ class InfoCard {
34150
34250
  */
34151
34251
  this.afBorderPosition = InfoCardBorderPosition.TOP;
34152
34252
  /**
34153
- * Sätter variant. Kan vara 'primary' eller 'secondary'. Detta har endast genomslag om 'af-type' är 'tip'.
34154
- * @en Set info card variation. Can be 'primary' or 'secondary'. This only applies if 'af-type' is 'tip'.
34253
+ * Sätter variant. Kan vara 'primary' eller 'secondary'.
34254
+ * @en Set info card variation. Can be 'primary' or 'secondary'.
34155
34255
  */
34156
34256
  this.afVariation = InfoCardVariation.PRIMARY;
34157
34257
  this.activeLink = false;
@@ -34197,7 +34297,7 @@ class InfoCard {
34197
34297
  };
34198
34298
  }
34199
34299
  render() {
34200
- 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)))));
34300
+ 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)))));
34201
34301
  }
34202
34302
  get hostElement() { return getElement(this); }
34203
34303
  static get watchers() { return {
@@ -36202,14 +36302,10 @@ class NavigationTablist {
36202
36302
  }
36203
36303
  }
36204
36304
  syncPanels() {
36205
- // side-effect
36206
- if (this.panelsRef != null) {
36207
- const panels = this.panelsRef.querySelectorAll(':scope>digi-tablist-panel');
36208
- for (let i = 0; i < panels.length; i++) {
36209
- const panel = panels[i];
36210
- const showPanel = panel.tab === this.tabs[this.activeTab].id;
36211
- panel.isVisible = showPanel;
36212
- }
36305
+ var _a;
36306
+ const activeId = (_a = this.tabs[this.activeTab]) === null || _a === void 0 ? void 0 : _a.id;
36307
+ for (const panel of this.getSlottedPanels()) {
36308
+ panel.isVisible = panel.tab === activeId;
36213
36309
  }
36214
36310
  }
36215
36311
  handleTabPropChange(tabId) {
@@ -36240,6 +36336,11 @@ class NavigationTablist {
36240
36336
  this.windowTab = tabIdx;
36241
36337
  }
36242
36338
  setupTabs(tabs) {
36339
+ // Angular/React can connect the element before afTabs is set.
36340
+ if (tabs == null || tabs === '') {
36341
+ return;
36342
+ }
36343
+ const hadTabs = this.tabs.length > 0;
36243
36344
  if (typeof tabs === 'string') {
36244
36345
  this.tabs = JSON.parse(tabs);
36245
36346
  }
@@ -36249,6 +36350,13 @@ class NavigationTablist {
36249
36350
  else {
36250
36351
  throw new Error('Invalid format or no tabs supplied');
36251
36352
  }
36353
+ if (!hadTabs) {
36354
+ this.setupInitialTab();
36355
+ }
36356
+ this.syncPanels();
36357
+ }
36358
+ getSlottedPanels() {
36359
+ return Array.from(this.hostElement.querySelectorAll('digi-tablist-panel')).filter((panel) => panel.closest('digi-tablist') === this.hostElement);
36252
36360
  }
36253
36361
  setActiveTabById(id) {
36254
36362
  const tabIdx = this.tabs.findIndex((tab) => tab.id === id);
@@ -36316,9 +36424,23 @@ class NavigationTablist {
36316
36424
  componentWillLoad() {
36317
36425
  this.setupTabs(this.afTabs);
36318
36426
  this.setupInitialTab();
36427
+ // Angular attaches the host first and binds `[afTabs]` on the next frame
36428
+ // (Stencil 4.36+). @Watch skips that first assignment, so if tabs are not
36429
+ // here yet, wait one frame. React/vanilla that already set the prop skip
36430
+ // the delay.
36431
+ if (this.tabs.length === 0) {
36432
+ return new Promise((resolve) => {
36433
+ requestAnimationFrame(() => {
36434
+ this.setupTabs(this.afTabs);
36435
+ this.setupInitialTab();
36436
+ resolve();
36437
+ });
36438
+ });
36439
+ }
36319
36440
  }
36320
36441
  componentDidLoad() {
36321
36442
  var _a, _b, _c;
36443
+ this.setupTabs(this.afTabs);
36322
36444
  // Also listen to window resize for viewport zoom changes
36323
36445
  if (window) {
36324
36446
  window.addEventListener('resize', this.handleResize, { passive: true });
@@ -36340,14 +36462,14 @@ class NavigationTablist {
36340
36462
  cancelAnimationFrame(this._requestAnimationFrame);
36341
36463
  }
36342
36464
  render() {
36343
- return (hAsync(Host, { key: '8bdab05cd034b9940aefcb9f38b16d09b6f0b0c7' }, hAsync("div", { key: '2d2266a9600dcc5817130ed4ece38868779e0b69', class: {
36465
+ return (hAsync(Host, { key: 'b2d71ff4b3f2c2fa22feffbc298360c1b3202b1d' }, hAsync("div", { key: 'df48ffc9fdabfca380675c7232af5fef80c445b9', class: {
36344
36466
  'digi-tablist': true,
36345
36467
  'digi-tablist--overflow-scroll': this.afOverflowMode === OverflowMode.Scroll,
36346
36468
  'digi-tablist--overflow-controls': this.afOverflowMode === OverflowMode.Controls
36347
- } }, hAsync("div", { key: 'a96cd5d9a2eec5b2b52f0d1a00b2810c28e8d4bd', class: "control-wrapper", style: {
36469
+ } }, hAsync("div", { key: '797f70a00aa1e3dd8a3b54d43808b9515259723c', class: "control-wrapper", style: {
36348
36470
  left: '0',
36349
36471
  visibility: this.showPrev ? 'visible' : 'hidden'
36350
- } }, 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) => {
36472
+ } }, 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) => {
36351
36473
  const focusable = tab.id === this.tabs[this.selectedTab].id;
36352
36474
  const isActive = tab.id === this.tabs[this.activeTab].id;
36353
36475
  const Icon = `digi-icon-${tab.icon}`;
@@ -36356,11 +36478,12 @@ class NavigationTablist {
36356
36478
  'digi-tab': true,
36357
36479
  'is-active': isActive
36358
36480
  }, 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" }))));
36359
- })), hAsync("div", { key: 'b79ea56eb945fe5c4b2e34529d8b1985018ac46c', class: "control-wrapper", style: {
36481
+ })), hAsync("div", { key: 'db28ea61c349d7aaf057e84b607c4f851b3f6712', class: "control-wrapper", style: {
36360
36482
  right: '0',
36361
36483
  visibility: this.showNext ? 'visible' : 'hidden'
36362
- } }, 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' }))));
36484
+ } }, 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() }))));
36363
36485
  }
36486
+ get hostElement() { return getElement(this); }
36364
36487
  static get watchers() { return {
36365
36488
  "activeTab": [{
36366
36489
  "syncPanels": 0
@@ -36489,16 +36612,28 @@ class NavigationVerticalMenu {
36489
36612
  }
36490
36613
  }
36491
36614
  componentWillLoad() {
36492
- this.getListItems();
36493
- this.initNav();
36494
- this.setLevelClass();
36615
+ this.syncNav();
36616
+ // Angular attaches the host first and slots children on the next frame
36617
+ // (Stencil 4.36+). React/vanilla that already have slotted nodes skip
36618
+ // the delay. Do not warn here — Angular/React may still be projecting.
36619
+ if (!this.hostElement.children.length) {
36620
+ return new Promise((resolve) => {
36621
+ requestAnimationFrame(() => {
36622
+ this.syncNav();
36623
+ resolve();
36624
+ });
36625
+ });
36626
+ }
36495
36627
  }
36496
36628
  componentDidLoad() {
36497
36629
  this.initCurrentActiveLevel();
36498
36630
  this.afOnReady.emit();
36499
36631
  }
36500
36632
  componentWillUpdate() {
36501
- this.getListItems();
36633
+ this.syncNav();
36634
+ }
36635
+ syncNav(options) {
36636
+ this.getListItems(options);
36502
36637
  this.initNav();
36503
36638
  this.setLevelClass();
36504
36639
  }
@@ -36548,12 +36683,12 @@ class NavigationVerticalMenu {
36548
36683
  }
36549
36684
  }
36550
36685
  setLevelClass() {
36551
- this.hostElement
36552
- .querySelector('ul')
36553
- .classList.remove('primary', 'secondary');
36554
- this.hostElement
36555
- .querySelector('ul')
36556
- .classList.add('digi-navigation-vertical-menu__list--root', this.afVariation);
36686
+ const rootList = this.hostElement.querySelector('ul');
36687
+ if (!rootList) {
36688
+ return;
36689
+ }
36690
+ rootList.classList.remove('primary', 'secondary');
36691
+ rootList.classList.add('digi-navigation-vertical-menu__list--root', this.afVariation);
36557
36692
  }
36558
36693
  initNav() {
36559
36694
  const $ul = this.hostElement.querySelectorAll('ul');
@@ -36566,10 +36701,12 @@ class NavigationVerticalMenu {
36566
36701
  this.initNav();
36567
36702
  this.setClasses(e);
36568
36703
  }
36569
- getListItems() {
36704
+ getListItems(options) {
36570
36705
  const menuItems = this.hostElement.children;
36571
36706
  if (!menuItems || menuItems.length <= 0) {
36572
- logger.warn(`The slot contains no children elements.`, this.hostElement);
36707
+ if (options === null || options === void 0 ? void 0 : options.warnIfEmpty) {
36708
+ logger.warn(`The slot contains no children elements.`, this.hostElement);
36709
+ }
36573
36710
  return;
36574
36711
  }
36575
36712
  this.listItems = [...Array.from(menuItems)].map((filter) => {
@@ -36588,7 +36725,7 @@ class NavigationVerticalMenu {
36588
36725
  };
36589
36726
  }
36590
36727
  render() {
36591
- 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' })));
36728
+ 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() })));
36592
36729
  }
36593
36730
  get hostElement() { return getElement(this); }
36594
36731
  static get style() { return navigationVerticalMenuCss(); }
@@ -39696,7 +39833,7 @@ class UtilResizeObserver {
39696
39833
  }; }
39697
39834
  }
39698
39835
 
39699
- 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}`;
39836
+ 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}`;
39700
39837
 
39701
39838
  /**
39702
39839
  *
@@ -39872,6 +40009,8 @@ class barChart {
39872
40009
  };
39873
40010
  // Resizing chart while loading
39874
40011
  this.loadingResize = () => {
40012
+ if (!this.barSelection || !this.xScale)
40013
+ return;
39875
40014
  const newHeight = this.setDims();
39876
40015
  this.barChartContainer.attr('transform', `translate(${this.margin.left + this.tickPadding + this.yTickSize},0)`);
39877
40016
  this.margin.right =
@@ -40133,6 +40272,8 @@ class barChart {
40133
40272
  return toReturn;
40134
40273
  };
40135
40274
  this.adjustBarSize = () => {
40275
+ if (!this.barSelection)
40276
+ return;
40136
40277
  this.barSelection
40137
40278
  .selectAll('.bar')
40138
40279
  .attr('x', this.xFunction)
@@ -40565,13 +40706,13 @@ class barChart {
40565
40706
  this.initBarText();
40566
40707
  };
40567
40708
  // Removes resize observer for chart and inits table
40568
- this.activateTable = (event) => {
40709
+ this.activateTable = () => {
40569
40710
  this.closeTooltip();
40570
40711
  this.barChartObserver.disconnect();
40571
40712
  this.status.innerHTML = '<p>Visas som tabell</p>';
40572
40713
  select(this.host).select('.tableButton').style('display', 'none');
40573
40714
  select(this.host).select('.chartButton').style('display', null);
40574
- event.target.nextSibling.lastChild.focus();
40715
+ this.focusHostButton('.chartButton');
40575
40716
  const duration = 150;
40576
40717
  this.svg
40577
40718
  .attr('opacity', 1)
@@ -40602,11 +40743,11 @@ class barChart {
40602
40743
  .style('opacity', 0);
40603
40744
  };
40604
40745
  // Removes observer and calls init functions for line chart
40605
- this.reInitChart = (event) => {
40746
+ this.reInitChart = () => {
40606
40747
  this.status.innerHTML = '<p>Visas som diagram</p>';
40607
40748
  select(this.host).select('.tableButton').style('display', null);
40608
40749
  select(this.host).select('.chartButton').style('display', 'none');
40609
- event.target.previousSibling.lastChild.focus();
40750
+ this.focusHostButton('.tableButton');
40610
40751
  const table = select(this.tableDiv);
40611
40752
  const duration = 150;
40612
40753
  table
@@ -40632,14 +40773,33 @@ class barChart {
40632
40773
  });
40633
40774
  };
40634
40775
  }
40635
- afChartDataUpdate(data) {
40636
- if ((typeof data === 'string' && Object.keys(JSON.parse(data)).length > 0) ||
40637
- (typeof data !== 'string' && Object.keys(data).length > 0)) {
40638
- if (typeof data != 'string')
40639
- this.chartData = data;
40640
- else
40641
- this.chartData = JSON.parse(data);
40642
- this.series = this.chartData.data.series.map((serie) => serie.title);
40776
+ afChartDataUpdate() {
40777
+ const data = this.afChartData;
40778
+ // Angular/React can connect the element before afChartData is set.
40779
+ if (data == null || data === '') {
40780
+ this.mappedData = this.reshapeData();
40781
+ return;
40782
+ }
40783
+ try {
40784
+ let parsed;
40785
+ if (typeof data === 'string') {
40786
+ parsed = JSON.parse(data);
40787
+ }
40788
+ else if (typeof data === 'object') {
40789
+ parsed = data;
40790
+ }
40791
+ else {
40792
+ this.mappedData = this.reshapeData();
40793
+ return;
40794
+ }
40795
+ if (parsed && Object.keys(parsed).length > 0) {
40796
+ this.chartData = parsed;
40797
+ this.series = this.chartData.data.series.map((serie) => serie.title);
40798
+ }
40799
+ }
40800
+ catch (_a) {
40801
+ logger.warn(`Invalid JSON in "af-chart-data" attribute`, this.hostElement);
40802
+ return;
40643
40803
  }
40644
40804
  this.mappedData = this.reshapeData();
40645
40805
  // checking for width of each tick
@@ -40650,6 +40810,17 @@ class barChart {
40650
40810
  if (this.dataWidth > 1)
40651
40811
  this.barGap = 1;
40652
40812
  }
40813
+ hasChartData() {
40814
+ return !!this.chartData && Object.keys(this.chartData).length > 0;
40815
+ }
40816
+ focusHostButton(selector) {
40817
+ var _a, _b;
40818
+ const host = this.host;
40819
+ 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);
40820
+ if (button && typeof button.focus === 'function') {
40821
+ button.focus();
40822
+ }
40823
+ }
40653
40824
  initSvg() {
40654
40825
  var _a, _b, _c, _d, _e, _f, _g;
40655
40826
  // Fetch number formatting
@@ -41211,10 +41382,25 @@ class barChart {
41211
41382
  Math.min(255, Math.max(0, parseInt(color, 16) + amount)).toString(16)).substr(-2)));
41212
41383
  }
41213
41384
  componentWillLoad() {
41214
- this.afChartDataUpdate(this.afChartData);
41385
+ this.afChartDataUpdate();
41386
+ // Angular attaches the host first and binds `[afChartData]` on the next
41387
+ // frame (Stencil 4.36+). @Watch skips that first assignment, so if chart
41388
+ // data is not here yet, wait one frame. React/vanilla that already set
41389
+ // the prop skip the delay.
41390
+ if (!this.hasChartData()) {
41391
+ return new Promise((resolve) => {
41392
+ requestAnimationFrame(() => {
41393
+ this.afChartDataUpdate();
41394
+ resolve();
41395
+ });
41396
+ });
41397
+ }
41215
41398
  }
41216
41399
  componentDidLoad() {
41217
- if (!this.chartData || Object.keys(this.chartData).length === 0) {
41400
+ if (!this.hasChartData()) {
41401
+ this.afChartDataUpdate();
41402
+ }
41403
+ if (!this.hasChartData()) {
41218
41404
  this.loading = true;
41219
41405
  return this.initEmpty();
41220
41406
  }
@@ -41233,7 +41419,7 @@ class barChart {
41233
41419
  }
41234
41420
  componentDidUpdate() {
41235
41421
  if (this.tableDiv.style['display'] != 'block' &&
41236
- Object.keys(this.chartData).length === 0) {
41422
+ !this.hasChartData()) {
41237
41423
  // Disconnect old barchartobserver while doing resizing
41238
41424
  this.barChartObserver.disconnect();
41239
41425
  return this.loadingState();
@@ -41313,7 +41499,7 @@ class barChart {
41313
41499
  if (this.chartData.infoText)
41314
41500
  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>`;
41315
41501
  }
41316
- 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) }, ' ')));
41502
+ 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) }, ' ')));
41317
41503
  }
41318
41504
  get hostElement() { return getElement(this); }
41319
41505
  static get watchers() { return {