@splunk/visualizations 28.4.0 → 28.5.0

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 (160) hide show
  1. package/Area.config.js +28 -7
  2. package/Area.config.js.map +2 -2
  3. package/Area.js +106 -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 +106 -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 +78 -30
  12. package/Bubble.js.map +2 -2
  13. package/CHANGELOG.external.md +89 -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 +106 -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 +122 -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.js.map +2 -2
  62. package/NetworkGraph.js +365 -105
  63. package/NetworkGraph.js.map +4 -4
  64. package/PERFORMANCE.md +23 -0
  65. package/ParallelCoordinates/ParallelCoordinates.d.ts +1 -46
  66. package/ParallelCoordinates/ParallelCoordinates.d.ts.map +1 -1
  67. package/ParallelCoordinates/PureParallelCoordinates/PureParallelCoordinates.d.ts +12 -58
  68. package/ParallelCoordinates/PureParallelCoordinates/PureParallelCoordinates.d.ts.map +1 -1
  69. package/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesChart.d.ts +1 -0
  70. package/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesChart.d.ts.map +1 -1
  71. package/ParallelCoordinates.js +150 -153
  72. package/ParallelCoordinates.js.map +4 -4
  73. package/Pie/Pie.d.ts.map +1 -1
  74. package/Pie/config.d.ts.map +1 -1
  75. package/Pie/pieUtils.d.ts +4 -0
  76. package/Pie/pieUtils.d.ts.map +1 -1
  77. package/Pie.config.js +16 -0
  78. package/Pie.config.js.map +2 -2
  79. package/Pie.js +118 -35
  80. package/Pie.js.map +2 -2
  81. package/Punchcard.js +74 -26
  82. package/Punchcard.js.map +2 -2
  83. package/Rectangle/config.d.ts.map +1 -1
  84. package/Rectangle.config.js +14 -5
  85. package/Rectangle.config.js.map +4 -4
  86. package/Rectangle.js +92 -35
  87. package/Rectangle.js.map +4 -4
  88. package/Sankey/PureSankey/PureSankey.d.ts +26 -72
  89. package/Sankey/PureSankey/PureSankey.d.ts.map +1 -1
  90. package/Sankey/PureSankey/SankeyLink.d.ts +3 -19
  91. package/Sankey/PureSankey/SankeyLink.d.ts.map +1 -1
  92. package/Sankey/PureSankey/SankeyNode.d.ts +3 -20
  93. package/Sankey/PureSankey/SankeyNode.d.ts.map +1 -1
  94. package/Sankey/PureSankey/SankeyTooltip.d.ts +3 -24
  95. package/Sankey/PureSankey/SankeyTooltip.d.ts.map +1 -1
  96. package/Sankey.js +270 -336
  97. package/Sankey.js.map +2 -2
  98. package/Scatter.config.js +168 -147
  99. package/Scatter.config.js.map +4 -4
  100. package/Scatter.js +246 -179
  101. package/Scatter.js.map +4 -4
  102. package/SingleValue.js +96 -75
  103. package/SingleValue.js.map +2 -2
  104. package/SingleValueIcon/config.d.ts.map +1 -1
  105. package/SingleValueIcon.config.js +14 -5
  106. package/SingleValueIcon.config.js.map +4 -4
  107. package/SingleValueIcon.js +118 -76
  108. package/SingleValueIcon.js.map +4 -4
  109. package/SingleValueRadial/PureSingleValueRadial/GaugeGraph.d.ts.map +1 -1
  110. package/SingleValueRadial.js +95 -76
  111. package/SingleValueRadial.js.map +2 -2
  112. package/Table/Table.d.ts.map +1 -1
  113. package/Table/hooks.d.ts +2 -0
  114. package/Table/hooks.d.ts.map +1 -1
  115. package/Table.js +95 -49
  116. package/Table.js.map +2 -2
  117. package/Timeline/PureTimeline/PureTimeline.d.ts.map +1 -1
  118. package/Timeline/PureTimeline/src/TimelinePlugin.d.ts.map +1 -1
  119. package/Timeline/PureTimeline/src/TimelineYAxis.d.ts.map +1 -1
  120. package/Timeline/PureTimeline/src/utils/timelineUtils.d.ts +2 -1
  121. package/Timeline/PureTimeline/src/utils/timelineUtils.d.ts.map +1 -1
  122. package/Timeline.js +154 -54
  123. package/Timeline.js.map +2 -2
  124. package/common/GaugeMajorTicks.js +150 -13
  125. package/common/GaugeMajorTicks.js.map +4 -4
  126. package/common/GaugeValueMarker.js +84 -17
  127. package/common/GaugeValueMarker.js.map +4 -4
  128. package/common/OptionsDoc.js.map +1 -1
  129. package/common/OverviewDoc.d.ts.map +1 -1
  130. package/common/OverviewDoc.js +2 -2
  131. package/common/OverviewDoc.js.map +2 -2
  132. package/common/TimeSeriesChartWrapper.d.ts.map +1 -1
  133. package/common/TimeSeriesChartWrapper.js +72 -24
  134. package/common/TimeSeriesChartWrapper.js.map +2 -2
  135. package/common/chartingUtils.d.ts +9 -3
  136. package/common/chartingUtils.d.ts.map +1 -1
  137. package/common/chartingUtils.js +21 -16
  138. package/common/chartingUtils.js.map +2 -2
  139. package/common/editorConfig/AxesChartDataConfig.d.ts +3 -3
  140. package/common/editorConfig/AxesChartDataConfig.d.ts.map +1 -1
  141. package/common/editorConfig/AxesChartDataDisplay.d.ts +4 -0
  142. package/common/editorConfig/AxesChartDataDisplay.d.ts.map +1 -1
  143. package/common/editorConfig/AxesChartLegend.d.ts.map +1 -1
  144. package/common/gaugeUtils.d.ts +37 -0
  145. package/common/gaugeUtils.d.ts.map +1 -1
  146. package/common/gaugeUtils.js +152 -2
  147. package/common/gaugeUtils.js.map +4 -4
  148. package/common/hocs/mockdata/trellisData.d.ts +119 -0
  149. package/common/hocs/mockdata/trellisData.d.ts.map +1 -1
  150. package/common/interfaces/Overview.d.ts +1 -0
  151. package/common/interfaces/Overview.d.ts.map +1 -1
  152. package/common/interfaces/VizConfig.d.ts +2 -1
  153. package/common/interfaces/VizConfig.d.ts.map +1 -1
  154. package/common/utils/mapUtils.js.map +1 -1
  155. package/common/utils/trellisUtils.d.ts.map +1 -1
  156. package/common/utils/trellisUtils.js +4 -6
  157. package/common/utils/trellisUtils.js.map +2 -2
  158. package/common/withDashboardViz.js +74 -26
  159. package/common/withDashboardViz.js.map +2 -2
  160. package/package.json +36 -36
@@ -1152,32 +1152,33 @@ var Container = styled_components_default.div`
1152
1152
  var SingleValueIcon = (_a) => {
1153
1153
  var props = __objRest(_a, []);
1154
1154
  const {
1155
- width,
1156
- height = 250,
1155
+ width = "100%",
1156
+ height = 400,
1157
1157
  style,
1158
1158
  majorFontSize,
1159
- majorValue,
1159
+ majorValue = "N/A",
1160
1160
  majorValueDisplay,
1161
- majorValueField,
1161
+ majorValueField = "",
1162
1162
  trendValue,
1163
1163
  trendFontSize,
1164
- unitPosition,
1165
- numberPrecision,
1166
- shouldUseThousandSeparators,
1167
- shouldAbbreviateTrendValue,
1168
- shouldAbbreviateMajorValue,
1169
- icon,
1170
- iconOpacity,
1164
+ unitPosition = "after",
1165
+ numberPrecision = 0,
1166
+ shouldUseThousandSeparators = true,
1167
+ shouldAbbreviateTrendValue = false,
1168
+ shouldAbbreviateMajorValue = false,
1169
+ icon = "default",
1170
+ iconOpacity = 1,
1171
1171
  IconComponent,
1172
- noDataSources,
1173
- noResult,
1174
- onValueClick,
1172
+ noDataSources = false,
1173
+ noResult = false,
1174
+ onValueClick = () => {
1175
+ },
1175
1176
  defaultFontColor,
1176
1177
  defaultBlockFontColor,
1177
1178
  splitByLayout,
1178
1179
  trellisKey = "",
1179
1180
  trellisSplitBy = "",
1180
- align
1181
+ align = "center"
1181
1182
  } = props;
1182
1183
  const [containerWidth, setContainerWidth] = react_default.useState(Number(props.width));
1183
1184
  const [containerHeight, setContainerHeight] = react_default.useState(Number(props.height));
@@ -1226,7 +1227,13 @@ var SingleValueIcon = (_a) => {
1226
1227
  opacity: iconOpacity
1227
1228
  });
1228
1229
  } else {
1229
- let { showValue = true, trendDisplay, unit, underLabel, iconPosition } = props;
1230
+ let {
1231
+ showValue = true,
1232
+ trendDisplay = "absolute",
1233
+ unit,
1234
+ underLabel,
1235
+ iconPosition = "before"
1236
+ } = props;
1230
1237
  if (!isValidPosition(iconPosition)) {
1231
1238
  iconPosition = "before";
1232
1239
  }
@@ -1403,27 +1410,7 @@ SingleValueIcon.propTypes = {
1403
1410
  align: prop_types_default.string
1404
1411
  };
1405
1412
  SingleValueIcon.defaultProps = {
1406
- width: "100%",
1407
- height: 400,
1408
- majorValue: "N/A",
1409
- majorValueField: "",
1410
- trendDisplay: "absolute",
1411
- shouldAbbreviateTrendValue: false,
1412
- shouldAbbreviateMajorValue: false,
1413
- numberPrecision: 0,
1414
- shouldUseThousandSeparators: true,
1415
- unitPosition: "after",
1416
- icon: "default",
1417
- iconPosition: "before",
1418
- iconOpacity: 1,
1419
- showValue: true,
1420
- noDataSources: false,
1421
- noResult: false,
1422
- onValueClick: () => {
1423
- },
1424
- trellisKey: "",
1425
- trellisSplitBy: "",
1426
- align: "center"
1413
+ height: 400
1427
1414
  };
1428
1415
  var SingleValueIcon_default = SingleValueIcon;
1429
1416
 
@@ -1762,7 +1749,7 @@ var Cover = styled_components_default.div`
1762
1749
  bottom: 0;
1763
1750
  `;
1764
1751
  var Blocker = styled_components_default.div.attrs({
1765
- "data-splunk-visualization-version": "28.4.0 - 002bd482f"
1752
+ "data-splunk-visualization-version": "28.5.0 - b192418b7"
1766
1753
  })`
1767
1754
  position: relative;
1768
1755
  width: 100%;
@@ -1852,7 +1839,7 @@ var withFixedSizeContainer = (Viz) => {
1852
1839
  FixSizeItem,
1853
1840
  {
1854
1841
  "data-test": "fix-size-item",
1855
- "data-splunk-visualization-version": "28.4.0 - 002bd482f",
1842
+ "data-splunk-visualization-version": "28.5.0 - b192418b7",
1856
1843
  width,
1857
1844
  height,
1858
1845
  backgroundColor
@@ -2469,16 +2456,14 @@ var dataSourcesSplitByModeTimechart = (dataSource, splitBy) => {
2469
2456
  splitDataSources[val] = (0, lodash_exports.cloneDeep)(
2470
2457
  (0, lodash_exports.omit)(dataSource, ["primary.data.fields", "primary.data.columns"])
2471
2458
  );
2472
- splitDataSources[val].primary.data.fields = [
2473
- { name: fields[0].name },
2474
- ...dataSourceKeys.map((k) => ({
2475
- name: k
2476
- }))
2477
- ];
2459
+ splitDataSources[val].primary.data.fields = [{ name: fields[0].name }];
2478
2460
  splitDataSources[val].primary.data.columns = [[...columns[0]]];
2479
2461
  dataSourceKeys.forEach((dsKey) => {
2480
2462
  fields.forEach((field, idx) => {
2481
2463
  if (field.data_source === dsKey && (field.splitby_value === val || field.name === val)) {
2464
+ splitDataSources[val].primary.data.fields.push({
2465
+ name: dsKey
2466
+ });
2482
2467
  splitDataSources[val].primary.data.columns.push([...columns[idx]]);
2483
2468
  }
2484
2469
  });
@@ -2764,25 +2749,27 @@ var parseAxisValue = (val) => {
2764
2749
  const num = typeof val === "number" ? val : Number.parseFloat(val);
2765
2750
  return Number.isNaN(num) ? void 0 : num;
2766
2751
  };
2767
- var SideLegendWidth = 75;
2768
- var SeriesCompareLegendWidth = 200;
2752
+ var parseXAxisLineVisibility = (visibility) => {
2753
+ if (visibility === "hide") return false;
2754
+ if (visibility === "show") return true;
2755
+ return void 0;
2756
+ };
2769
2757
  var getLegend = (props) => {
2770
2758
  const legendPlacement = props == null ? void 0 : props.legendDisplay;
2771
- const { isSeriesCompare } = props;
2759
+ const { isSeriesCompare, legendTruncation } = props;
2772
2760
  const commonLegendProps = {
2773
2761
  center: true,
2774
2762
  fontSize: 12,
2775
2763
  largerTiles: true,
2776
- hideSeriesValue: !isSeriesCompare
2764
+ hideSeriesValue: !isSeriesCompare,
2777
2765
  // Show values if in seriesCompare mode
2766
+ legendTruncation
2778
2767
  };
2779
2768
  switch (legendPlacement) {
2780
2769
  case "off":
2781
2770
  return false;
2782
2771
  case "left":
2783
- return (0, visualization_canvas_exports.LeftLegendFactory)(__spreadValues({
2784
- width: isSeriesCompare ? SeriesCompareLegendWidth : SideLegendWidth
2785
- }, commonLegendProps));
2772
+ return (0, visualization_canvas_exports.LeftLegendFactory)(__spreadValues({}, commonLegendProps));
2786
2773
  case "bottom":
2787
2774
  return (0, visualization_canvas_exports.BottomLegendFactory)(__spreadValues({
2788
2775
  wrap: true
@@ -2792,9 +2779,7 @@ var getLegend = (props) => {
2792
2779
  wrap: true
2793
2780
  }, commonLegendProps));
2794
2781
  default:
2795
- return (0, visualization_canvas_exports.SideLegendFactory)(__spreadValues({
2796
- width: isSeriesCompare ? SeriesCompareLegendWidth : SideLegendWidth
2797
- }, commonLegendProps));
2782
+ return (0, visualization_canvas_exports.SideLegendFactory)(__spreadValues({}, commonLegendProps));
2798
2783
  }
2799
2784
  };
2800
2785
  var getComputedAxisTitles = (inputAxisTitle, fields, axisTitleVisibility) => {
@@ -2855,9 +2840,7 @@ var getYScaleConfig = (label, yAxisAbbreviation, yAxisScale, yAxisLabelVisibilit
2855
2840
  if (yAxisAbbreviation !== "none") {
2856
2841
  yConfig.y.tickFmt = (v) => (0, visualization_canvas_exports.shortenNumber)(v, 1);
2857
2842
  }
2858
- if (yAxisAbbreviation === "none") {
2859
- yConfig.y.width = 55;
2860
- } else {
2843
+ if (yAxisAbbreviation !== "none") {
2861
2844
  yConfig.y.width = label && label.length > 0 ? 30 : 10;
2862
2845
  }
2863
2846
  if (yAxisLabelVisibility === "hide") {
@@ -2880,6 +2863,7 @@ var getY2ScaleConfig = (label, axisAbbreviation, axisScale, roundAxisLabelsToInt
2880
2863
  y2Config.y2.type = scaleType;
2881
2864
  if (axisAbbreviation !== "none") {
2882
2865
  y2Config.y2.tickFmt = (v) => (0, visualization_canvas_exports.shortenNumber)(v, 1, roundAxisLabelsToInteger);
2866
+ y2Config.y2.width = label && label.length > 0 ? 50 : 10;
2883
2867
  } else if (roundAxisLabelsToInteger) {
2884
2868
  y2Config.y2.tickFmt = (v) => roundAxisLabelsToInteger ? Math.round(v).toString() : v.toString();
2885
2869
  }
@@ -2895,7 +2879,7 @@ var getY2ScaleConfig = (label, axisAbbreviation, axisScale, roundAxisLabelsToInt
2895
2879
  }
2896
2880
  return y2Config;
2897
2881
  };
2898
- var getSeriesOverrides = (yfields, y2fields, lineWidth, overlayFields, y2Enabled, nullValueMode, markerDisplay, lineDashStyle, lineDashStylesByField) => {
2882
+ var getSeriesOverrides = (yfields, y2fields, lineWidth, overlayFields, y2Enabled, nullValueMode, markerDisplay, lineDashStyle, lineDashStylesByField, stepPosition, stepPositionsByField) => {
2899
2883
  const seriesConfig = {};
2900
2884
  let spanGaps;
2901
2885
  let replaceNullsWithZero;
@@ -2922,6 +2906,8 @@ var getSeriesOverrides = (yfields, y2fields, lineWidth, overlayFields, y2Enabled
2922
2906
  );
2923
2907
  if (shouldAssignToY2) {
2924
2908
  seriesConfig[field].overrides.scale = "y2";
2909
+ } else {
2910
+ seriesConfig[field].overrides.scale = "y";
2925
2911
  }
2926
2912
  }
2927
2913
  if (overlayFields == null ? void 0 : overlayFields.includes(field)) {
@@ -2934,6 +2920,11 @@ var getSeriesOverrides = (yfields, y2fields, lineWidth, overlayFields, y2Enabled
2934
2920
  if (fieldDashStyle) {
2935
2921
  seriesConfig[field].lineDashStyle = fieldDashStyle;
2936
2922
  }
2923
+ const hasFieldStepPosition = Object.hasOwn(stepPositionsByField || {}, field);
2924
+ const fieldStepPosition = hasFieldStepPosition ? stepPositionsByField == null ? void 0 : stepPositionsByField[field] : stepPosition;
2925
+ if (fieldStepPosition && fieldStepPosition !== "off") {
2926
+ seriesConfig[field].stepPosition = fieldStepPosition;
2927
+ }
2937
2928
  if (replaceNullsWithZero !== void 0) {
2938
2929
  seriesConfig[field].replaceNullsWithZero = replaceNullsWithZero;
2939
2930
  }
@@ -3116,6 +3107,9 @@ var TimeSeriesChartWrapper = (props) => {
3116
3107
  backgroundColor,
3117
3108
  defaultFontColor,
3118
3109
  additionalTooltipValues,
3110
+ xAxisLineVisibility: xAxisLineVisibility,
3111
+ yAxisLineVisibility,
3112
+ y2AxisLineVisibility,
3119
3113
  showYAxisWithZero: showYAxisWithZeroFromProps,
3120
3114
  showY2AxisWithZero: showY2AxisWithZeroFromProps
3121
3115
  } = _a, otherOptions = __objRest(_a, [
@@ -3139,6 +3133,10 @@ var TimeSeriesChartWrapper = (props) => {
3139
3133
  "backgroundColor",
3140
3134
  "defaultFontColor",
3141
3135
  "additionalTooltipValues",
3136
+ // Extract axis line visibility options from props
3137
+ "xAxisLineVisibility",
3138
+ "yAxisLineVisibility",
3139
+ "y2AxisLineVisibility",
3142
3140
  // Extract showYAxisWithZero directly from props for accelerated render mode
3143
3141
  "showYAxisWithZero",
3144
3142
  "showY2AxisWithZero"
@@ -3151,6 +3149,7 @@ var TimeSeriesChartWrapper = (props) => {
3151
3149
  fieldColors,
3152
3150
  legendLabels: legendLabelsStr,
3153
3151
  legendMode,
3152
+ legendTruncation,
3154
3153
  "axisTitleX.text": xAxisTitleText,
3155
3154
  "axisTitleY.text": yAxisTitleText,
3156
3155
  "axisTitleY2.text": y2AxisTitleText,
@@ -3159,6 +3158,7 @@ var TimeSeriesChartWrapper = (props) => {
3159
3158
  "axisTitleY2.visibility": y2AxisTitleVisibility,
3160
3159
  "axisLabelsX.majorLabelVisibility": xAxisLabelVisibility,
3161
3160
  "axisLabelsX.majorLabelStyle.rotation": xAxisLabelRotation,
3161
+ "axisLabelsX.maxLabelParts": xAxisMaxLabelParts,
3162
3162
  "axisLabelsY.majorLabelVisibility": yAxisLabelVisibility,
3163
3163
  "axisLabelsY.majorUnit": yAxisMajorUnitFromSimpleXML,
3164
3164
  "axisLabelsY2.majorLabelVisibility": y2AxisLabelVisibility,
@@ -3176,6 +3176,8 @@ var TimeSeriesChartWrapper = (props) => {
3176
3176
  lineWidth,
3177
3177
  lineDashStyle,
3178
3178
  fieldDashStyles: lineDashStylesByFieldStr,
3179
+ stepPosition,
3180
+ fieldStepPositions: stepPositionsByFieldStr,
3179
3181
  yAxisMin: yAxisMinRaw,
3180
3182
  yAxisMax: yAxisMaxRaw,
3181
3183
  y2AxisMin: y2AxisMinRaw,
@@ -3186,6 +3188,8 @@ var TimeSeriesChartWrapper = (props) => {
3186
3188
  showYMinorGridLines,
3187
3189
  showY2MinorGridLines,
3188
3190
  showLineSmoothing,
3191
+ xAxisMajorTickVisibility,
3192
+ xAxisMajorTickSize,
3189
3193
  yAxisMajorTickVisibility,
3190
3194
  y2AxisMajorTickVisibility,
3191
3195
  yAxisMajorTickSize,
@@ -3202,10 +3206,14 @@ var TimeSeriesChartWrapper = (props) => {
3202
3206
  const dataValuesDisplay = showDataLabels === "none" ? "off" : showDataLabels;
3203
3207
  const showYAxisWithZero = showYAxisWithZeroFromProps != null ? showYAxisWithZeroFromProps : showYAxisWithZeroFromOptions;
3204
3208
  const showY2AxisWithZero = showY2AxisWithZeroFromProps != null ? showY2AxisWithZeroFromProps : showY2AxisWithZeroFromOptions;
3209
+ const showXMajorTicks = xAxisMajorTickVisibility !== "hide";
3205
3210
  const showYMajorTicks = yAxisMajorTickVisibility === "show";
3206
3211
  const showY2MajorTicks = y2AxisMajorTickVisibility === "show";
3207
3212
  const showYMinorTicks = yAxisMinorTickVisibility === "show";
3208
3213
  const showY2MinorTicks = y2AxisMinorTickVisibility === "show";
3214
+ const showXAxisLine = parseXAxisLineVisibility(xAxisLineVisibility);
3215
+ const showYAxisLine = yAxisLineVisibility === "show";
3216
+ const showY2AxisLine = y2AxisLineVisibility === "show";
3209
3217
  const yAxisMin = parseAxisValue(yAxisMinRaw);
3210
3218
  const yAxisMax = parseAxisValue(yAxisMaxRaw);
3211
3219
  const y2AxisMin = parseAxisValue(y2AxisMinRaw);
@@ -3220,13 +3228,15 @@ var TimeSeriesChartWrapper = (props) => {
3220
3228
  y2AxisMajorUnitFromSimpleXML,
3221
3229
  y2AxisMajorTickInterval
3222
3230
  );
3223
- const yAxisMajorTickSizeNum = yAxisMajorTickSize ? Number(yAxisMajorTickSize) : void 0;
3224
- const y2AxisMajorTickSizeNum = y2AxisMajorTickSize ? Number(y2AxisMajorTickSize) : void 0;
3225
- const yAxisMinorTickSizeNum = yAxisMinorTickSize ? Number(yAxisMinorTickSize) : void 0;
3226
- const y2AxisMinorTickSizeNum = y2AxisMinorTickSize ? Number(y2AxisMinorTickSize) : void 0;
3231
+ const xAxisMajorTickSizeNum = xAxisMajorTickSize != null ? Number(xAxisMajorTickSize) : void 0;
3232
+ const yAxisMajorTickSizeNum = yAxisMajorTickSize != null ? Number(yAxisMajorTickSize) : void 0;
3233
+ const y2AxisMajorTickSizeNum = y2AxisMajorTickSize != null ? Number(y2AxisMajorTickSize) : void 0;
3234
+ const yAxisMinorTickSizeNum = yAxisMinorTickSize != null ? Number(yAxisMinorTickSize) : void 0;
3235
+ const y2AxisMinorTickSizeNum = y2AxisMinorTickSize != null ? Number(y2AxisMinorTickSize) : void 0;
3227
3236
  const seriesColors = seriesColorsStr ? JSON.parse(seriesColorsStr) : void 0;
3228
3237
  const seriesColorsByField = fieldColors ? JSON.parse(fieldColors) : void 0;
3229
3238
  const lineDashStylesByField = lineDashStylesByFieldStr ? JSON.parse(lineDashStylesByFieldStr) : void 0;
3239
+ const stepPositionsByField = stepPositionsByFieldStr ? JSON.parse(stepPositionsByFieldStr) : void 0;
3230
3240
  const legendLabels = parseArrayOption(legendLabelsStr);
3231
3241
  const bgColor = backgroundColor || bgColorFromOptions;
3232
3242
  const [containerWidth, setContainerWidth] = react_exports.useState(Number(props.width));
@@ -3314,7 +3324,9 @@ var TimeSeriesChartWrapper = (props) => {
3314
3324
  nullValueMode,
3315
3325
  markerDisplay,
3316
3326
  lineDashStyle,
3317
- lineDashStylesByField
3327
+ lineDashStylesByField,
3328
+ stepPosition,
3329
+ stepPositionsByField
3318
3330
  ),
3319
3331
  [
3320
3332
  yFields,
@@ -3325,7 +3337,9 @@ var TimeSeriesChartWrapper = (props) => {
3325
3337
  nullValueMode,
3326
3338
  markerDisplay,
3327
3339
  lineDashStyle,
3328
- lineDashStylesByField
3340
+ lineDashStylesByField,
3341
+ stepPosition,
3342
+ stepPositionsByField
3329
3343
  ]
3330
3344
  );
3331
3345
  const chartingEventAnnotations = (0, react_exports.useMemo)(
@@ -3340,9 +3354,14 @@ var TimeSeriesChartWrapper = (props) => {
3340
3354
  () => __spreadValues(__spreadValues(__spreadValues({}, xScaleConfig), yScaleConfig), y2ScaleConfig),
3341
3355
  [xScaleConfig, yScaleConfig, y2ScaleConfig]
3342
3356
  );
3357
+ const isSeriesCompare = legendMode === "seriesCompare";
3343
3358
  const legend = (0, react_exports.useMemo)(
3344
- () => getLegend({ legendDisplay, isSeriesCompare: legendMode === "seriesCompare" }),
3345
- [legendDisplay, legendMode]
3359
+ () => getLegend({
3360
+ legendDisplay: isSeriesCompare && legendDisplay !== "off" ? "right" : legendDisplay,
3361
+ isSeriesCompare,
3362
+ legendTruncation
3363
+ }),
3364
+ [legendDisplay, isSeriesCompare, legendTruncation]
3346
3365
  );
3347
3366
  const handleChartClick = react_exports.useCallback(
3348
3367
  (event) => {
@@ -3447,6 +3466,7 @@ var TimeSeriesChartWrapper = (props) => {
3447
3466
  seriesConfig: seriesOverrides,
3448
3467
  legend,
3449
3468
  legendLabels,
3469
+ legendTruncation,
3450
3470
  isSeriesCompare: legendMode === "seriesCompare",
3451
3471
  maxSeriesFocus: legendMode === "seriesCompare" ? 0 : void 0,
3452
3472
  scaleConfig,
@@ -3468,6 +3488,8 @@ var TimeSeriesChartWrapper = (props) => {
3468
3488
  showY2MinorGridLines,
3469
3489
  showLineSmoothing,
3470
3490
  dataValuesDisplay,
3491
+ showXMajorTicks,
3492
+ xAxisMajorTickSize: xAxisMajorTickSizeNum,
3471
3493
  showYMajorTicks,
3472
3494
  showY2MajorTicks,
3473
3495
  yAxisMajorTickSize: yAxisMajorTickSizeNum,
@@ -3479,7 +3501,11 @@ var TimeSeriesChartWrapper = (props) => {
3479
3501
  yAxisMinorTickSize: yAxisMinorTickSizeNum,
3480
3502
  y2AxisMinorTickSize: y2AxisMinorTickSizeNum,
3481
3503
  showYAxisWithZero,
3482
- showY2AxisWithZero
3504
+ showY2AxisWithZero,
3505
+ showXAxisLine,
3506
+ showYAxisLine,
3507
+ showY2AxisLine,
3508
+ xAxisMaxLabelParts
3483
3509
  }
3484
3510
  ));
3485
3511
  }, [
@@ -3494,6 +3520,7 @@ var TimeSeriesChartWrapper = (props) => {
3494
3520
  seriesOverrides,
3495
3521
  legend,
3496
3522
  legendLabels,
3523
+ legendTruncation,
3497
3524
  scaleConfig,
3498
3525
  onClick,
3499
3526
  handleChartClick,
@@ -3512,6 +3539,8 @@ var TimeSeriesChartWrapper = (props) => {
3512
3539
  showY2MinorGridLines,
3513
3540
  showLineSmoothing,
3514
3541
  dataValuesDisplay,
3542
+ showXMajorTicks,
3543
+ xAxisMajorTickSizeNum,
3515
3544
  showYMajorTicks,
3516
3545
  showY2MajorTicks,
3517
3546
  yAxisMajorTickSizeNum,
@@ -3524,7 +3553,11 @@ var TimeSeriesChartWrapper = (props) => {
3524
3553
  y2AxisMinorTickSizeNum,
3525
3554
  showYAxisWithZero,
3526
3555
  showY2AxisWithZero,
3527
- legendMode
3556
+ showXAxisLine,
3557
+ showYAxisLine,
3558
+ showY2AxisLine,
3559
+ legendMode,
3560
+ xAxisMaxLabelParts
3528
3561
  ]);
3529
3562
  const memoizedVisualization = (0, react_exports.useMemo)(() => {
3530
3563
  return /* @__PURE__ */ react_exports.createElement(VizStyleWrapper_default, { backgroundColor: bgColor }, memoizedChart);
@@ -3863,6 +3896,15 @@ var defaultImport44 = __toESM(require("@splunk/visualizations-shared/configUtils
3863
3896
  __reExport(configUtils_exports, require("@splunk/visualizations-shared/configUtils"));
3864
3897
  var configUtils_default = "default" in defaultImport44 ? defaultImport44.default : defaultImport44;
3865
3898
 
3899
+ // esm-externals:@splunk/visualization-icons
3900
+ var visualization_icons_exports = {};
3901
+ __export(visualization_icons_exports, {
3902
+ default: () => visualization_icons_default
3903
+ });
3904
+ var defaultImport45 = __toESM(require("@splunk/visualization-icons"));
3905
+ __reExport(visualization_icons_exports, require("@splunk/visualization-icons"));
3906
+ var visualization_icons_default = "default" in defaultImport45 ? defaultImport45.default : defaultImport45;
3907
+
3866
3908
  // src/common/configContext/singleValueContext.ts
3867
3909
  var defaultContext = {
3868
3910
  trendColorConfig: [
@@ -4555,7 +4597,7 @@ var config = {
4555
4597
  /**
4556
4598
  * viz icon
4557
4599
  */
4558
- icon: null,
4600
+ icon: visualization_icons_exports.SingleValue,
4559
4601
  dataContract,
4560
4602
  size,
4561
4603
  defaultContext,
@@ -4577,27 +4619,27 @@ var Paginator_exports = {};
4577
4619
  __export(Paginator_exports, {
4578
4620
  default: () => Paginator_default
4579
4621
  });
4580
- var defaultImport45 = __toESM(require("@splunk/react-ui/Paginator"));
4622
+ var defaultImport46 = __toESM(require("@splunk/react-ui/Paginator"));
4581
4623
  __reExport(Paginator_exports, require("@splunk/react-ui/Paginator"));
4582
- var Paginator_default = "default" in defaultImport45 ? defaultImport45.default : defaultImport45;
4624
+ var Paginator_default = "default" in defaultImport46 ? defaultImport46.default : defaultImport46;
4583
4625
 
4584
4626
  // esm-externals:@splunk/themes
4585
4627
  var themes_exports = {};
4586
4628
  __export(themes_exports, {
4587
4629
  default: () => themes_default
4588
4630
  });
4589
- var defaultImport46 = __toESM(require("@splunk/themes"));
4631
+ var defaultImport47 = __toESM(require("@splunk/themes"));
4590
4632
  __reExport(themes_exports, require("@splunk/themes"));
4591
- var themes_default = "default" in defaultImport46 ? defaultImport46.default : defaultImport46;
4633
+ var themes_default = "default" in defaultImport47 ? defaultImport47.default : defaultImport47;
4592
4634
 
4593
4635
  // esm-externals:@splunk/themes/useSplunkTheme
4594
4636
  var useSplunkTheme_exports = {};
4595
4637
  __export(useSplunkTheme_exports, {
4596
4638
  default: () => useSplunkTheme_default
4597
4639
  });
4598
- var defaultImport47 = __toESM(require("@splunk/themes/useSplunkTheme"));
4640
+ var defaultImport48 = __toESM(require("@splunk/themes/useSplunkTheme"));
4599
4641
  __reExport(useSplunkTheme_exports, require("@splunk/themes/useSplunkTheme"));
4600
- var useSplunkTheme_default = "default" in defaultImport47 ? defaultImport47.default : defaultImport47;
4642
+ var useSplunkTheme_default = "default" in defaultImport48 ? defaultImport48.default : defaultImport48;
4601
4643
 
4602
4644
  // src/common/hocs/withTrellis.tsx
4603
4645
  var TrellisContainer = styled_components_default.div`