@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
package/SingleValue.js CHANGED
@@ -1927,30 +1927,31 @@ var Container = styled_components_default.div`
1927
1927
  var SingleValue = (_a) => {
1928
1928
  var props = __objRest(_a, []);
1929
1929
  const {
1930
- width,
1930
+ width = "100%",
1931
1931
  height = 250,
1932
- hasEventHandlers,
1932
+ hasEventHandlers = false,
1933
1933
  style,
1934
1934
  majorFontSize,
1935
- majorValue,
1935
+ majorValue = "N/A",
1936
1936
  majorValueDisplay,
1937
- majorValueField,
1937
+ majorValueField = "",
1938
1938
  trendValue,
1939
1939
  trendFontSize,
1940
- unitPosition,
1941
- underLabelFontSize,
1942
- numberPrecision,
1943
- shouldUseThousandSeparators,
1944
- shouldAbbreviateTrendValue,
1945
- shouldAbbreviateMajorValue,
1940
+ unitPosition = "after",
1941
+ underLabelFontSize = 12,
1942
+ numberPrecision = 0,
1943
+ shouldUseThousandSeparators = true,
1944
+ shouldAbbreviateTrendValue = false,
1945
+ shouldAbbreviateMajorValue = false,
1946
1946
  sparklineValues,
1947
- sparklineHighlightSegments,
1948
- sparklineHighlightDots,
1949
- showSparklineAreaGraph,
1950
- showSparklineTooltip,
1951
- shouldSparklineAcceptNullData,
1947
+ sparklineHighlightSegments = 0,
1948
+ sparklineHighlightDots = 0,
1949
+ showSparklineAreaGraph = false,
1950
+ showSparklineTooltip = false,
1951
+ shouldSparklineAcceptNullData = true,
1952
1952
  sparklineNullValueDisplay,
1953
- onValueClick,
1953
+ onValueClick = () => {
1954
+ },
1954
1955
  defaultFontColor,
1955
1956
  defaultBackgroundColor: defaultBackgroundColor2,
1956
1957
  defaultBlockFontColor,
@@ -1960,7 +1961,7 @@ var SingleValue = (_a) => {
1960
1961
  splitByLayout,
1961
1962
  trellisKey = "",
1962
1963
  trellisSplitBy = "",
1963
- align
1964
+ align = "center"
1964
1965
  } = props;
1965
1966
  const defaultColors = {
1966
1967
  defaultFontColor,
@@ -2165,32 +2166,6 @@ SingleValue.propTypes = {
2165
2166
  trellisSplitBy: prop_types_default.string,
2166
2167
  align: prop_types_default.string
2167
2168
  };
2168
- SingleValue.defaultProps = {
2169
- width: "100%",
2170
- height: 250,
2171
- majorValue: "N/A",
2172
- majorValueField: "",
2173
- trendDisplay: "absolute",
2174
- shouldAbbreviateTrendValue: false,
2175
- shouldAbbreviateMajorValue: false,
2176
- unitPosition: "after",
2177
- underLabelFontSize: 12,
2178
- numberPrecision: 0,
2179
- shouldUseThousandSeparators: true,
2180
- showSparklineTooltip: false,
2181
- showSparklineAreaGraph: false,
2182
- sparklineDisplay: "below",
2183
- shouldSparklineAcceptNullData: true,
2184
- sparklineNullValueDisplay: void 0,
2185
- sparklineHighlightSegments: 0,
2186
- sparklineHighlightDots: 0,
2187
- hasEventHandlers: false,
2188
- onValueClick: () => {
2189
- },
2190
- trellisKey: "",
2191
- trellisSplitBy: "",
2192
- align: "center"
2193
- };
2194
2169
  var SingleValue_default = SingleValue;
2195
2170
 
2196
2171
  // esm-externals:@splunk/themes/getSettingsFromThemedProps
@@ -2528,7 +2503,7 @@ var Cover = styled_components_default.div`
2528
2503
  bottom: 0;
2529
2504
  `;
2530
2505
  var Blocker = styled_components_default.div.attrs({
2531
- "data-splunk-visualization-version": "28.4.0 - 002bd482f"
2506
+ "data-splunk-visualization-version": "28.5.1 - 617766eb3"
2532
2507
  })`
2533
2508
  position: relative;
2534
2509
  width: 100%;
@@ -2618,7 +2593,7 @@ var withFixedSizeContainer = (Viz) => {
2618
2593
  FixSizeItem,
2619
2594
  {
2620
2595
  "data-test": "fix-size-item",
2621
- "data-splunk-visualization-version": "28.4.0 - 002bd482f",
2596
+ "data-splunk-visualization-version": "28.5.1 - 617766eb3",
2622
2597
  width,
2623
2598
  height,
2624
2599
  backgroundColor
@@ -3235,16 +3210,14 @@ var dataSourcesSplitByModeTimechart = (dataSource, splitBy) => {
3235
3210
  splitDataSources[val] = (0, lodash_exports.cloneDeep)(
3236
3211
  (0, lodash_exports.omit)(dataSource, ["primary.data.fields", "primary.data.columns"])
3237
3212
  );
3238
- splitDataSources[val].primary.data.fields = [
3239
- { name: fields[0].name },
3240
- ...dataSourceKeys.map((k) => ({
3241
- name: k
3242
- }))
3243
- ];
3213
+ splitDataSources[val].primary.data.fields = [{ name: fields[0].name }];
3244
3214
  splitDataSources[val].primary.data.columns = [[...columns[0]]];
3245
3215
  dataSourceKeys.forEach((dsKey) => {
3246
3216
  fields.forEach((field, idx) => {
3247
3217
  if (field.data_source === dsKey && (field.splitby_value === val || field.name === val)) {
3218
+ splitDataSources[val].primary.data.fields.push({
3219
+ name: dsKey
3220
+ });
3248
3221
  splitDataSources[val].primary.data.columns.push([...columns[idx]]);
3249
3222
  }
3250
3223
  });
@@ -3530,25 +3503,27 @@ var parseAxisValue = (val) => {
3530
3503
  const num = typeof val === "number" ? val : Number.parseFloat(val);
3531
3504
  return Number.isNaN(num) ? void 0 : num;
3532
3505
  };
3533
- var SideLegendWidth = 75;
3534
- var SeriesCompareLegendWidth = 200;
3506
+ var parseXAxisLineVisibility = (visibility) => {
3507
+ if (visibility === "hide") return false;
3508
+ if (visibility === "show") return true;
3509
+ return void 0;
3510
+ };
3535
3511
  var getLegend = (props) => {
3536
3512
  const legendPlacement = props == null ? void 0 : props.legendDisplay;
3537
- const { isSeriesCompare } = props;
3513
+ const { isSeriesCompare, legendTruncation } = props;
3538
3514
  const commonLegendProps = {
3539
3515
  center: true,
3540
3516
  fontSize: 12,
3541
3517
  largerTiles: true,
3542
- hideSeriesValue: !isSeriesCompare
3518
+ hideSeriesValue: !isSeriesCompare,
3543
3519
  // Show values if in seriesCompare mode
3520
+ legendTruncation
3544
3521
  };
3545
3522
  switch (legendPlacement) {
3546
3523
  case "off":
3547
3524
  return false;
3548
3525
  case "left":
3549
- return (0, visualization_canvas_exports.LeftLegendFactory)(__spreadValues({
3550
- width: isSeriesCompare ? SeriesCompareLegendWidth : SideLegendWidth
3551
- }, commonLegendProps));
3526
+ return (0, visualization_canvas_exports.LeftLegendFactory)(__spreadValues({}, commonLegendProps));
3552
3527
  case "bottom":
3553
3528
  return (0, visualization_canvas_exports.BottomLegendFactory)(__spreadValues({
3554
3529
  wrap: true
@@ -3558,9 +3533,7 @@ var getLegend = (props) => {
3558
3533
  wrap: true
3559
3534
  }, commonLegendProps));
3560
3535
  default:
3561
- return (0, visualization_canvas_exports.SideLegendFactory)(__spreadValues({
3562
- width: isSeriesCompare ? SeriesCompareLegendWidth : SideLegendWidth
3563
- }, commonLegendProps));
3536
+ return (0, visualization_canvas_exports.SideLegendFactory)(__spreadValues({}, commonLegendProps));
3564
3537
  }
3565
3538
  };
3566
3539
  var getComputedAxisTitles = (inputAxisTitle, fields, axisTitleVisibility) => {
@@ -3621,9 +3594,7 @@ var getYScaleConfig = (label, yAxisAbbreviation, yAxisScale, yAxisLabelVisibilit
3621
3594
  if (yAxisAbbreviation !== "none") {
3622
3595
  yConfig.y.tickFmt = (v) => (0, visualization_canvas_exports.shortenNumber)(v, 1);
3623
3596
  }
3624
- if (yAxisAbbreviation === "none") {
3625
- yConfig.y.width = 55;
3626
- } else {
3597
+ if (yAxisAbbreviation !== "none") {
3627
3598
  yConfig.y.width = label && label.length > 0 ? 30 : 10;
3628
3599
  }
3629
3600
  if (yAxisLabelVisibility === "hide") {
@@ -3646,6 +3617,7 @@ var getY2ScaleConfig = (label, axisAbbreviation, axisScale, roundAxisLabelsToInt
3646
3617
  y2Config.y2.type = scaleType;
3647
3618
  if (axisAbbreviation !== "none") {
3648
3619
  y2Config.y2.tickFmt = (v) => (0, visualization_canvas_exports.shortenNumber)(v, 1, roundAxisLabelsToInteger);
3620
+ y2Config.y2.width = label && label.length > 0 ? 50 : 10;
3649
3621
  } else if (roundAxisLabelsToInteger) {
3650
3622
  y2Config.y2.tickFmt = (v) => roundAxisLabelsToInteger ? Math.round(v).toString() : v.toString();
3651
3623
  }
@@ -3661,7 +3633,7 @@ var getY2ScaleConfig = (label, axisAbbreviation, axisScale, roundAxisLabelsToInt
3661
3633
  }
3662
3634
  return y2Config;
3663
3635
  };
3664
- var getSeriesOverrides = (yfields, y2fields, lineWidth, overlayFields, y2Enabled, nullValueMode, markerDisplay, lineDashStyle, lineDashStylesByField) => {
3636
+ var getSeriesOverrides = (yfields, y2fields, lineWidth, overlayFields, y2Enabled, nullValueMode, markerDisplay, lineDashStyle, lineDashStylesByField, stepPosition, stepPositionsByField) => {
3665
3637
  const seriesConfig = {};
3666
3638
  let spanGaps;
3667
3639
  let replaceNullsWithZero;
@@ -3688,6 +3660,8 @@ var getSeriesOverrides = (yfields, y2fields, lineWidth, overlayFields, y2Enabled
3688
3660
  );
3689
3661
  if (shouldAssignToY2) {
3690
3662
  seriesConfig[field].overrides.scale = "y2";
3663
+ } else {
3664
+ seriesConfig[field].overrides.scale = "y";
3691
3665
  }
3692
3666
  }
3693
3667
  if (overlayFields == null ? void 0 : overlayFields.includes(field)) {
@@ -3700,6 +3674,11 @@ var getSeriesOverrides = (yfields, y2fields, lineWidth, overlayFields, y2Enabled
3700
3674
  if (fieldDashStyle) {
3701
3675
  seriesConfig[field].lineDashStyle = fieldDashStyle;
3702
3676
  }
3677
+ const hasFieldStepPosition = Object.hasOwn(stepPositionsByField || {}, field);
3678
+ const fieldStepPosition = hasFieldStepPosition ? stepPositionsByField == null ? void 0 : stepPositionsByField[field] : stepPosition;
3679
+ if (fieldStepPosition && fieldStepPosition !== "off") {
3680
+ seriesConfig[field].stepPosition = fieldStepPosition;
3681
+ }
3703
3682
  if (replaceNullsWithZero !== void 0) {
3704
3683
  seriesConfig[field].replaceNullsWithZero = replaceNullsWithZero;
3705
3684
  }
@@ -3882,6 +3861,9 @@ var TimeSeriesChartWrapper = (props) => {
3882
3861
  backgroundColor,
3883
3862
  defaultFontColor,
3884
3863
  additionalTooltipValues,
3864
+ xAxisLineVisibility: xAxisLineVisibility,
3865
+ yAxisLineVisibility,
3866
+ y2AxisLineVisibility,
3885
3867
  showYAxisWithZero: showYAxisWithZeroFromProps,
3886
3868
  showY2AxisWithZero: showY2AxisWithZeroFromProps
3887
3869
  } = _a, otherOptions = __objRest(_a, [
@@ -3905,6 +3887,10 @@ var TimeSeriesChartWrapper = (props) => {
3905
3887
  "backgroundColor",
3906
3888
  "defaultFontColor",
3907
3889
  "additionalTooltipValues",
3890
+ // Extract axis line visibility options from props
3891
+ "xAxisLineVisibility",
3892
+ "yAxisLineVisibility",
3893
+ "y2AxisLineVisibility",
3908
3894
  // Extract showYAxisWithZero directly from props for accelerated render mode
3909
3895
  "showYAxisWithZero",
3910
3896
  "showY2AxisWithZero"
@@ -3917,6 +3903,7 @@ var TimeSeriesChartWrapper = (props) => {
3917
3903
  fieldColors,
3918
3904
  legendLabels: legendLabelsStr,
3919
3905
  legendMode,
3906
+ legendTruncation,
3920
3907
  "axisTitleX.text": xAxisTitleText,
3921
3908
  "axisTitleY.text": yAxisTitleText,
3922
3909
  "axisTitleY2.text": y2AxisTitleText,
@@ -3925,6 +3912,7 @@ var TimeSeriesChartWrapper = (props) => {
3925
3912
  "axisTitleY2.visibility": y2AxisTitleVisibility,
3926
3913
  "axisLabelsX.majorLabelVisibility": xAxisLabelVisibility,
3927
3914
  "axisLabelsX.majorLabelStyle.rotation": xAxisLabelRotation,
3915
+ "axisLabelsX.maxLabelParts": xAxisMaxLabelParts,
3928
3916
  "axisLabelsY.majorLabelVisibility": yAxisLabelVisibility,
3929
3917
  "axisLabelsY.majorUnit": yAxisMajorUnitFromSimpleXML,
3930
3918
  "axisLabelsY2.majorLabelVisibility": y2AxisLabelVisibility,
@@ -3942,6 +3930,8 @@ var TimeSeriesChartWrapper = (props) => {
3942
3930
  lineWidth,
3943
3931
  lineDashStyle,
3944
3932
  fieldDashStyles: lineDashStylesByFieldStr,
3933
+ stepPosition,
3934
+ fieldStepPositions: stepPositionsByFieldStr,
3945
3935
  yAxisMin: yAxisMinRaw,
3946
3936
  yAxisMax: yAxisMaxRaw,
3947
3937
  y2AxisMin: y2AxisMinRaw,
@@ -3952,6 +3942,8 @@ var TimeSeriesChartWrapper = (props) => {
3952
3942
  showYMinorGridLines,
3953
3943
  showY2MinorGridLines,
3954
3944
  showLineSmoothing,
3945
+ xAxisMajorTickVisibility,
3946
+ xAxisMajorTickSize,
3955
3947
  yAxisMajorTickVisibility,
3956
3948
  y2AxisMajorTickVisibility,
3957
3949
  yAxisMajorTickSize,
@@ -3968,10 +3960,14 @@ var TimeSeriesChartWrapper = (props) => {
3968
3960
  const dataValuesDisplay = showDataLabels === "none" ? "off" : showDataLabels;
3969
3961
  const showYAxisWithZero = showYAxisWithZeroFromProps != null ? showYAxisWithZeroFromProps : showYAxisWithZeroFromOptions;
3970
3962
  const showY2AxisWithZero = showY2AxisWithZeroFromProps != null ? showY2AxisWithZeroFromProps : showY2AxisWithZeroFromOptions;
3963
+ const showXMajorTicks = xAxisMajorTickVisibility !== "hide";
3971
3964
  const showYMajorTicks = yAxisMajorTickVisibility === "show";
3972
3965
  const showY2MajorTicks = y2AxisMajorTickVisibility === "show";
3973
3966
  const showYMinorTicks = yAxisMinorTickVisibility === "show";
3974
3967
  const showY2MinorTicks = y2AxisMinorTickVisibility === "show";
3968
+ const showXAxisLine = parseXAxisLineVisibility(xAxisLineVisibility);
3969
+ const showYAxisLine = yAxisLineVisibility === "show";
3970
+ const showY2AxisLine = y2AxisLineVisibility === "show";
3975
3971
  const yAxisMin = parseAxisValue(yAxisMinRaw);
3976
3972
  const yAxisMax = parseAxisValue(yAxisMaxRaw);
3977
3973
  const y2AxisMin = parseAxisValue(y2AxisMinRaw);
@@ -3986,13 +3982,15 @@ var TimeSeriesChartWrapper = (props) => {
3986
3982
  y2AxisMajorUnitFromSimpleXML,
3987
3983
  y2AxisMajorTickInterval
3988
3984
  );
3989
- const yAxisMajorTickSizeNum = yAxisMajorTickSize ? Number(yAxisMajorTickSize) : void 0;
3990
- const y2AxisMajorTickSizeNum = y2AxisMajorTickSize ? Number(y2AxisMajorTickSize) : void 0;
3991
- const yAxisMinorTickSizeNum = yAxisMinorTickSize ? Number(yAxisMinorTickSize) : void 0;
3992
- const y2AxisMinorTickSizeNum = y2AxisMinorTickSize ? Number(y2AxisMinorTickSize) : void 0;
3985
+ const xAxisMajorTickSizeNum = xAxisMajorTickSize != null ? Number(xAxisMajorTickSize) : void 0;
3986
+ const yAxisMajorTickSizeNum = yAxisMajorTickSize != null ? Number(yAxisMajorTickSize) : void 0;
3987
+ const y2AxisMajorTickSizeNum = y2AxisMajorTickSize != null ? Number(y2AxisMajorTickSize) : void 0;
3988
+ const yAxisMinorTickSizeNum = yAxisMinorTickSize != null ? Number(yAxisMinorTickSize) : void 0;
3989
+ const y2AxisMinorTickSizeNum = y2AxisMinorTickSize != null ? Number(y2AxisMinorTickSize) : void 0;
3993
3990
  const seriesColors = seriesColorsStr ? JSON.parse(seriesColorsStr) : void 0;
3994
3991
  const seriesColorsByField = fieldColors ? JSON.parse(fieldColors) : void 0;
3995
3992
  const lineDashStylesByField = lineDashStylesByFieldStr ? JSON.parse(lineDashStylesByFieldStr) : void 0;
3993
+ const stepPositionsByField = stepPositionsByFieldStr ? JSON.parse(stepPositionsByFieldStr) : void 0;
3996
3994
  const legendLabels = parseArrayOption(legendLabelsStr);
3997
3995
  const bgColor = backgroundColor || bgColorFromOptions;
3998
3996
  const [containerWidth, setContainerWidth] = react_exports.useState(Number(props.width));
@@ -4080,7 +4078,9 @@ var TimeSeriesChartWrapper = (props) => {
4080
4078
  nullValueMode,
4081
4079
  markerDisplay,
4082
4080
  lineDashStyle,
4083
- lineDashStylesByField
4081
+ lineDashStylesByField,
4082
+ stepPosition,
4083
+ stepPositionsByField
4084
4084
  ),
4085
4085
  [
4086
4086
  yFields,
@@ -4091,7 +4091,9 @@ var TimeSeriesChartWrapper = (props) => {
4091
4091
  nullValueMode,
4092
4092
  markerDisplay,
4093
4093
  lineDashStyle,
4094
- lineDashStylesByField
4094
+ lineDashStylesByField,
4095
+ stepPosition,
4096
+ stepPositionsByField
4095
4097
  ]
4096
4098
  );
4097
4099
  const chartingEventAnnotations = (0, react_exports.useMemo)(
@@ -4106,9 +4108,14 @@ var TimeSeriesChartWrapper = (props) => {
4106
4108
  () => __spreadValues(__spreadValues(__spreadValues({}, xScaleConfig), yScaleConfig), y2ScaleConfig),
4107
4109
  [xScaleConfig, yScaleConfig, y2ScaleConfig]
4108
4110
  );
4111
+ const isSeriesCompare = legendMode === "seriesCompare";
4109
4112
  const legend = (0, react_exports.useMemo)(
4110
- () => getLegend({ legendDisplay, isSeriesCompare: legendMode === "seriesCompare" }),
4111
- [legendDisplay, legendMode]
4113
+ () => getLegend({
4114
+ legendDisplay: isSeriesCompare && legendDisplay !== "off" ? "right" : legendDisplay,
4115
+ isSeriesCompare,
4116
+ legendTruncation
4117
+ }),
4118
+ [legendDisplay, isSeriesCompare, legendTruncation]
4112
4119
  );
4113
4120
  const handleChartClick = react_exports.useCallback(
4114
4121
  (event) => {
@@ -4213,6 +4220,7 @@ var TimeSeriesChartWrapper = (props) => {
4213
4220
  seriesConfig: seriesOverrides,
4214
4221
  legend,
4215
4222
  legendLabels,
4223
+ legendTruncation,
4216
4224
  isSeriesCompare: legendMode === "seriesCompare",
4217
4225
  maxSeriesFocus: legendMode === "seriesCompare" ? 0 : void 0,
4218
4226
  scaleConfig,
@@ -4234,6 +4242,8 @@ var TimeSeriesChartWrapper = (props) => {
4234
4242
  showY2MinorGridLines,
4235
4243
  showLineSmoothing,
4236
4244
  dataValuesDisplay,
4245
+ showXMajorTicks,
4246
+ xAxisMajorTickSize: xAxisMajorTickSizeNum,
4237
4247
  showYMajorTicks,
4238
4248
  showY2MajorTicks,
4239
4249
  yAxisMajorTickSize: yAxisMajorTickSizeNum,
@@ -4245,7 +4255,11 @@ var TimeSeriesChartWrapper = (props) => {
4245
4255
  yAxisMinorTickSize: yAxisMinorTickSizeNum,
4246
4256
  y2AxisMinorTickSize: y2AxisMinorTickSizeNum,
4247
4257
  showYAxisWithZero,
4248
- showY2AxisWithZero
4258
+ showY2AxisWithZero,
4259
+ showXAxisLine,
4260
+ showYAxisLine,
4261
+ showY2AxisLine,
4262
+ xAxisMaxLabelParts
4249
4263
  }
4250
4264
  ));
4251
4265
  }, [
@@ -4260,6 +4274,7 @@ var TimeSeriesChartWrapper = (props) => {
4260
4274
  seriesOverrides,
4261
4275
  legend,
4262
4276
  legendLabels,
4277
+ legendTruncation,
4263
4278
  scaleConfig,
4264
4279
  onClick,
4265
4280
  handleChartClick,
@@ -4278,6 +4293,8 @@ var TimeSeriesChartWrapper = (props) => {
4278
4293
  showY2MinorGridLines,
4279
4294
  showLineSmoothing,
4280
4295
  dataValuesDisplay,
4296
+ showXMajorTicks,
4297
+ xAxisMajorTickSizeNum,
4281
4298
  showYMajorTicks,
4282
4299
  showY2MajorTicks,
4283
4300
  yAxisMajorTickSizeNum,
@@ -4290,7 +4307,11 @@ var TimeSeriesChartWrapper = (props) => {
4290
4307
  y2AxisMinorTickSizeNum,
4291
4308
  showYAxisWithZero,
4292
4309
  showY2AxisWithZero,
4293
- legendMode
4310
+ showXAxisLine,
4311
+ showYAxisLine,
4312
+ showY2AxisLine,
4313
+ legendMode,
4314
+ xAxisMaxLabelParts
4294
4315
  ]);
4295
4316
  const memoizedVisualization = (0, react_exports.useMemo)(() => {
4296
4317
  return /* @__PURE__ */ react_exports.createElement(VizStyleWrapper_default, { backgroundColor: bgColor }, memoizedChart);