@splunk/visualizations 28.4.0 → 28.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/Area.config.js +28 -7
  2. package/Area.config.js.map +2 -2
  3. package/Area.js +109 -39
  4. package/Area.js.map +2 -2
  5. package/Bar.config.js +28 -7
  6. package/Bar.config.js.map +2 -2
  7. package/Bar.js +109 -39
  8. package/Bar.js.map +2 -2
  9. package/Bubble.config.js +4 -4
  10. package/Bubble.config.js.map +2 -2
  11. package/Bubble.js +81 -30
  12. package/Bubble.js.map +2 -2
  13. package/CHANGELOG.external.md +98 -0
  14. package/ChoroplethSvg.js +74 -26
  15. package/ChoroplethSvg.js.map +2 -2
  16. package/Column.config.js +28 -7
  17. package/Column.config.js.map +2 -2
  18. package/Column.js +109 -39
  19. package/Column.js.map +2 -2
  20. package/Ellipse/config.d.ts.map +1 -1
  21. package/Ellipse.config.js +14 -5
  22. package/Ellipse.config.js.map +4 -4
  23. package/Ellipse.js +130 -73
  24. package/Ellipse.js.map +4 -4
  25. package/Events.js +74 -26
  26. package/Events.js.map +2 -2
  27. package/FillerGauge.js +234 -47
  28. package/FillerGauge.js.map +2 -2
  29. package/Image.js +74 -26
  30. package/Image.js.map +2 -2
  31. package/Line/lineUtils.d.ts.map +1 -1
  32. package/Line/mockdata/LineData.d.ts +95 -0
  33. package/Line/mockdata/LineData.d.ts.map +1 -1
  34. package/Line.config.js +28 -7
  35. package/Line.config.js.map +2 -2
  36. package/Line.js +125 -41
  37. package/Line.js.map +2 -2
  38. package/LinkGraph.js +74 -26
  39. package/LinkGraph.js.map +2 -2
  40. package/Map/PureMap/BubbleLayer.d.ts.map +1 -1
  41. package/Map/PureMap/ClusterLayer.d.ts.map +1 -1
  42. package/Map/PureMap/MapUtils.d.ts +2 -2
  43. package/Map/PureMap/MapUtils.d.ts.map +1 -1
  44. package/Map/PureMap/PureMap.d.ts.map +1 -1
  45. package/Map.js +111 -37
  46. package/Map.js.map +2 -2
  47. package/Markdown/config.d.ts.map +1 -1
  48. package/Markdown.config.js +14 -5
  49. package/Markdown.config.js.map +4 -4
  50. package/Markdown.js +91 -34
  51. package/Markdown.js.map +4 -4
  52. package/MarkerGauge.js +243 -56
  53. package/MarkerGauge.js.map +4 -4
  54. package/NetworkGraph/PureNetworkGraph/PureNetworkGraph.d.ts.map +1 -1
  55. package/NetworkGraph/PureNetworkGraph/components/Node.d.ts.map +1 -1
  56. package/NetworkGraph/PureNetworkGraph/components/ZoomControls.d.ts.map +1 -1
  57. package/NetworkGraph/PureNetworkGraph/utils/dragUtils.d.ts +78 -0
  58. package/NetworkGraph/PureNetworkGraph/utils/dragUtils.d.ts.map +1 -0
  59. package/NetworkGraph/PureNetworkGraph/utils/networkGraphUtils.d.ts +1 -2
  60. package/NetworkGraph/PureNetworkGraph/utils/networkGraphUtils.d.ts.map +1 -1
  61. package/NetworkGraph/config.d.ts.map +1 -1
  62. package/NetworkGraph.config.js +1 -0
  63. package/NetworkGraph.config.js.map +2 -2
  64. package/NetworkGraph.js +366 -105
  65. package/NetworkGraph.js.map +4 -4
  66. package/PERFORMANCE.md +23 -0
  67. package/ParallelCoordinates/ParallelCoordinates.d.ts +1 -46
  68. package/ParallelCoordinates/ParallelCoordinates.d.ts.map +1 -1
  69. package/ParallelCoordinates/PureParallelCoordinates/PureParallelCoordinates.d.ts +12 -58
  70. package/ParallelCoordinates/PureParallelCoordinates/PureParallelCoordinates.d.ts.map +1 -1
  71. package/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesChart.d.ts +1 -0
  72. package/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesChart.d.ts.map +1 -1
  73. package/ParallelCoordinates.js +150 -153
  74. package/ParallelCoordinates.js.map +4 -4
  75. package/Pie/Pie.d.ts.map +1 -1
  76. package/Pie/config.d.ts.map +1 -1
  77. package/Pie/pieUtils.d.ts +4 -0
  78. package/Pie/pieUtils.d.ts.map +1 -1
  79. package/Pie.config.js +16 -0
  80. package/Pie.config.js.map +2 -2
  81. package/Pie.js +121 -35
  82. package/Pie.js.map +2 -2
  83. package/Punchcard.js +74 -26
  84. package/Punchcard.js.map +2 -2
  85. package/Rectangle/config.d.ts.map +1 -1
  86. package/Rectangle.config.js +14 -5
  87. package/Rectangle.config.js.map +4 -4
  88. package/Rectangle.js +92 -35
  89. package/Rectangle.js.map +4 -4
  90. package/Sankey/PureSankey/PureSankey.d.ts +26 -72
  91. package/Sankey/PureSankey/PureSankey.d.ts.map +1 -1
  92. package/Sankey/PureSankey/SankeyLink.d.ts +3 -19
  93. package/Sankey/PureSankey/SankeyLink.d.ts.map +1 -1
  94. package/Sankey/PureSankey/SankeyNode.d.ts +3 -20
  95. package/Sankey/PureSankey/SankeyNode.d.ts.map +1 -1
  96. package/Sankey/PureSankey/SankeyTooltip.d.ts +3 -24
  97. package/Sankey/PureSankey/SankeyTooltip.d.ts.map +1 -1
  98. package/Sankey.js +270 -336
  99. package/Sankey.js.map +2 -2
  100. package/Scatter.config.js +168 -147
  101. package/Scatter.config.js.map +4 -4
  102. package/Scatter.js +249 -179
  103. package/Scatter.js.map +4 -4
  104. package/SingleValue.js +96 -75
  105. package/SingleValue.js.map +2 -2
  106. package/SingleValueIcon/config.d.ts.map +1 -1
  107. package/SingleValueIcon.config.js +14 -5
  108. package/SingleValueIcon.config.js.map +4 -4
  109. package/SingleValueIcon.js +118 -76
  110. package/SingleValueIcon.js.map +4 -4
  111. package/SingleValueRadial/PureSingleValueRadial/GaugeGraph.d.ts.map +1 -1
  112. package/SingleValueRadial.js +95 -76
  113. package/SingleValueRadial.js.map +2 -2
  114. package/Table/Table.d.ts.map +1 -1
  115. package/Table/hooks.d.ts +2 -0
  116. package/Table/hooks.d.ts.map +1 -1
  117. package/Table.js +95 -49
  118. package/Table.js.map +2 -2
  119. package/Timeline/PureTimeline/PureTimeline.d.ts.map +1 -1
  120. package/Timeline/PureTimeline/src/TimelinePlugin.d.ts.map +1 -1
  121. package/Timeline/PureTimeline/src/TimelineYAxis.d.ts.map +1 -1
  122. package/Timeline/PureTimeline/src/utils/timelineUtils.d.ts +2 -1
  123. package/Timeline/PureTimeline/src/utils/timelineUtils.d.ts.map +1 -1
  124. package/Timeline.js +154 -54
  125. package/Timeline.js.map +2 -2
  126. package/common/Charting.d.ts.map +1 -1
  127. package/common/Charting.js +3 -0
  128. package/common/Charting.js.map +2 -2
  129. package/common/GaugeMajorTicks.js +150 -13
  130. package/common/GaugeMajorTicks.js.map +4 -4
  131. package/common/GaugeValueMarker.js +84 -17
  132. package/common/GaugeValueMarker.js.map +4 -4
  133. package/common/OptionsDoc.js.map +1 -1
  134. package/common/OverviewDoc.d.ts.map +1 -1
  135. package/common/OverviewDoc.js +2 -2
  136. package/common/OverviewDoc.js.map +2 -2
  137. package/common/TimeSeriesChartWrapper.d.ts.map +1 -1
  138. package/common/TimeSeriesChartWrapper.js +72 -24
  139. package/common/TimeSeriesChartWrapper.js.map +2 -2
  140. package/common/chartingUtils.d.ts +9 -3
  141. package/common/chartingUtils.d.ts.map +1 -1
  142. package/common/chartingUtils.js +21 -16
  143. package/common/chartingUtils.js.map +2 -2
  144. package/common/editorConfig/AxesChartDataConfig.d.ts +3 -3
  145. package/common/editorConfig/AxesChartDataConfig.d.ts.map +1 -1
  146. package/common/editorConfig/AxesChartDataDisplay.d.ts +4 -0
  147. package/common/editorConfig/AxesChartDataDisplay.d.ts.map +1 -1
  148. package/common/editorConfig/AxesChartLegend.d.ts.map +1 -1
  149. package/common/gaugeUtils.d.ts +37 -0
  150. package/common/gaugeUtils.d.ts.map +1 -1
  151. package/common/gaugeUtils.js +152 -2
  152. package/common/gaugeUtils.js.map +4 -4
  153. package/common/hocs/mockdata/trellisData.d.ts +119 -0
  154. package/common/hocs/mockdata/trellisData.d.ts.map +1 -1
  155. package/common/interfaces/Overview.d.ts +1 -0
  156. package/common/interfaces/Overview.d.ts.map +1 -1
  157. package/common/interfaces/VizConfig.d.ts +2 -1
  158. package/common/interfaces/VizConfig.d.ts.map +1 -1
  159. package/common/utils/mapUtils.js.map +1 -1
  160. package/common/utils/trellisUtils.d.ts.map +1 -1
  161. package/common/utils/trellisUtils.js +4 -6
  162. package/common/utils/trellisUtils.js.map +2 -2
  163. package/common/withDashboardViz.js +74 -26
  164. package/common/withDashboardViz.js.map +2 -2
  165. package/package.json +36 -36
@@ -4,6 +4,104 @@ All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
6
 
7
+ ## [28.5.1](/compare/v28.5.0...v28.5.1) (2026-03-12)
8
+
9
+
10
+ ### Bug Fixes
11
+
12
+ * **SCP-81220:** disable unwanted scrolling when tabbing through a visualization e49cc75
13
+ * **SCP-81436:** network graph - add limits for linkStrength 524b403
14
+
15
+
16
+ # 28.5.0 (2026-03-10)
17
+
18
+
19
+ ### Bug Fixes
20
+
21
+ * **SCP-72346:** Table - match value resets background color (1061cb5)
22
+ * **SCP-77926:** Line Canvas - styling updates (a642982)
23
+ * **SCP-79206:** Timeline - fix malformed data error (28a54e5)
24
+ * **SCP-79871:** Trellis - column bug (68349da)
25
+ * **SCP-79914:** Map - fix center button not working in doc/storybook (b902c06)
26
+ * **SCP-80209:** Network graph - long labels autozoom (3ae1c36)
27
+ * **SCP-80304:** Single Value Radial - decimal string not parsing correctly (b35ce4d)
28
+ * **SCP-80597:** Network graph - small a11y fixes (8e53227)
29
+ * **SCP-80767:** Marker gauge - custom range bug (a0f51a3)
30
+ * **SCP-80772:** Timeline - fix overlapping bars (506b9a3)
31
+ * **SCP-80821:** Map - align fit-to-data button when zoom controls hidden (315dd01)
32
+ * **SCP-81090:** add remaining icons for visualizations (ed77434)
33
+ * **SCP-81264:** Table - sparkline cells overflow (e36427d)
34
+ * **SCP-81267:** Line Canvas - filter out invalid time values (752c6a4)
35
+ * Marker gauge - vertical tick label alignment (0a0f1a7)
36
+
37
+
38
+ ### Features
39
+
40
+ * **SCP-67582:** Line Canvas - stepped (429d5d7)
41
+ * **SCP-71265:** Line Canvas - support x, y & y2 axis line visibility (a51e88c)
42
+ * **SCP-71267:** Line Canvas - support x axis tickSize and tickVisibility options (0bcb335)
43
+ * **SCP-72694:** Pie - expose legend option (d8962ba)
44
+ * **SCP-78780:** Line Canvas - adds legendTruncation options (8f3ecc1)
45
+ * **SCP-78781:** Line Canavs - add xAxisMaxLabelParts (bb227c9)
46
+ * **SCP-78784:** Line Canvas - disable unsupported options in editor (9305227)
47
+ * **SCP-80654:** Line Canvas - legend items line styles (8ceae29)
48
+ * **SCP-81318:** Map - allow bubble layers without geobin data (8a2311b)
49
+
50
+
51
+ ### Performance Improvements
52
+
53
+ * Network graph - improve performance of node dragging (85440db)
54
+
55
+
56
+
57
+
58
+
59
+ ## 27.5.1 Maintenance Release (2026-02-13)
60
+
61
+
62
+ ### Bug Fixes
63
+
64
+ * **SCP-79773:** upgrade splunk moment v0.7.0 (3d543b1)
65
+
66
+
67
+
68
+
69
+ ## 27.2.2 Maintenance Release (2026-02-12)
70
+
71
+
72
+ ### Bug Fixes
73
+
74
+ * **SCP-79770:** momentjs vulnerability (f9410b3)
75
+
76
+
77
+
78
+
79
+ ## 26.4.2 Maintenance Release (2026-01-29)
80
+
81
+
82
+ ### Bug Fixes
83
+
84
+ * **SCP-79771:** fixes momentjs vulnerability (d628421)
85
+
86
+
87
+
88
+
89
+ ## 25.13.2 Maintenance Release (2026-01-29)
90
+
91
+
92
+ ### Bug Fixes
93
+
94
+ * **SCP-79769:** upgrade splunk-moment to v0.7.0 (b8fe0fd)
95
+
96
+
97
+
98
+
99
+ # Change Log
100
+
101
+ All notable changes to this project will be documented in this file.
102
+ See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
103
+
104
+
7
105
  # 28.4.0 (2026-01-27)
8
106
 
9
107
 
package/ChoroplethSvg.js CHANGED
@@ -505,7 +505,7 @@ var Cover = styled_components_default.div`
505
505
  bottom: 0;
506
506
  `;
507
507
  var Blocker = styled_components_default.div.attrs({
508
- "data-splunk-visualization-version": "28.4.0 - 002bd482f"
508
+ "data-splunk-visualization-version": "28.5.1 - 617766eb3"
509
509
  })`
510
510
  position: relative;
511
511
  width: 100%;
@@ -604,7 +604,7 @@ var withFixedSizeContainer = (Viz) => {
604
604
  FixSizeItem,
605
605
  {
606
606
  "data-test": "fix-size-item",
607
- "data-splunk-visualization-version": "28.4.0 - 002bd482f",
607
+ "data-splunk-visualization-version": "28.5.1 - 617766eb3",
608
608
  width,
609
609
  height,
610
610
  backgroundColor
@@ -1209,25 +1209,27 @@ var parseAxisValue = (val) => {
1209
1209
  const num = typeof val === "number" ? val : Number.parseFloat(val);
1210
1210
  return Number.isNaN(num) ? void 0 : num;
1211
1211
  };
1212
- var SideLegendWidth = 75;
1213
- var SeriesCompareLegendWidth = 200;
1212
+ var parseXAxisLineVisibility = (visibility) => {
1213
+ if (visibility === "hide") return false;
1214
+ if (visibility === "show") return true;
1215
+ return void 0;
1216
+ };
1214
1217
  var getLegend = (props) => {
1215
1218
  const legendPlacement = props == null ? void 0 : props.legendDisplay;
1216
- const { isSeriesCompare } = props;
1219
+ const { isSeriesCompare, legendTruncation } = props;
1217
1220
  const commonLegendProps = {
1218
1221
  center: true,
1219
1222
  fontSize: 12,
1220
1223
  largerTiles: true,
1221
- hideSeriesValue: !isSeriesCompare
1224
+ hideSeriesValue: !isSeriesCompare,
1222
1225
  // Show values if in seriesCompare mode
1226
+ legendTruncation
1223
1227
  };
1224
1228
  switch (legendPlacement) {
1225
1229
  case "off":
1226
1230
  return false;
1227
1231
  case "left":
1228
- return (0, visualization_canvas_exports.LeftLegendFactory)(__spreadValues({
1229
- width: isSeriesCompare ? SeriesCompareLegendWidth : SideLegendWidth
1230
- }, commonLegendProps));
1232
+ return (0, visualization_canvas_exports.LeftLegendFactory)(__spreadValues({}, commonLegendProps));
1231
1233
  case "bottom":
1232
1234
  return (0, visualization_canvas_exports.BottomLegendFactory)(__spreadValues({
1233
1235
  wrap: true
@@ -1237,9 +1239,7 @@ var getLegend = (props) => {
1237
1239
  wrap: true
1238
1240
  }, commonLegendProps));
1239
1241
  default:
1240
- return (0, visualization_canvas_exports.SideLegendFactory)(__spreadValues({
1241
- width: isSeriesCompare ? SeriesCompareLegendWidth : SideLegendWidth
1242
- }, commonLegendProps));
1242
+ return (0, visualization_canvas_exports.SideLegendFactory)(__spreadValues({}, commonLegendProps));
1243
1243
  }
1244
1244
  };
1245
1245
  var getComputedAxisTitles = (inputAxisTitle, fields, axisTitleVisibility) => {
@@ -1300,9 +1300,7 @@ var getYScaleConfig = (label, yAxisAbbreviation, yAxisScale, yAxisLabelVisibilit
1300
1300
  if (yAxisAbbreviation !== "none") {
1301
1301
  yConfig.y.tickFmt = (v) => (0, visualization_canvas_exports.shortenNumber)(v, 1);
1302
1302
  }
1303
- if (yAxisAbbreviation === "none") {
1304
- yConfig.y.width = 55;
1305
- } else {
1303
+ if (yAxisAbbreviation !== "none") {
1306
1304
  yConfig.y.width = label && label.length > 0 ? 30 : 10;
1307
1305
  }
1308
1306
  if (yAxisLabelVisibility === "hide") {
@@ -1325,6 +1323,7 @@ var getY2ScaleConfig = (label, axisAbbreviation, axisScale, roundAxisLabelsToInt
1325
1323
  y2Config.y2.type = scaleType;
1326
1324
  if (axisAbbreviation !== "none") {
1327
1325
  y2Config.y2.tickFmt = (v) => (0, visualization_canvas_exports.shortenNumber)(v, 1, roundAxisLabelsToInteger);
1326
+ y2Config.y2.width = label && label.length > 0 ? 50 : 10;
1328
1327
  } else if (roundAxisLabelsToInteger) {
1329
1328
  y2Config.y2.tickFmt = (v) => roundAxisLabelsToInteger ? Math.round(v).toString() : v.toString();
1330
1329
  }
@@ -1340,7 +1339,7 @@ var getY2ScaleConfig = (label, axisAbbreviation, axisScale, roundAxisLabelsToInt
1340
1339
  }
1341
1340
  return y2Config;
1342
1341
  };
1343
- var getSeriesOverrides = (yfields, y2fields, lineWidth, overlayFields, y2Enabled, nullValueMode, markerDisplay, lineDashStyle, lineDashStylesByField) => {
1342
+ var getSeriesOverrides = (yfields, y2fields, lineWidth, overlayFields, y2Enabled, nullValueMode, markerDisplay, lineDashStyle, lineDashStylesByField, stepPosition, stepPositionsByField) => {
1344
1343
  const seriesConfig = {};
1345
1344
  let spanGaps;
1346
1345
  let replaceNullsWithZero;
@@ -1367,6 +1366,8 @@ var getSeriesOverrides = (yfields, y2fields, lineWidth, overlayFields, y2Enabled
1367
1366
  );
1368
1367
  if (shouldAssignToY2) {
1369
1368
  seriesConfig[field].overrides.scale = "y2";
1369
+ } else {
1370
+ seriesConfig[field].overrides.scale = "y";
1370
1371
  }
1371
1372
  }
1372
1373
  if (overlayFields == null ? void 0 : overlayFields.includes(field)) {
@@ -1379,6 +1380,11 @@ var getSeriesOverrides = (yfields, y2fields, lineWidth, overlayFields, y2Enabled
1379
1380
  if (fieldDashStyle) {
1380
1381
  seriesConfig[field].lineDashStyle = fieldDashStyle;
1381
1382
  }
1383
+ const hasFieldStepPosition = Object.hasOwn(stepPositionsByField || {}, field);
1384
+ const fieldStepPosition = hasFieldStepPosition ? stepPositionsByField == null ? void 0 : stepPositionsByField[field] : stepPosition;
1385
+ if (fieldStepPosition && fieldStepPosition !== "off") {
1386
+ seriesConfig[field].stepPosition = fieldStepPosition;
1387
+ }
1382
1388
  if (replaceNullsWithZero !== void 0) {
1383
1389
  seriesConfig[field].replaceNullsWithZero = replaceNullsWithZero;
1384
1390
  }
@@ -1612,6 +1618,9 @@ var TimeSeriesChartWrapper = (props) => {
1612
1618
  backgroundColor,
1613
1619
  defaultFontColor,
1614
1620
  additionalTooltipValues,
1621
+ xAxisLineVisibility: xAxisLineVisibility,
1622
+ yAxisLineVisibility,
1623
+ y2AxisLineVisibility,
1615
1624
  showYAxisWithZero: showYAxisWithZeroFromProps,
1616
1625
  showY2AxisWithZero: showY2AxisWithZeroFromProps
1617
1626
  } = _a, otherOptions = __objRest(_a, [
@@ -1635,6 +1644,10 @@ var TimeSeriesChartWrapper = (props) => {
1635
1644
  "backgroundColor",
1636
1645
  "defaultFontColor",
1637
1646
  "additionalTooltipValues",
1647
+ // Extract axis line visibility options from props
1648
+ "xAxisLineVisibility",
1649
+ "yAxisLineVisibility",
1650
+ "y2AxisLineVisibility",
1638
1651
  // Extract showYAxisWithZero directly from props for accelerated render mode
1639
1652
  "showYAxisWithZero",
1640
1653
  "showY2AxisWithZero"
@@ -1647,6 +1660,7 @@ var TimeSeriesChartWrapper = (props) => {
1647
1660
  fieldColors,
1648
1661
  legendLabels: legendLabelsStr,
1649
1662
  legendMode,
1663
+ legendTruncation,
1650
1664
  "axisTitleX.text": xAxisTitleText,
1651
1665
  "axisTitleY.text": yAxisTitleText,
1652
1666
  "axisTitleY2.text": y2AxisTitleText,
@@ -1655,6 +1669,7 @@ var TimeSeriesChartWrapper = (props) => {
1655
1669
  "axisTitleY2.visibility": y2AxisTitleVisibility,
1656
1670
  "axisLabelsX.majorLabelVisibility": xAxisLabelVisibility,
1657
1671
  "axisLabelsX.majorLabelStyle.rotation": xAxisLabelRotation,
1672
+ "axisLabelsX.maxLabelParts": xAxisMaxLabelParts,
1658
1673
  "axisLabelsY.majorLabelVisibility": yAxisLabelVisibility,
1659
1674
  "axisLabelsY.majorUnit": yAxisMajorUnitFromSimpleXML,
1660
1675
  "axisLabelsY2.majorLabelVisibility": y2AxisLabelVisibility,
@@ -1672,6 +1687,8 @@ var TimeSeriesChartWrapper = (props) => {
1672
1687
  lineWidth,
1673
1688
  lineDashStyle,
1674
1689
  fieldDashStyles: lineDashStylesByFieldStr,
1690
+ stepPosition,
1691
+ fieldStepPositions: stepPositionsByFieldStr,
1675
1692
  yAxisMin: yAxisMinRaw,
1676
1693
  yAxisMax: yAxisMaxRaw,
1677
1694
  y2AxisMin: y2AxisMinRaw,
@@ -1682,6 +1699,8 @@ var TimeSeriesChartWrapper = (props) => {
1682
1699
  showYMinorGridLines,
1683
1700
  showY2MinorGridLines,
1684
1701
  showLineSmoothing,
1702
+ xAxisMajorTickVisibility,
1703
+ xAxisMajorTickSize,
1685
1704
  yAxisMajorTickVisibility,
1686
1705
  y2AxisMajorTickVisibility,
1687
1706
  yAxisMajorTickSize,
@@ -1698,10 +1717,14 @@ var TimeSeriesChartWrapper = (props) => {
1698
1717
  const dataValuesDisplay = showDataLabels === "none" ? "off" : showDataLabels;
1699
1718
  const showYAxisWithZero = showYAxisWithZeroFromProps != null ? showYAxisWithZeroFromProps : showYAxisWithZeroFromOptions;
1700
1719
  const showY2AxisWithZero = showY2AxisWithZeroFromProps != null ? showY2AxisWithZeroFromProps : showY2AxisWithZeroFromOptions;
1720
+ const showXMajorTicks = xAxisMajorTickVisibility !== "hide";
1701
1721
  const showYMajorTicks = yAxisMajorTickVisibility === "show";
1702
1722
  const showY2MajorTicks = y2AxisMajorTickVisibility === "show";
1703
1723
  const showYMinorTicks = yAxisMinorTickVisibility === "show";
1704
1724
  const showY2MinorTicks = y2AxisMinorTickVisibility === "show";
1725
+ const showXAxisLine = parseXAxisLineVisibility(xAxisLineVisibility);
1726
+ const showYAxisLine = yAxisLineVisibility === "show";
1727
+ const showY2AxisLine = y2AxisLineVisibility === "show";
1705
1728
  const yAxisMin = parseAxisValue(yAxisMinRaw);
1706
1729
  const yAxisMax = parseAxisValue(yAxisMaxRaw);
1707
1730
  const y2AxisMin = parseAxisValue(y2AxisMinRaw);
@@ -1716,13 +1739,15 @@ var TimeSeriesChartWrapper = (props) => {
1716
1739
  y2AxisMajorUnitFromSimpleXML,
1717
1740
  y2AxisMajorTickInterval
1718
1741
  );
1719
- const yAxisMajorTickSizeNum = yAxisMajorTickSize ? Number(yAxisMajorTickSize) : void 0;
1720
- const y2AxisMajorTickSizeNum = y2AxisMajorTickSize ? Number(y2AxisMajorTickSize) : void 0;
1721
- const yAxisMinorTickSizeNum = yAxisMinorTickSize ? Number(yAxisMinorTickSize) : void 0;
1722
- const y2AxisMinorTickSizeNum = y2AxisMinorTickSize ? Number(y2AxisMinorTickSize) : void 0;
1742
+ const xAxisMajorTickSizeNum = xAxisMajorTickSize != null ? Number(xAxisMajorTickSize) : void 0;
1743
+ const yAxisMajorTickSizeNum = yAxisMajorTickSize != null ? Number(yAxisMajorTickSize) : void 0;
1744
+ const y2AxisMajorTickSizeNum = y2AxisMajorTickSize != null ? Number(y2AxisMajorTickSize) : void 0;
1745
+ const yAxisMinorTickSizeNum = yAxisMinorTickSize != null ? Number(yAxisMinorTickSize) : void 0;
1746
+ const y2AxisMinorTickSizeNum = y2AxisMinorTickSize != null ? Number(y2AxisMinorTickSize) : void 0;
1723
1747
  const seriesColors = seriesColorsStr ? JSON.parse(seriesColorsStr) : void 0;
1724
1748
  const seriesColorsByField = fieldColors ? JSON.parse(fieldColors) : void 0;
1725
1749
  const lineDashStylesByField = lineDashStylesByFieldStr ? JSON.parse(lineDashStylesByFieldStr) : void 0;
1750
+ const stepPositionsByField = stepPositionsByFieldStr ? JSON.parse(stepPositionsByFieldStr) : void 0;
1726
1751
  const legendLabels = parseArrayOption(legendLabelsStr);
1727
1752
  const bgColor = backgroundColor || bgColorFromOptions;
1728
1753
  const [containerWidth, setContainerWidth] = react_exports.useState(Number(props.width));
@@ -1810,7 +1835,9 @@ var TimeSeriesChartWrapper = (props) => {
1810
1835
  nullValueMode,
1811
1836
  markerDisplay,
1812
1837
  lineDashStyle,
1813
- lineDashStylesByField
1838
+ lineDashStylesByField,
1839
+ stepPosition,
1840
+ stepPositionsByField
1814
1841
  ),
1815
1842
  [
1816
1843
  yFields,
@@ -1821,7 +1848,9 @@ var TimeSeriesChartWrapper = (props) => {
1821
1848
  nullValueMode,
1822
1849
  markerDisplay,
1823
1850
  lineDashStyle,
1824
- lineDashStylesByField
1851
+ lineDashStylesByField,
1852
+ stepPosition,
1853
+ stepPositionsByField
1825
1854
  ]
1826
1855
  );
1827
1856
  const chartingEventAnnotations = (0, react_exports.useMemo)(
@@ -1836,9 +1865,14 @@ var TimeSeriesChartWrapper = (props) => {
1836
1865
  () => __spreadValues(__spreadValues(__spreadValues({}, xScaleConfig), yScaleConfig), y2ScaleConfig),
1837
1866
  [xScaleConfig, yScaleConfig, y2ScaleConfig]
1838
1867
  );
1868
+ const isSeriesCompare = legendMode === "seriesCompare";
1839
1869
  const legend = (0, react_exports.useMemo)(
1840
- () => getLegend({ legendDisplay, isSeriesCompare: legendMode === "seriesCompare" }),
1841
- [legendDisplay, legendMode]
1870
+ () => getLegend({
1871
+ legendDisplay: isSeriesCompare && legendDisplay !== "off" ? "right" : legendDisplay,
1872
+ isSeriesCompare,
1873
+ legendTruncation
1874
+ }),
1875
+ [legendDisplay, isSeriesCompare, legendTruncation]
1842
1876
  );
1843
1877
  const handleChartClick = react_exports.useCallback(
1844
1878
  (event) => {
@@ -1943,6 +1977,7 @@ var TimeSeriesChartWrapper = (props) => {
1943
1977
  seriesConfig: seriesOverrides,
1944
1978
  legend,
1945
1979
  legendLabels,
1980
+ legendTruncation,
1946
1981
  isSeriesCompare: legendMode === "seriesCompare",
1947
1982
  maxSeriesFocus: legendMode === "seriesCompare" ? 0 : void 0,
1948
1983
  scaleConfig,
@@ -1964,6 +1999,8 @@ var TimeSeriesChartWrapper = (props) => {
1964
1999
  showY2MinorGridLines,
1965
2000
  showLineSmoothing,
1966
2001
  dataValuesDisplay,
2002
+ showXMajorTicks,
2003
+ xAxisMajorTickSize: xAxisMajorTickSizeNum,
1967
2004
  showYMajorTicks,
1968
2005
  showY2MajorTicks,
1969
2006
  yAxisMajorTickSize: yAxisMajorTickSizeNum,
@@ -1975,7 +2012,11 @@ var TimeSeriesChartWrapper = (props) => {
1975
2012
  yAxisMinorTickSize: yAxisMinorTickSizeNum,
1976
2013
  y2AxisMinorTickSize: y2AxisMinorTickSizeNum,
1977
2014
  showYAxisWithZero,
1978
- showY2AxisWithZero
2015
+ showY2AxisWithZero,
2016
+ showXAxisLine,
2017
+ showYAxisLine,
2018
+ showY2AxisLine,
2019
+ xAxisMaxLabelParts
1979
2020
  }
1980
2021
  ));
1981
2022
  }, [
@@ -1990,6 +2031,7 @@ var TimeSeriesChartWrapper = (props) => {
1990
2031
  seriesOverrides,
1991
2032
  legend,
1992
2033
  legendLabels,
2034
+ legendTruncation,
1993
2035
  scaleConfig,
1994
2036
  onClick,
1995
2037
  handleChartClick,
@@ -2008,6 +2050,8 @@ var TimeSeriesChartWrapper = (props) => {
2008
2050
  showY2MinorGridLines,
2009
2051
  showLineSmoothing,
2010
2052
  dataValuesDisplay,
2053
+ showXMajorTicks,
2054
+ xAxisMajorTickSizeNum,
2011
2055
  showYMajorTicks,
2012
2056
  showY2MajorTicks,
2013
2057
  yAxisMajorTickSizeNum,
@@ -2020,7 +2064,11 @@ var TimeSeriesChartWrapper = (props) => {
2020
2064
  y2AxisMinorTickSizeNum,
2021
2065
  showYAxisWithZero,
2022
2066
  showY2AxisWithZero,
2023
- legendMode
2067
+ showXAxisLine,
2068
+ showYAxisLine,
2069
+ showY2AxisLine,
2070
+ legendMode,
2071
+ xAxisMaxLabelParts
2024
2072
  ]);
2025
2073
  const memoizedVisualization = (0, react_exports.useMemo)(() => {
2026
2074
  return /* @__PURE__ */ react_exports.createElement(VizStyleWrapper_default, { backgroundColor: bgColor }, memoizedChart);