@designsystem-se/af 39.2.1 → 39.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) 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-navigation-vertical-menu.js +27 -13
  7. package/components/digi-tablist.js +36 -13
  8. package/components/{p-CrUxQ9d0.js → p-C5A2t93y.js} +1 -1
  9. package/dist/cjs/{calendar-week-view-heading-level.enum-NEkm5SUq.js → calendar-week-view-heading-level.enum-BI2f9bbk.js} +7 -0
  10. package/dist/cjs/digi-arbetsformedlingen.cjs.js +1 -1
  11. package/dist/cjs/{digi-button_5.cjs.entry.js → digi-badge-notification_8.cjs.entry.js} +436 -7
  12. package/dist/cjs/digi-bar-chart.cjs.entry.js +67 -17
  13. package/dist/cjs/digi-calendar-datepicker.cjs.entry.js +1 -2
  14. package/dist/cjs/digi-calendar_2.cjs.entry.js +1 -1
  15. package/dist/cjs/digi-chart-line.cjs.entry.js +57 -14
  16. package/dist/cjs/digi-code-block_3.cjs.entry.js +1 -2
  17. package/dist/cjs/digi-dialog.cjs.entry.js +1 -2
  18. package/dist/cjs/digi-footer.cjs.entry.js +1 -2
  19. package/dist/cjs/digi-form-error-list.cjs.entry.js +1 -2
  20. package/dist/cjs/digi-form-receipt.cjs.entry.js +1 -2
  21. package/dist/cjs/digi-form-select-filter.cjs.entry.js +1 -2
  22. package/dist/cjs/digi-header-navigation.cjs.entry.js +1 -2
  23. package/dist/cjs/digi-header.cjs.entry.js +1 -2
  24. package/dist/cjs/digi-navigation-pagination.cjs.entry.js +1 -2
  25. package/dist/cjs/digi-navigation-vertical-menu.cjs.entry.js +27 -13
  26. package/dist/cjs/digi-notification-alert.cjs.entry.js +1 -2
  27. package/dist/cjs/digi-notification-error-page.cjs.entry.js +1 -2
  28. package/dist/cjs/digi-title-logo.cjs.entry.js +1 -2
  29. package/dist/cjs/digi-tools-feedback.cjs.entry.js +1 -2
  30. package/dist/cjs/index-Cn1hHaSy.js +2 -14
  31. package/dist/cjs/index.cjs.js +6 -7
  32. package/dist/cjs/loader.cjs.js +1 -1
  33. package/dist/collection/components/_calendar/calendar/calendar.css +5 -6
  34. package/dist/collection/components/_calendar/week-view/calendar-week-view.js +53 -8
  35. package/dist/collection/components/_chart/bar-chart/bar-chart.css +1 -1
  36. package/dist/collection/components/_chart/bar-chart/bar-chart.js +66 -16
  37. package/dist/collection/components/_chart/chart-line/chart-line.js +57 -14
  38. package/dist/collection/components/_navigation/navigation-tablist/navigation-tablist.js +36 -13
  39. package/dist/collection/components/_navigation/navigation-vertical-menu/navigation-vertical-menu.js +27 -13
  40. package/dist/collection/design-tokens/components/_logo.variables.scss +2 -0
  41. package/dist/digi-arbetsformedlingen/digi-arbetsformedlingen.esm.js +1 -1
  42. package/dist/digi-arbetsformedlingen/index.esm.js +1 -1
  43. package/dist/digi-arbetsformedlingen/p-0f7e995a.entry.js +1 -0
  44. package/dist/digi-arbetsformedlingen/p-26f6a310.entry.js +1 -0
  45. package/dist/digi-arbetsformedlingen/p-3b42582a.entry.js +1 -0
  46. package/dist/digi-arbetsformedlingen/p-4384644b.entry.js +1 -0
  47. package/dist/digi-arbetsformedlingen/p-47513f97.entry.js +1 -0
  48. package/dist/digi-arbetsformedlingen/p-569c628c.entry.js +1 -0
  49. package/dist/digi-arbetsformedlingen/p-668d38d9.entry.js +1 -0
  50. package/dist/digi-arbetsformedlingen/p-66f34ca5.entry.js +1 -0
  51. package/dist/digi-arbetsformedlingen/p-6cb1c6ea.entry.js +1 -0
  52. package/dist/digi-arbetsformedlingen/p-6e256f0c.entry.js +1 -0
  53. package/dist/digi-arbetsformedlingen/p-71a8478d.entry.js +1 -0
  54. package/dist/digi-arbetsformedlingen/p-9df345c4.entry.js +1 -0
  55. package/dist/digi-arbetsformedlingen/p-BBOpiDGx.js +1 -0
  56. package/dist/digi-arbetsformedlingen/p-a1deddb1.entry.js +1 -0
  57. package/dist/digi-arbetsformedlingen/p-beebbc90.entry.js +1 -0
  58. package/dist/digi-arbetsformedlingen/{p-ee58a938.entry.js → p-c7ade486.entry.js} +1 -1
  59. package/dist/digi-arbetsformedlingen/p-d065e751.entry.js +1 -0
  60. package/dist/digi-arbetsformedlingen/p-d150094c.entry.js +1 -0
  61. package/dist/digi-arbetsformedlingen/p-df8efa59.entry.js +1 -0
  62. package/dist/digi-arbetsformedlingen/p-e2b0b070.entry.js +1 -0
  63. package/dist/esm/{calendar-week-view-heading-level.enum-DH_-wpLB.js → calendar-week-view-heading-level.enum-BBOpiDGx.js} +8 -1
  64. package/dist/esm/digi-arbetsformedlingen.js +1 -1
  65. package/dist/esm/{digi-button_5.entry.js → digi-badge-notification_8.entry.js} +435 -9
  66. package/dist/esm/digi-bar-chart.entry.js +67 -17
  67. package/dist/esm/digi-calendar-datepicker.entry.js +1 -2
  68. package/dist/esm/digi-calendar_2.entry.js +1 -1
  69. package/dist/esm/digi-chart-line.entry.js +57 -14
  70. package/dist/esm/digi-code-block_3.entry.js +1 -2
  71. package/dist/esm/digi-dialog.entry.js +1 -2
  72. package/dist/esm/digi-footer.entry.js +1 -2
  73. package/dist/esm/digi-form-error-list.entry.js +1 -2
  74. package/dist/esm/digi-form-receipt.entry.js +1 -2
  75. package/dist/esm/digi-form-select-filter.entry.js +1 -2
  76. package/dist/esm/digi-header-navigation.entry.js +1 -2
  77. package/dist/esm/digi-header.entry.js +1 -2
  78. package/dist/esm/digi-navigation-pagination.entry.js +1 -2
  79. package/dist/esm/digi-navigation-vertical-menu.entry.js +27 -13
  80. package/dist/esm/digi-notification-alert.entry.js +1 -2
  81. package/dist/esm/digi-notification-error-page.entry.js +1 -2
  82. package/dist/esm/digi-title-logo.entry.js +1 -2
  83. package/dist/esm/digi-tools-feedback.entry.js +1 -2
  84. package/dist/esm/index-BnKuq1L7.js +2 -14
  85. package/dist/esm/index.js +1 -2
  86. package/dist/esm/loader.js +1 -1
  87. package/dist/types/components/_calendar/week-view/calendar-week-view.d.ts +4 -2
  88. package/dist/types/components/_chart/bar-chart/bar-chart.d.ts +4 -2
  89. package/dist/types/components/_chart/chart-line/chart-line.d.ts +3 -1
  90. package/dist/types/components/_navigation/navigation-tablist/navigation-tablist.d.ts +4 -2
  91. package/dist/types/components/_navigation/navigation-vertical-menu/navigation-vertical-menu.d.ts +7 -2
  92. package/dist/types/components.d.ts +3 -3
  93. package/hydrate/index.js +236 -64
  94. package/hydrate/index.mjs +236 -64
  95. package/package.json +1 -1
  96. package/dist/cjs/badge-notification-shape.enum-CEyEo2G5.js +0 -8
  97. package/dist/cjs/digi-badge-notification.cjs.entry.js +0 -65
  98. package/dist/cjs/digi-tablist-panel.cjs.entry.js +0 -20
  99. package/dist/cjs/digi-tablist.cjs.entry.js +0 -289
  100. package/dist/digi-arbetsformedlingen/p-0394e694.entry.js +0 -1
  101. package/dist/digi-arbetsformedlingen/p-09b52191.entry.js +0 -1
  102. package/dist/digi-arbetsformedlingen/p-0c88f210.entry.js +0 -1
  103. package/dist/digi-arbetsformedlingen/p-151248bf.entry.js +0 -1
  104. package/dist/digi-arbetsformedlingen/p-26099889.entry.js +0 -1
  105. package/dist/digi-arbetsformedlingen/p-52a27991.entry.js +0 -1
  106. package/dist/digi-arbetsformedlingen/p-5ee5766d.entry.js +0 -1
  107. package/dist/digi-arbetsformedlingen/p-626c1bf5.entry.js +0 -1
  108. package/dist/digi-arbetsformedlingen/p-674a7a94.entry.js +0 -1
  109. package/dist/digi-arbetsformedlingen/p-6c1fd994.entry.js +0 -1
  110. package/dist/digi-arbetsformedlingen/p-7682ad6f.entry.js +0 -1
  111. package/dist/digi-arbetsformedlingen/p-7f180ce2.entry.js +0 -1
  112. package/dist/digi-arbetsformedlingen/p-88bec555.entry.js +0 -1
  113. package/dist/digi-arbetsformedlingen/p-CKoZU0-H.js +0 -1
  114. package/dist/digi-arbetsformedlingen/p-DH_-wpLB.js +0 -1
  115. package/dist/digi-arbetsformedlingen/p-a556608d.entry.js +0 -1
  116. package/dist/digi-arbetsformedlingen/p-b3410fbd.entry.js +0 -1
  117. package/dist/digi-arbetsformedlingen/p-e002ceb8.entry.js +0 -1
  118. package/dist/digi-arbetsformedlingen/p-e6ee5a17.entry.js +0 -1
  119. package/dist/digi-arbetsformedlingen/p-ec6dd177.entry.js +0 -1
  120. package/dist/digi-arbetsformedlingen/p-eee1b91f.entry.js +0 -1
  121. package/dist/digi-arbetsformedlingen/p-fea63204.entry.js +0 -1
  122. package/dist/digi-arbetsformedlingen/p-ff73fa2f.entry.js +0 -1
  123. package/dist/esm/badge-notification-shape.enum-CKoZU0-H.js +0 -8
  124. package/dist/esm/digi-badge-notification.entry.js +0 -63
  125. package/dist/esm/digi-tablist-panel.entry.js +0 -18
  126. package/dist/esm/digi-tablist.entry.js +0 -287
@@ -4,6 +4,7 @@ var index = require('./index-Cn1hHaSy.js');
4
4
  var transform = require('./transform-DteoCOaq.js');
5
5
  var text = require('./text-Cu3CaHGj.js');
6
6
  var randomIdGenerator_util = require('./randomIdGenerator.util-C8XR2Tn1.js');
7
+ var logger_util = require('./logger.util-DUhrcCTY.js');
7
8
  var barChartVariation_enum = require('./bar-chart-variation.enum-BZFN4377.js');
8
9
 
9
10
  function band() {
@@ -86,7 +87,7 @@ function band() {
86
87
  return transform.initRange.apply(rescale(), arguments);
87
88
  }
88
89
 
89
- 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}`;
90
+ 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}`;
90
91
 
91
92
  const barChart = class {
92
93
  constructor(hostRef) {
@@ -256,6 +257,8 @@ const barChart = class {
256
257
  };
257
258
  // Resizing chart while loading
258
259
  this.loadingResize = () => {
260
+ if (!this.barSelection || !this.xScale)
261
+ return;
259
262
  const newHeight = this.setDims();
260
263
  this.barChartContainer.attr('transform', `translate(${this.margin.left + this.tickPadding + this.yTickSize},0)`);
261
264
  this.margin.right =
@@ -517,6 +520,8 @@ const barChart = class {
517
520
  return toReturn;
518
521
  };
519
522
  this.adjustBarSize = () => {
523
+ if (!this.barSelection)
524
+ return;
520
525
  this.barSelection
521
526
  .selectAll('.bar')
522
527
  .attr('x', this.xFunction)
@@ -949,13 +954,13 @@ const barChart = class {
949
954
  this.initBarText();
950
955
  };
951
956
  // Removes resize observer for chart and inits table
952
- this.activateTable = (event) => {
957
+ this.activateTable = () => {
953
958
  this.closeTooltip();
954
959
  this.barChartObserver.disconnect();
955
960
  this.status.innerHTML = '<p>Visas som tabell</p>';
956
961
  transform.select(this.host).select('.tableButton').style('display', 'none');
957
962
  transform.select(this.host).select('.chartButton').style('display', null);
958
- event.target.nextSibling.lastChild.focus();
963
+ this.focusHostButton('.chartButton');
959
964
  const duration = 150;
960
965
  this.svg
961
966
  .attr('opacity', 1)
@@ -986,11 +991,11 @@ const barChart = class {
986
991
  .style('opacity', 0);
987
992
  };
988
993
  // Removes observer and calls init functions for line chart
989
- this.reInitChart = (event) => {
994
+ this.reInitChart = () => {
990
995
  this.status.innerHTML = '<p>Visas som diagram</p>';
991
996
  transform.select(this.host).select('.tableButton').style('display', null);
992
997
  transform.select(this.host).select('.chartButton').style('display', 'none');
993
- event.target.previousSibling.lastChild.focus();
998
+ this.focusHostButton('.tableButton');
994
999
  const table = transform.select(this.tableDiv);
995
1000
  const duration = 150;
996
1001
  table
@@ -1016,14 +1021,33 @@ const barChart = class {
1016
1021
  });
1017
1022
  };
1018
1023
  }
1019
- afChartDataUpdate(data) {
1020
- if ((typeof data === 'string' && Object.keys(JSON.parse(data)).length > 0) ||
1021
- (typeof data !== 'string' && Object.keys(data).length > 0)) {
1022
- if (typeof data != 'string')
1023
- this.chartData = data;
1024
- else
1025
- this.chartData = JSON.parse(data);
1026
- this.series = this.chartData.data.series.map((serie) => serie.title);
1024
+ afChartDataUpdate() {
1025
+ const data = this.afChartData;
1026
+ // Angular/React can connect the element before afChartData is set.
1027
+ if (data == null || data === '') {
1028
+ this.mappedData = this.reshapeData();
1029
+ return;
1030
+ }
1031
+ try {
1032
+ let parsed;
1033
+ if (typeof data === 'string') {
1034
+ parsed = JSON.parse(data);
1035
+ }
1036
+ else if (typeof data === 'object') {
1037
+ parsed = data;
1038
+ }
1039
+ else {
1040
+ this.mappedData = this.reshapeData();
1041
+ return;
1042
+ }
1043
+ if (parsed && Object.keys(parsed).length > 0) {
1044
+ this.chartData = parsed;
1045
+ this.series = this.chartData.data.series.map((serie) => serie.title);
1046
+ }
1047
+ }
1048
+ catch (_a) {
1049
+ logger_util.logger.warn(`Invalid JSON in "af-chart-data" attribute`, this.hostElement);
1050
+ return;
1027
1051
  }
1028
1052
  this.mappedData = this.reshapeData();
1029
1053
  // checking for width of each tick
@@ -1034,6 +1058,17 @@ const barChart = class {
1034
1058
  if (this.dataWidth > 1)
1035
1059
  this.barGap = 1;
1036
1060
  }
1061
+ hasChartData() {
1062
+ return !!this.chartData && Object.keys(this.chartData).length > 0;
1063
+ }
1064
+ focusHostButton(selector) {
1065
+ var _a, _b;
1066
+ const host = this.host;
1067
+ 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);
1068
+ if (button && typeof button.focus === 'function') {
1069
+ button.focus();
1070
+ }
1071
+ }
1037
1072
  initSvg() {
1038
1073
  var _a, _b, _c, _d, _e, _f, _g;
1039
1074
  // Fetch number formatting
@@ -1595,10 +1630,25 @@ const barChart = class {
1595
1630
  Math.min(255, Math.max(0, parseInt(color, 16) + amount)).toString(16)).substr(-2)));
1596
1631
  }
1597
1632
  componentWillLoad() {
1598
- this.afChartDataUpdate(this.afChartData);
1633
+ this.afChartDataUpdate();
1634
+ // Angular attaches the host first and binds `[afChartData]` on the next
1635
+ // frame (Stencil 4.36+). @Watch skips that first assignment, so if chart
1636
+ // data is not here yet, wait one frame. React/vanilla that already set
1637
+ // the prop skip the delay.
1638
+ if (!this.hasChartData()) {
1639
+ return new Promise((resolve) => {
1640
+ requestAnimationFrame(() => {
1641
+ this.afChartDataUpdate();
1642
+ resolve();
1643
+ });
1644
+ });
1645
+ }
1599
1646
  }
1600
1647
  componentDidLoad() {
1601
- if (!this.chartData || Object.keys(this.chartData).length === 0) {
1648
+ if (!this.hasChartData()) {
1649
+ this.afChartDataUpdate();
1650
+ }
1651
+ if (!this.hasChartData()) {
1602
1652
  this.loading = true;
1603
1653
  return this.initEmpty();
1604
1654
  }
@@ -1617,7 +1667,7 @@ const barChart = class {
1617
1667
  }
1618
1668
  componentDidUpdate() {
1619
1669
  if (this.tableDiv.style['display'] != 'block' &&
1620
- Object.keys(this.chartData).length === 0) {
1670
+ !this.hasChartData()) {
1621
1671
  // Disconnect old barchartobserver while doing resizing
1622
1672
  this.barChartObserver.disconnect();
1623
1673
  return this.loadingState();
@@ -1697,7 +1747,7 @@ const barChart = class {
1697
1747
  if (this.chartData.infoText)
1698
1748
  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>`;
1699
1749
  }
1700
- return (index.h(index.Host, { key: 'cb70095467051cf1142891bc63694623e707d92f', ref: (el) => (this.host = el) }, index.h("svg", { key: 'c040fe2f27d9a5e3de1471fe7e4d853757f6a754', xmlns: "http://www.w3.org/2000/svg", width: "0", height: "0" }, index.h("defs", { key: '17fd52f2cac5a3225e097aee80e8dc1a99909840' }, index.h("pattern", { key: '2940e729359dad1acc4635363cd5a8f3ee4d8ea1', id: "prognosis", patternUnits: "userSpaceOnUse", width: "8", height: "8", patternTransform: "rotate(45)" }, index.h("rect", { key: '4b47d41ea9f4699a4bcc7b0f04d00b8bbd124946', width: "8", height: "8", fill: "white" }), index.h("line", { key: 'd5c3a32fb715a5271a784771d9812ea599390fc3', x1: "0", y: "0", x2: "0", y2: "12", stroke: this.evalColorVar(this.colorPalettes[0]), "stroke-width": "8" })), index.h("pattern", { key: '8038bb4d62fd87a118e0bcf4e750165eed48f789', id: "prognosisInactive", patternUnits: "userSpaceOnUse", width: "8", height: "8", patternTransform: "rotate(45)" }, index.h("rect", { key: 'b1247b7d27e73836c7b5a05fb77a872e89853d3b', width: "8", height: "8", fill: "white" }), index.h("line", { key: '14265bcba469f08b890654315a86d6278271d64d', x1: "0", y: "0", x2: "0", y2: "12", stroke: this.evalColorVar('--digi--color--background--secondary-accent'), "stroke-width": "8" })), index.h("pattern", { key: '4069999fd742795379f093c83c00cca488b6139c', id: "prognosisHighlight", patternUnits: "userSpaceOnUse", width: "8", height: "8", patternTransform: "rotate(45)" }, index.h("rect", { key: 'c525ae39e05acf3e7522f1b92feffdfe5221e528', width: "8", height: "8", fill: "white" }), index.h("line", { key: 'fa183e0678f6f3794e094b97975fe96955b49e0a', x1: "0", y: "0", x2: "0", y2: "12", stroke: this.adjustColor(this.colorFunction(0), 50), "stroke-width": "8" })))), index.h("div", { key: 'b6e46d7f4701775a177b02a98f46ca40308e9938', class: "topWrapper", ref: (el) => (this.titleDiv = el) }, index.h("digi-typography", { key: '88d49833d43776a2bc23d7f73bb8cc9442350634', class: "chartTitle", innerHTML: heading }), index.h("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() : ''}` }, index.h("digi-icon-table", { key: '7712b56f991bb5214aa3bebb9e380221156b6bbf', slot: "icon" }), "Visa tabell"), index.h("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() : ''}` }, index.h("digi-icon-chart", { key: '260c432d04f8ea00216cd485b5ec3a29df4b4db1', slot: "icon" }), "Visa diagram"), index.h("div", { key: 'a7fd6276b5738e9cf040f0e9b99e983b27ec25cf', class: "scChartStatus", role: "status", ref: (el) => (this.status = el) })), index.h("div", { key: '705ec9e3931b91009ff565bbd8f4ba300bd8dbd7', class: "svgWrap", ref: (el) => (this.chartDiv = el) }, index.h("div", { key: '242fd5b7afba36df00aa7fb256bd8578712d25e7', class: "chartTooltip", id: this.afId }, index.h("div", { key: '6417cc30962396164fe4840ecfef62c4ef7591d6', class: "tooltipHead" }, index.h("digi-icon-x", { key: 'dc4edb442bfb342fbdb64b06e70f1e19ccc5ffb1', class: "tooltipClose" })), index.h("div", { key: 'da625c879d4c0eebffa02193dc36d794c755b768', class: "tooltipBody" }), this.afVariation === barChartVariation_enum.BarChartVariation.Horizontal ? (index.h("digi-icon-caret-up", { class: "caret" })) : (index.h("digi-icon-caret-down", { class: "caret" })))), index.h("div", { key: 'a003a616c2ee8b848d402b38009261539ebf0c50', class: "legendWrap", ref: (el) => (this.legendDiv = el) }, index.h("div", { key: '44a6db8daa836ccf910aafd6fd996f153c337bf4', class: "legend" })), index.h("div", { key: 'a872281035f2799fe8aa9128a953d0c5d9f6b2cc', class: "table", ref: (el) => (this.tableDiv = el) }, ' ')));
1750
+ return (index.h(index.Host, { key: '003845ddc03e2027721d5e75c82816faae5bde63', ref: (el) => (this.host = el) }, index.h("svg", { key: '054049009c8618211f9009961d238992c3d03c0e', xmlns: "http://www.w3.org/2000/svg", width: "0", height: "0" }, index.h("defs", { key: '16f32628ffd79e24b66e749666eccd6ae283a5b8' }, index.h("pattern", { key: '8aa5e0923086f740eeb02d71690ed16086205b0a', id: "prognosis", patternUnits: "userSpaceOnUse", width: "8", height: "8", patternTransform: "rotate(45)" }, index.h("rect", { key: '237569e79095a4a7c084aa91fd637dfbe385ca8b', width: "8", height: "8", fill: "white" }), index.h("line", { key: '6edeac6a60cef51561c8fd803b2e277b19b740bf', x1: "0", y: "0", x2: "0", y2: "12", stroke: this.evalColorVar(this.colorPalettes[0]), "stroke-width": "8" })), index.h("pattern", { key: 'bd40402b6fd33d50fc4dca709380108fe054f74c', id: "prognosisInactive", patternUnits: "userSpaceOnUse", width: "8", height: "8", patternTransform: "rotate(45)" }, index.h("rect", { key: 'a5dcf48112b024982f3410bc51eb05002c8c8dcc', width: "8", height: "8", fill: "white" }), index.h("line", { key: 'b76b6ae15b8a0ee9c37c28bf3f66613c9df1e9b8', x1: "0", y: "0", x2: "0", y2: "12", stroke: this.evalColorVar('--digi--color--background--secondary-accent'), "stroke-width": "8" })), index.h("pattern", { key: 'ef4782b914f2599424d5f3e6715cb69c4f0e4728', id: "prognosisHighlight", patternUnits: "userSpaceOnUse", width: "8", height: "8", patternTransform: "rotate(45)" }, index.h("rect", { key: '6501ba8a46f53b6c3309486d0795d348a8ec1fff', width: "8", height: "8", fill: "white" }), index.h("line", { key: 'b184212878587e1e15ebf40a472333851270b287', x1: "0", y: "0", x2: "0", y2: "12", stroke: this.adjustColor(this.colorFunction(0), 50), "stroke-width": "8" })))), index.h("div", { key: '02b5c9c63c327995f9603ffc84ab0455137ff43d', class: "topWrapper", ref: (el) => (this.titleDiv = el) }, index.h("digi-typography", { key: 'd8944066ab1a86ed71af7de4a018ef422cea75e9', class: "chartTitle", innerHTML: heading }), index.h("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() : ''}` }, index.h("digi-icon-table", { key: '5a8b44b3a201b4866b89fc4328ff0b46ac47c6e1', slot: "icon" }), "Visa tabell"), index.h("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() : ''}` }, index.h("digi-icon-chart", { key: '8f4e4f1bdabffd7ffd1532453b534a823ef65006', slot: "icon" }), "Visa diagram"), index.h("div", { key: '22535e8bfb69f96152e61295019d463cb69b70c3', class: "scChartStatus", role: "status", ref: (el) => (this.status = el) })), index.h("div", { key: '55e25140585469497ec501cd133cfc710bb88b43', class: "svgWrap", ref: (el) => (this.chartDiv = el) }, index.h("div", { key: '4d8cd2eb832770f94fdff5eec2f084e4ba5c96b8', class: "chartTooltip", id: this.afId }, index.h("div", { key: 'b805b20b746ce940ae5c20ef34898c3409cffecd', class: "tooltipHead" }, index.h("digi-icon-x", { key: 'c162d2b1e6e7aafddf0ac194705b436a5b02b392', class: "tooltipClose" })), index.h("div", { key: 'cdc876d4c88f50c7d95c22f4d0f683c2a5564235', class: "tooltipBody" }), this.afVariation === barChartVariation_enum.BarChartVariation.Horizontal ? (index.h("digi-icon-caret-up", { class: "caret" })) : (index.h("digi-icon-caret-down", { class: "caret" })))), index.h("div", { key: '8cb986f7466fdb42f6dc840c1371b25978ae4c66', class: "legendWrap", ref: (el) => (this.legendDiv = el) }, index.h("div", { key: '6761a567c03c8ade4206fb89cf9e7bd792c36e71', class: "legend" })), index.h("div", { key: 'ac251b6078602f9319447cfaa6444f0129e46c0f', class: "table", ref: (el) => (this.tableDiv = el) }, ' ')));
1701
1751
  }
1702
1752
  get hostElement() { return index.getElement(this); }
1703
1753
  static get watchers() { return {
@@ -2,12 +2,11 @@
2
2
 
3
3
  var index$2 = require('./index-Cn1hHaSy.js');
4
4
  var text = require('./text-Cu3CaHGj.js');
5
- require('./badge-notification-shape.enum-CEyEo2G5.js');
5
+ require('./calendar-week-view-heading-level.enum-BI2f9bbk.js');
6
6
  var typographyVariation_enum = require('./typography-variation.enum-BDSt7CVI.js');
7
7
  require('./badge-status-variation.enum-XX8d--rj.js');
8
8
  require('./button-variation.enum-ngMqFLdW.js');
9
9
  require('./button-type.enum-2UH0KkO-.js');
10
- require('./calendar-week-view-heading-level.enum-NEkm5SUq.js');
11
10
  require('./bar-chart-variation.enum-BZFN4377.js');
12
11
  require('./code-example-variation.enum-Cq-BioXW.js');
13
12
  require('./code-variation.enum-BM-hhQuD.js');
@@ -10,7 +10,7 @@ var index$1 = require('./index-Snltmefx.js');
10
10
  var index$2 = require('./index-r0sb9TCr.js');
11
11
  require('./detectClosest.util-D1z809xM.js');
12
12
 
13
- 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}`;
13
+ 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}`;
14
14
 
15
15
  const Calendar = class {
16
16
  constructor(hostRef) {
@@ -4,6 +4,7 @@ var index = require('./index-Cn1hHaSy.js');
4
4
  var text = require('./text-Cu3CaHGj.js');
5
5
  var transform = require('./transform-DteoCOaq.js');
6
6
  var randomIdGenerator_util = require('./randomIdGenerator.util-C8XR2Tn1.js');
7
+ var logger_util = require('./logger.util-DUhrcCTY.js');
7
8
 
8
9
  function sourceEvent(event) {
9
10
  let sourceEvent;
@@ -1583,14 +1584,14 @@ const ChartLine = class {
1583
1584
  });
1584
1585
  };
1585
1586
  // Removes resize observer for chart and inits table
1586
- this.activateTable = (event) => {
1587
+ this.activateTable = () => {
1587
1588
  this.closeTooltip();
1588
1589
  this.lineChartObserver.disconnect();
1589
1590
  this.tableObserver.observe(this._chartDiv);
1590
1591
  this._status.innerHTML = '<p>Visas som tabell</p>';
1591
1592
  transform.select(this._host).select('.tableButton').style('display', 'none');
1592
1593
  transform.select(this._host).select('.chartButton').style('display', null);
1593
- event.target.nextSibling.lastChild.focus();
1594
+ this.focusHostButton('.chartButton');
1594
1595
  const duration = 150;
1595
1596
  this._svg
1596
1597
  .attr('opacity', 1)
@@ -1621,12 +1622,12 @@ const ChartLine = class {
1621
1622
  this.setTableDimensions();
1622
1623
  };
1623
1624
  // Removes observer and calls init functions for line chart
1624
- this.reInitChart = (event) => {
1625
+ this.reInitChart = () => {
1625
1626
  this.tableObserver.disconnect();
1626
1627
  this._status.innerHTML = '<p>Visas som diagram</p>';
1627
1628
  transform.select(this._host).select('.tableButton').style('display', null);
1628
1629
  transform.select(this._host).select('.chartButton').style('display', 'none');
1629
- event.target.previousSibling.lastChild.focus();
1630
+ this.focusHostButton('.tableButton');
1630
1631
  const table = transform.select(this._tableDiv);
1631
1632
  table
1632
1633
  .style('opacity', 1)
@@ -1653,15 +1654,40 @@ const ChartLine = class {
1653
1654
  }
1654
1655
  afChartDataUpdate() {
1655
1656
  const data = this.afChartData;
1656
- if (typeof data === 'object') {
1657
- this._chartData = Object.assign({}, data);
1657
+ // Angular/React can connect the element before afChartData is set.
1658
+ if (data == null || data === '') {
1659
+ return;
1660
+ }
1661
+ try {
1662
+ if (typeof data === 'object') {
1663
+ this._chartData = Object.assign({}, data);
1664
+ }
1665
+ else if (typeof data === 'string') {
1666
+ this._chartData = JSON.parse(data);
1667
+ }
1668
+ else {
1669
+ return;
1670
+ }
1671
+ }
1672
+ catch (_a) {
1673
+ logger_util.logger.warn(`Invalid JSON in "af-chart-data" attribute`, this.element);
1658
1674
  return;
1659
1675
  }
1660
- this._chartData = JSON.parse(data);
1661
1676
  // Making deep copy of this
1662
1677
  if (this._chartData.data)
1663
1678
  this._coreSeries = JSON.parse(JSON.stringify(this._chartData.data.series));
1664
1679
  }
1680
+ hasChartData() {
1681
+ return !!this._chartData && Object.keys(this._chartData).length > 0;
1682
+ }
1683
+ focusHostButton(selector) {
1684
+ var _a, _b;
1685
+ const host = this._host;
1686
+ 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);
1687
+ if (button && typeof button.focus === 'function') {
1688
+ button.focus();
1689
+ }
1690
+ }
1665
1691
  initSvg() {
1666
1692
  this.margin.bottom =
1667
1693
  Number(window
@@ -2125,9 +2151,24 @@ const ChartLine = class {
2125
2151
  }
2126
2152
  componentWillLoad() {
2127
2153
  this.afChartDataUpdate();
2154
+ // Angular attaches the host first and binds `[afChartData]` on the next
2155
+ // frame (Stencil 4.36+). @Watch skips that first assignment, so if chart
2156
+ // data is not here yet, wait one frame. React/vanilla that already set
2157
+ // the prop skip the delay.
2158
+ if (!this.hasChartData()) {
2159
+ return new Promise((resolve) => {
2160
+ requestAnimationFrame(() => {
2161
+ this.afChartDataUpdate();
2162
+ resolve();
2163
+ });
2164
+ });
2165
+ }
2128
2166
  }
2129
2167
  componentDidLoad() {
2130
- if (Object.keys(this._chartData).length === 0)
2168
+ if (!this.hasChartData()) {
2169
+ this.afChartDataUpdate();
2170
+ }
2171
+ if (!this.hasChartData())
2131
2172
  return this.initEmpty();
2132
2173
  // clearing selection
2133
2174
  this._selectedLines = [];
@@ -2143,7 +2184,7 @@ const ChartLine = class {
2143
2184
  this._prevHeight = transform.select(this._titleDiv).style('height');
2144
2185
  }
2145
2186
  componentDidUpdate() {
2146
- if (Object.keys(this._chartData).length === 0)
2187
+ if (!this.hasChartData())
2147
2188
  return this.loadingState();
2148
2189
  // clearing selection
2149
2190
  this._selectedLines = [];
@@ -2300,11 +2341,13 @@ const ChartLine = class {
2300
2341
  }
2301
2342
  render() {
2302
2343
  let heading = '';
2303
- if (!this._chartData.subTitle)
2304
- heading = `<${this.afHeadingLevel}>${this._chartData.title}</${this.afHeadingLevel}>`;
2305
- else
2306
- heading = `<${this.afHeadingLevel}>${this._chartData.title}</${this.afHeadingLevel}><p>${this._chartData.subTitle}</p>`;
2307
- return (index.h("host", { key: 'a21c09ee91ccabf90f91d2344d301d26710f9a60', ref: (el) => (this._host = el) }, index.h("div", { key: 'c97af6a0bbc28675a19c843a3c355b35397e5804', class: "topWrapper", ref: (el) => (this._titleDiv = el) }, index.h("digi-typography", { key: '76085c6924fd317d4a281e93ca4623b85f0fb867', class: "chartTitle", innerHTML: heading }), index.h("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() : ''}` }, index.h("digi-icon-table", { key: '5cc0d03d40d076481d14d0478390b131cdaa61f7', slot: "icon" }), "Visa tabell"), index.h("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() : ''}` }, index.h("digi-icon-chart", { key: 'f0a5c78bc5e04db994559f2ce1a13c0e7285c36d', slot: "icon" }), "Visa diagram"), index.h("div", { key: 'f7ebab0f90d1a9f9a306470c93ccaaaf0461a9a7', class: "scChartStatus", role: "status", ref: (el) => (this._status = el) })), index.h("div", { key: '75672c02d61a14741348dc183782df71f3a4db19', class: "chartTooltip", id: this.afId }, index.h("div", { key: 'b4e03381d825d68af2bdbf859458896c639b6559', class: "tooltipHead" }, index.h("digi-icon-x", { key: '1301ab00ff3818e0940e69f17aa09b296c04a86c', class: "close" }), ' '), index.h("div", { key: 'eb01d362db4495c0a3d4396ad4c71c2a952114ad', class: "tooltipBody" })), index.h("div", { key: 'accd6776d3db14c662ff84b2e826f6cf713ff38d', class: "chart", ref: (el) => (this._chartDiv = el) }), index.h("div", { key: '507dfba00c88d5b371fd8304053b9b7762506d25', class: "legend", ref: (el) => (this._legendDiv = el) }), index.h("div", { key: 'cb3fc091c6a557bfd62e8f7d59863e973da0ee53', class: "table", ref: (el) => (this._tableDiv = el) }, ' ')));
2344
+ if (this._chartData) {
2345
+ if (!this._chartData.subTitle)
2346
+ heading = `<${this.afHeadingLevel}>${this._chartData.title}</${this.afHeadingLevel}>`;
2347
+ else
2348
+ heading = `<${this.afHeadingLevel}>${this._chartData.title}</${this.afHeadingLevel}><p>${this._chartData.subTitle}</p>`;
2349
+ }
2350
+ return (index.h("host", { key: '93603df9b78fcce8b5735b4a874f879cf7b2326e', ref: (el) => (this._host = el) }, index.h("div", { key: '094a790864b72bbb9a802b461db06ce312c627c8', class: "topWrapper", ref: (el) => (this._titleDiv = el) }, index.h("digi-typography", { key: '5f4bd51fdfef816b0e127d1177c60f8310952173', class: "chartTitle", innerHTML: heading }), index.h("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() : ''}` }, index.h("digi-icon-table", { key: '750f1b621eb0a1a54ec810aa63624237bd98f9ea', slot: "icon" }), "Visa tabell"), index.h("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() : ''}` }, index.h("digi-icon-chart", { key: '9dce5df1a96d4b818597854f7ee238fefda2c686', slot: "icon" }), "Visa diagram"), index.h("div", { key: '204f5824b2f34b3a1a1401ed4434e1fcb16a2549', class: "scChartStatus", role: "status", ref: (el) => (this._status = el) })), index.h("div", { key: 'b164f59f1c741db5493af57510eab2987cabefc6', class: "chartTooltip", id: this.afId }, index.h("div", { key: 'e84bf8a85a745977006d50f296d1afee2ee35698', class: "tooltipHead" }, index.h("digi-icon-x", { key: '77bcd0342c828dbcbe020a9ffefe4ae6f3086572', class: "close" }), ' '), index.h("div", { key: '330f69a58082f72b528095ef49a2371fc8b0d8e5', class: "tooltipBody" })), index.h("div", { key: '62eb27ac8f184476d50332344711ca381e8adf59', class: "chart", ref: (el) => (this._chartDiv = el) }), index.h("div", { key: 'ad70790d3a2fd5851c4351e41f2436a34169a819', class: "legend", ref: (el) => (this._legendDiv = el) }), index.h("div", { key: '30d4791a9b808555f03d1830aaec0221c1bc3b37', class: "table", ref: (el) => (this._tableDiv = el) }, ' ')));
2308
2351
  }
2309
2352
  get element() { return index.getElement(this); }
2310
2353
  static get watchers() { return {
@@ -4,11 +4,10 @@ var index = require('./index-Cn1hHaSy.js');
4
4
  var codeExampleVariation_enum = require('./code-example-variation.enum-Cq-BioXW.js');
5
5
  var typographyVariation_enum = require('./typography-variation.enum-BDSt7CVI.js');
6
6
  var prismGit = require('./prism-git-BqyC7bKv.js');
7
- require('./badge-notification-shape.enum-CEyEo2G5.js');
7
+ require('./calendar-week-view-heading-level.enum-BI2f9bbk.js');
8
8
  require('./badge-status-variation.enum-XX8d--rj.js');
9
9
  var buttonVariation_enum = require('./button-variation.enum-ngMqFLdW.js');
10
10
  require('./button-type.enum-2UH0KkO-.js');
11
- require('./calendar-week-view-heading-level.enum-NEkm5SUq.js');
12
11
  require('./bar-chart-variation.enum-BZFN4377.js');
13
12
  require('./code-variation.enum-BM-hhQuD.js');
14
13
  require('./expandable-accordion-header-level.enum-CjL9V3Kt.js');
@@ -3,11 +3,10 @@
3
3
  var index = require('./index-Cn1hHaSy.js');
4
4
  var typographyVariation_enum = require('./typography-variation.enum-BDSt7CVI.js');
5
5
  var randomIdGenerator_util = require('./randomIdGenerator.util-C8XR2Tn1.js');
6
- require('./badge-notification-shape.enum-CEyEo2G5.js');
6
+ require('./calendar-week-view-heading-level.enum-BI2f9bbk.js');
7
7
  require('./badge-status-variation.enum-XX8d--rj.js');
8
8
  var buttonVariation_enum = require('./button-variation.enum-ngMqFLdW.js');
9
9
  require('./button-type.enum-2UH0KkO-.js');
10
- require('./calendar-week-view-heading-level.enum-NEkm5SUq.js');
11
10
  require('./bar-chart-variation.enum-BZFN4377.js');
12
11
  require('./code-example-variation.enum-Cq-BioXW.js');
13
12
  require('./code-variation.enum-BM-hhQuD.js');
@@ -2,11 +2,10 @@
2
2
 
3
3
  var index = require('./index-Cn1hHaSy.js');
4
4
  var typographyVariation_enum = require('./typography-variation.enum-BDSt7CVI.js');
5
- require('./badge-notification-shape.enum-CEyEo2G5.js');
5
+ require('./calendar-week-view-heading-level.enum-BI2f9bbk.js');
6
6
  require('./badge-status-variation.enum-XX8d--rj.js');
7
7
  require('./button-variation.enum-ngMqFLdW.js');
8
8
  require('./button-type.enum-2UH0KkO-.js');
9
- require('./calendar-week-view-heading-level.enum-NEkm5SUq.js');
10
9
  require('./bar-chart-variation.enum-BZFN4377.js');
11
10
  require('./code-example-variation.enum-Cq-BioXW.js');
12
11
  require('./code-variation.enum-BM-hhQuD.js');
@@ -3,11 +3,10 @@
3
3
  var index = require('./index-Cn1hHaSy.js');
4
4
  var randomIdGenerator_util = require('./randomIdGenerator.util-C8XR2Tn1.js');
5
5
  var typographyVariation_enum = require('./typography-variation.enum-BDSt7CVI.js');
6
- require('./badge-notification-shape.enum-CEyEo2G5.js');
6
+ require('./calendar-week-view-heading-level.enum-BI2f9bbk.js');
7
7
  require('./badge-status-variation.enum-XX8d--rj.js');
8
8
  require('./button-variation.enum-ngMqFLdW.js');
9
9
  require('./button-type.enum-2UH0KkO-.js');
10
- require('./calendar-week-view-heading-level.enum-NEkm5SUq.js');
11
10
  require('./bar-chart-variation.enum-BZFN4377.js');
12
11
  require('./code-example-variation.enum-Cq-BioXW.js');
13
12
  require('./code-variation.enum-BM-hhQuD.js');
@@ -2,11 +2,10 @@
2
2
 
3
3
  var index = require('./index-Cn1hHaSy.js');
4
4
  var typographyVariation_enum = require('./typography-variation.enum-BDSt7CVI.js');
5
- require('./badge-notification-shape.enum-CEyEo2G5.js');
5
+ require('./calendar-week-view-heading-level.enum-BI2f9bbk.js');
6
6
  require('./badge-status-variation.enum-XX8d--rj.js');
7
7
  require('./button-variation.enum-ngMqFLdW.js');
8
8
  require('./button-type.enum-2UH0KkO-.js');
9
- require('./calendar-week-view-heading-level.enum-NEkm5SUq.js');
10
9
  require('./bar-chart-variation.enum-BZFN4377.js');
11
10
  require('./code-example-variation.enum-Cq-BioXW.js');
12
11
  require('./code-variation.enum-BM-hhQuD.js');
@@ -6,12 +6,11 @@ var logger_util = require('./logger.util-DUhrcCTY.js');
6
6
  var detectClickOutside_util = require('./detectClickOutside.util-DKR8Sdiw.js');
7
7
  var detectFocusOutside_util = require('./detectFocusOutside.util-BNHrXMJ2.js');
8
8
  var text = require('./text-Cu3CaHGj.js');
9
- require('./badge-notification-shape.enum-CEyEo2G5.js');
9
+ require('./calendar-week-view-heading-level.enum-BI2f9bbk.js');
10
10
  var typographyVariation_enum = require('./typography-variation.enum-BDSt7CVI.js');
11
11
  require('./badge-status-variation.enum-XX8d--rj.js');
12
12
  require('./button-variation.enum-ngMqFLdW.js');
13
13
  require('./button-type.enum-2UH0KkO-.js');
14
- require('./calendar-week-view-heading-level.enum-NEkm5SUq.js');
15
14
  require('./bar-chart-variation.enum-BZFN4377.js');
16
15
  require('./code-example-variation.enum-Cq-BioXW.js');
17
16
  require('./code-variation.enum-BM-hhQuD.js');
@@ -1,12 +1,11 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-Cn1hHaSy.js');
4
- require('./badge-notification-shape.enum-CEyEo2G5.js');
4
+ require('./calendar-week-view-heading-level.enum-BI2f9bbk.js');
5
5
  var typographyVariation_enum = require('./typography-variation.enum-BDSt7CVI.js');
6
6
  require('./badge-status-variation.enum-XX8d--rj.js');
7
7
  require('./button-variation.enum-ngMqFLdW.js');
8
8
  require('./button-type.enum-2UH0KkO-.js');
9
- require('./calendar-week-view-heading-level.enum-NEkm5SUq.js');
10
9
  require('./bar-chart-variation.enum-BZFN4377.js');
11
10
  require('./code-example-variation.enum-Cq-BioXW.js');
12
11
  require('./code-variation.enum-BM-hhQuD.js');
@@ -1,12 +1,11 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-Cn1hHaSy.js');
4
- require('./badge-notification-shape.enum-CEyEo2G5.js');
4
+ require('./calendar-week-view-heading-level.enum-BI2f9bbk.js');
5
5
  var typographyVariation_enum = require('./typography-variation.enum-BDSt7CVI.js');
6
6
  require('./badge-status-variation.enum-XX8d--rj.js');
7
7
  require('./button-variation.enum-ngMqFLdW.js');
8
8
  require('./button-type.enum-2UH0KkO-.js');
9
- require('./calendar-week-view-heading-level.enum-NEkm5SUq.js');
10
9
  require('./bar-chart-variation.enum-BZFN4377.js');
11
10
  require('./code-example-variation.enum-Cq-BioXW.js');
12
11
  require('./code-variation.enum-BM-hhQuD.js');
@@ -2,12 +2,11 @@
2
2
 
3
3
  var index = require('./index-Cn1hHaSy.js');
4
4
  var randomIdGenerator_util = require('./randomIdGenerator.util-C8XR2Tn1.js');
5
- require('./badge-notification-shape.enum-CEyEo2G5.js');
5
+ require('./calendar-week-view-heading-level.enum-BI2f9bbk.js');
6
6
  require('./typography-variation.enum-BDSt7CVI.js');
7
7
  require('./badge-status-variation.enum-XX8d--rj.js');
8
8
  var buttonVariation_enum = require('./button-variation.enum-ngMqFLdW.js');
9
9
  require('./button-type.enum-2UH0KkO-.js');
10
- require('./calendar-week-view-heading-level.enum-NEkm5SUq.js');
11
10
  require('./bar-chart-variation.enum-BZFN4377.js');
12
11
  require('./code-example-variation.enum-Cq-BioXW.js');
13
12
  require('./code-variation.enum-BM-hhQuD.js');
@@ -78,16 +78,28 @@ const NavigationVerticalMenu = class {
78
78
  }
79
79
  }
80
80
  componentWillLoad() {
81
- this.getListItems();
82
- this.initNav();
83
- this.setLevelClass();
81
+ this.syncNav();
82
+ // Angular attaches the host first and slots children on the next frame
83
+ // (Stencil 4.36+). React/vanilla that already have slotted nodes skip
84
+ // the delay. Do not warn here — Angular/React may still be projecting.
85
+ if (!this.hostElement.children.length) {
86
+ return new Promise((resolve) => {
87
+ requestAnimationFrame(() => {
88
+ this.syncNav();
89
+ resolve();
90
+ });
91
+ });
92
+ }
84
93
  }
85
94
  componentDidLoad() {
86
95
  this.initCurrentActiveLevel();
87
96
  this.afOnReady.emit();
88
97
  }
89
98
  componentWillUpdate() {
90
- this.getListItems();
99
+ this.syncNav();
100
+ }
101
+ syncNav(options) {
102
+ this.getListItems(options);
91
103
  this.initNav();
92
104
  this.setLevelClass();
93
105
  }
@@ -137,12 +149,12 @@ const NavigationVerticalMenu = class {
137
149
  }
138
150
  }
139
151
  setLevelClass() {
140
- this.hostElement
141
- .querySelector('ul')
142
- .classList.remove('primary', 'secondary');
143
- this.hostElement
144
- .querySelector('ul')
145
- .classList.add('digi-navigation-vertical-menu__list--root', this.afVariation);
152
+ const rootList = this.hostElement.querySelector('ul');
153
+ if (!rootList) {
154
+ return;
155
+ }
156
+ rootList.classList.remove('primary', 'secondary');
157
+ rootList.classList.add('digi-navigation-vertical-menu__list--root', this.afVariation);
146
158
  }
147
159
  initNav() {
148
160
  const $ul = this.hostElement.querySelectorAll('ul');
@@ -155,10 +167,12 @@ const NavigationVerticalMenu = class {
155
167
  this.initNav();
156
168
  this.setClasses(e);
157
169
  }
158
- getListItems() {
170
+ getListItems(options) {
159
171
  const menuItems = this.hostElement.children;
160
172
  if (!menuItems || menuItems.length <= 0) {
161
- logger_util.logger.warn(`The slot contains no children elements.`, this.hostElement);
173
+ if (options === null || options === void 0 ? void 0 : options.warnIfEmpty) {
174
+ logger_util.logger.warn(`The slot contains no children elements.`, this.hostElement);
175
+ }
162
176
  return;
163
177
  }
164
178
  this.listItems = [...Array.from(menuItems)].map((filter) => {
@@ -177,7 +191,7 @@ const NavigationVerticalMenu = class {
177
191
  };
178
192
  }
179
193
  render() {
180
- return (index.h("nav", { key: '0c7b96501a70d813b8d8f5b8014dc420d472f4a9', class: Object.assign({ 'digi-navigation-vertical-menu': true }, this.cssModifiers), id: this.afId, "aria-label": this.afAriaLabel }, index.h("slot", { key: '2b5d92cada1cde5bb5155257be77a584c2e708ec' })));
194
+ return (index.h("nav", { key: 'df2239de80363247c33eadf6995331a74a40966f', class: Object.assign({ 'digi-navigation-vertical-menu': true }, this.cssModifiers), id: this.afId, "aria-label": this.afAriaLabel }, index.h("slot", { key: 'dc2e22c2cfd00786964855ea3bc2b7271879510c', onSlotchange: () => this.syncNav() })));
181
195
  }
182
196
  get hostElement() { return index.getElement(this); }
183
197
  };