@splunk/visualizations 27.4.0 → 28.0.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 (164) hide show
  1. package/Area.config.js +26 -21
  2. package/Area.config.js.map +3 -3
  3. package/Area.js +88 -36
  4. package/Area.js.map +3 -3
  5. package/Bar.config.js +25 -21
  6. package/Bar.config.js.map +3 -3
  7. package/Bar.js +83 -37
  8. package/Bar.js.map +3 -3
  9. package/Bubble.config.js +46 -44
  10. package/Bubble.config.js.map +4 -4
  11. package/Bubble.js +83 -54
  12. package/Bubble.js.map +4 -4
  13. package/CHANGELOG.external.md +54 -7
  14. package/ChoroplethSvg.config.js +47 -43
  15. package/ChoroplethSvg.config.js.map +4 -4
  16. package/ChoroplethSvg.js +72 -45
  17. package/ChoroplethSvg.js.map +4 -4
  18. package/Column.config.js +22 -20
  19. package/Column.config.js.map +3 -3
  20. package/Column.js +76 -33
  21. package/Column.js.map +3 -3
  22. package/Ellipse.config.js +16 -7
  23. package/Ellipse.config.js.map +2 -2
  24. package/Ellipse.js +104 -20
  25. package/Ellipse.js.map +4 -4
  26. package/Events.config.js +38 -27
  27. package/Events.config.js.map +4 -4
  28. package/Events.js +122 -101
  29. package/Events.js.map +4 -4
  30. package/FEATUREFLAGS.md +9 -7
  31. package/FillerGauge.config.js +20 -13
  32. package/FillerGauge.config.js.map +3 -3
  33. package/FillerGauge.js +76 -27
  34. package/FillerGauge.js.map +4 -4
  35. package/Image.config.js +5 -6
  36. package/Image.config.js.map +2 -2
  37. package/Image.js +29 -14
  38. package/Image.js.map +2 -2
  39. package/Line.config.js +22 -20
  40. package/Line.config.js.map +3 -3
  41. package/Line.js +84 -35
  42. package/Line.js.map +3 -3
  43. package/LinkGraph.config.js +39 -46
  44. package/LinkGraph.config.js.map +3 -3
  45. package/LinkGraph.js +70 -50
  46. package/LinkGraph.js.map +3 -3
  47. package/MIGRATION.md +169 -40
  48. package/Map.config.js +47 -13
  49. package/Map.config.js.map +4 -4
  50. package/Map.js +350 -159
  51. package/Map.js.map +4 -4
  52. package/Markdown.config.js +4 -5
  53. package/Markdown.config.js.map +2 -2
  54. package/Markdown.js +117 -72
  55. package/Markdown.js.map +3 -3
  56. package/MarkerGauge.config.js +14 -12
  57. package/MarkerGauge.config.js.map +3 -3
  58. package/MarkerGauge.js +107 -69
  59. package/MarkerGauge.js.map +4 -4
  60. package/ParallelCoordinates.config.js +14 -12
  61. package/ParallelCoordinates.config.js.map +3 -3
  62. package/ParallelCoordinates.js +113 -59
  63. package/ParallelCoordinates.js.map +3 -3
  64. package/Pie.config.js +51 -38
  65. package/Pie.config.js.map +4 -4
  66. package/Pie.js +116 -88
  67. package/Pie.js.map +4 -4
  68. package/Punchcard.config.js +36 -34
  69. package/Punchcard.config.js.map +4 -4
  70. package/Punchcard.js +153 -87
  71. package/Punchcard.js.map +4 -4
  72. package/README.internal.md +15 -15
  73. package/README.md +10 -10
  74. package/Rectangle.config.js +16 -7
  75. package/Rectangle.config.js.map +2 -2
  76. package/Rectangle.js +103 -20
  77. package/Rectangle.js.map +4 -4
  78. package/Sankey.config.js +69 -17
  79. package/Sankey.config.js.map +4 -4
  80. package/Sankey.js +212 -82
  81. package/Sankey.js.map +4 -4
  82. package/Scatter.config.js +44 -42
  83. package/Scatter.config.js.map +3 -3
  84. package/Scatter.js +84 -56
  85. package/Scatter.js.map +3 -3
  86. package/SingleValue.config.js +32 -18
  87. package/SingleValue.config.js.map +4 -4
  88. package/SingleValue.js +238 -94
  89. package/SingleValue.js.map +4 -4
  90. package/SingleValueBasic.js +1 -0
  91. package/SingleValueBasic.js.map +2 -2
  92. package/SingleValueIcon.config.js +22 -11
  93. package/SingleValueIcon.config.js.map +2 -2
  94. package/SingleValueIcon.js +85 -29
  95. package/SingleValueIcon.js.map +2 -2
  96. package/SingleValueRadial.config.js +34 -23
  97. package/SingleValueRadial.config.js.map +3 -3
  98. package/SingleValueRadial.js +90 -49
  99. package/SingleValueRadial.js.map +4 -4
  100. package/SparkLine.js +153 -49
  101. package/SparkLine.js.map +2 -2
  102. package/Table.config.js +71 -51
  103. package/Table.config.js.map +3 -3
  104. package/Table.js +282 -145
  105. package/Table.js.map +3 -3
  106. package/Timeline.config.js +36 -34
  107. package/Timeline.config.js.map +4 -4
  108. package/Timeline.js +67 -59
  109. package/Timeline.js.map +4 -4
  110. package/common/Charting.js +8 -3
  111. package/common/Charting.js.map +2 -2
  112. package/common/ChartingApi.js +1 -0
  113. package/common/ChartingApi.js.map +1 -1
  114. package/common/DocExampleWithVizSandbox.js +7 -2
  115. package/common/DocExampleWithVizSandbox.js.map +2 -2
  116. package/common/EventsDoc.js +31 -5
  117. package/common/EventsDoc.js.map +4 -4
  118. package/common/GaugeMajorTicks.js +4 -1
  119. package/common/GaugeMajorTicks.js.map +2 -2
  120. package/common/GaugeValueMarker.js +31 -3
  121. package/common/GaugeValueMarker.js.map +4 -4
  122. package/common/OptionsDoc.js +4 -1
  123. package/common/OptionsDoc.js.map +2 -2
  124. package/common/OverviewDoc.js +66 -50
  125. package/common/OverviewDoc.js.map +4 -4
  126. package/common/SplunkVisualization.js +1 -0
  127. package/common/SplunkVisualization.js.map +1 -1
  128. package/common/SplunkVisualizationApi.js +1 -0
  129. package/common/SplunkVisualizationApi.js.map +1 -1
  130. package/common/ThemedDefaults.js +67 -0
  131. package/common/ThemedDefaults.js.map +7 -0
  132. package/common/ThemesDoc.js +6 -9
  133. package/common/ThemesDoc.js.map +2 -2
  134. package/common/chartingUtils.js +12 -0
  135. package/common/chartingUtils.js.map +2 -2
  136. package/common/docUtils.js +6 -1
  137. package/common/docUtils.js.map +2 -2
  138. package/common/gaugeUtils.js +6 -1
  139. package/common/gaugeUtils.js.map +2 -2
  140. package/common/shapeUtils.js +87 -3
  141. package/common/shapeUtils.js.map +4 -4
  142. package/common/utils/configUtils.js +4 -5
  143. package/common/utils/configUtils.js.map +2 -2
  144. package/common/utils/dataUtils.js +1 -0
  145. package/common/utils/dataUtils.js.map +2 -2
  146. package/common/utils/featureFlagUtils.js +1 -0
  147. package/common/utils/featureFlagUtils.js.map +1 -1
  148. package/common/utils/hocUtils.js +1 -0
  149. package/common/utils/hocUtils.js.map +1 -1
  150. package/common/utils/mapUtils.js +174 -48
  151. package/common/utils/mapUtils.js.map +4 -4
  152. package/common/utils/singleValueUtils.js +9 -3
  153. package/common/utils/singleValueUtils.js.map +2 -2
  154. package/common/utils/styleUtils.js +1 -0
  155. package/common/utils/styleUtils.js.map +1 -1
  156. package/common/utils/testHelper.js +1 -0
  157. package/common/utils/testHelper.js.map +1 -1
  158. package/common/utils/trellisUtils.js +1 -0
  159. package/common/utils/trellisUtils.js.map +1 -1
  160. package/common/utils/urlUtils.js +1 -0
  161. package/common/utils/urlUtils.js.map +1 -1
  162. package/common/withDashboardViz.js +25 -8
  163. package/common/withDashboardViz.js.map +2 -2
  164. package/package.json +37 -35
package/Line.js CHANGED
@@ -1,6 +1,7 @@
1
1
  /* Copyright © 2020 Splunk Inc.
2
2
  SPLUNK CONFIDENTIAL – Use or disclosure of this material in whole or
3
3
  in part without a valid written license from Splunk Inc. is PROHIBITED. */
4
+ "use strict";
4
5
  var __create = Object.create;
5
6
  var __defProp = Object.defineProperty;
6
7
  var __defProps = Object.defineProperties;
@@ -652,6 +653,7 @@ var propTypes = {
652
653
  onDownsamplingThresholdChange: prop_types_exports.func,
653
654
  xField: prop_types_exports.string,
654
655
  y2Fields: prop_types_exports.array,
656
+ additionalTooltipFields: prop_types_exports.array,
655
657
  splitByLayout: prop_types_exports.oneOf(Object.values(visualization_schemas_exports.LAYOUT_TYPE)),
656
658
  trellisKey: prop_types_exports.string,
657
659
  trellisSplitBy: prop_types_exports.string,
@@ -697,7 +699,8 @@ var Charting = (props) => {
697
699
  xField,
698
700
  backgroundColor,
699
701
  defaultFontColor,
700
- trellisKey
702
+ trellisKey,
703
+ additionalTooltipFields
701
704
  } = props;
702
705
  const prevOptions = usePrevious(options);
703
706
  const prevTimezone = usePrevious(timezone);
@@ -924,7 +927,8 @@ var Charting = (props) => {
924
927
  timezone == null ? void 0 : timezone.utcOffset,
925
928
  timezone == null ? void 0 : timezone.serializedTimezone,
926
929
  themeKey,
927
- onClick
930
+ onClick,
931
+ additionalTooltipFields
928
932
  ]);
929
933
  return /* @__PURE__ */ react_exports.createElement(react_exports.Fragment, null, trellisEnabled && /* @__PURE__ */ react_exports.createElement(
930
934
  TrellisTitle,
@@ -967,7 +971,8 @@ var defaultProps = {
967
971
  trellisKey: void 0,
968
972
  trellisSplitBy: void 0,
969
973
  backgroundColor: "",
970
- defaultFontColor: ""
974
+ defaultFontColor: "",
975
+ additionalTooltipFields: []
971
976
  };
972
977
  Charting.propTypes = propTypes;
973
978
  Charting.defaultProps = defaultProps;
@@ -1033,11 +1038,9 @@ var configUtils_default = "default" in defaultImport22 ? defaultImport22.default
1033
1038
  // src/common/utils/configUtils.ts
1034
1039
  function enhanceConfig(vizConfig) {
1035
1040
  const enhancedConfig = __spreadValues({}, vizConfig);
1036
- enhancedConfig.editorConfig = vizConfig.editorConfig.map(
1037
- (config2) => {
1038
- return __spreadProps(__spreadValues({}, config2), { open: config2.open || false });
1039
- }
1040
- );
1041
+ enhancedConfig.editorConfig = vizConfig.editorConfig.map((config2) => {
1042
+ return __spreadProps(__spreadValues({}, config2), { open: config2.open || false });
1043
+ });
1041
1044
  return enhancedConfig;
1042
1045
  }
1043
1046
  var insertLayout = (layout, index, ...layoutItems) => [
@@ -1085,6 +1088,13 @@ var AxesChartDataConfig = {
1085
1088
  }
1086
1089
  }
1087
1090
  ],
1091
+ [
1092
+ {
1093
+ label: (0, i18n_exports._)("Additional tooltip fields"),
1094
+ option: "additionalTooltipFields",
1095
+ editor: "editor.columnMultiSelectionByFieldNameEditor"
1096
+ }
1097
+ ],
1088
1098
  [
1089
1099
  {
1090
1100
  label: (0, i18n_exports._)("Result limit"),
@@ -1250,7 +1260,6 @@ var TrellisEditorConfig = [
1250
1260
  editorProps: {
1251
1261
  min: 1
1252
1262
  },
1253
- placeholder: (0, i18n_exports._)("Auto"),
1254
1263
  showEditor: isTrellisEnabled2
1255
1264
  }
1256
1265
  ],
@@ -1478,15 +1487,18 @@ var background = ({
1478
1487
  ];
1479
1488
  var BackgroundColor_default = background;
1480
1489
 
1490
+ // src/common/ThemedDefaults.tsx
1491
+ var defaultBackgroundColor = (props) => pick_default({
1492
+ enterprise: {
1493
+ dark: variables_default.black(props),
1494
+ light: variables_default.white(props)
1495
+ },
1496
+ prisma: variables_default.backgroundColorSection(props)
1497
+ })(props);
1498
+
1481
1499
  // src/common/editorConfig/AxesChartColorAndStyle.ts
1482
1500
  var themes = {
1483
- defaultBackgroundColor: (props) => pick_default({
1484
- enterprise: {
1485
- dark: variables_default.black(props),
1486
- light: variables_default.backgroundColor(props)
1487
- },
1488
- prisma: variables_default.backgroundColorSidebar(props)
1489
- })(props)
1501
+ defaultBackgroundColor
1490
1502
  };
1491
1503
  var AxesChartColorAndStyle = {
1492
1504
  label: (0, i18n_exports._)("Color and style"),
@@ -2269,13 +2281,7 @@ var size = {
2269
2281
  };
2270
2282
  var defaultContext = {};
2271
2283
  var themes2 = {
2272
- defaultBackgroundColor: (props) => pick_default({
2273
- enterprise: {
2274
- dark: variables_default.black(props),
2275
- light: variables_default.backgroundColor(props)
2276
- },
2277
- prisma: variables_default.backgroundColorSidebar(props)
2278
- })(props),
2284
+ defaultBackgroundColor,
2279
2285
  defaultFontColor: (props) => pick_default({
2280
2286
  enterprise: {
2281
2287
  dark: variables_default.textColor(props),
@@ -2701,9 +2707,14 @@ var Item = styled_components_default.div.attrs(({ width }) => ({
2701
2707
  position: relative;
2702
2708
  background-color: ${(props) => (0, colorUtils_exports.isColor)(props.backgroundColor) && props.backgroundColor || props.theme.defaultBackgroundColor}};
2703
2709
  `;
2704
- var FixSizeItem = styled_components_default.div.attrs(({ width, height }) => ({
2705
- style: __spreadValues(__spreadValues({}, width && { width: (0, style_exports.toPx)(width) }), height && { height: (0, style_exports.toPx)(height) })
2706
- }))`
2710
+ var FixSizeItem = styled_components_default.div.attrs(
2711
+ ({
2712
+ width,
2713
+ height
2714
+ }) => ({
2715
+ style: __spreadValues(__spreadValues({}, width && { width: (0, style_exports.toPx)(width) }), height && { height: (0, style_exports.toPx)(height) })
2716
+ })
2717
+ )`
2707
2718
  position: relative;
2708
2719
  flex-direction: column;
2709
2720
  flex: 1;
@@ -2737,7 +2748,7 @@ var withFixedSizeContainer = (Viz) => {
2737
2748
  FixSizeItem,
2738
2749
  {
2739
2750
  "data-test": "fix-size-item",
2740
- "data-splunk-visualization-version": "27.4.0 - 92ef39d5c",
2751
+ "data-splunk-visualization-version": "28.0.0 - 0c5f07712",
2741
2752
  width,
2742
2753
  height,
2743
2754
  backgroundColor
@@ -2803,7 +2814,7 @@ var Cover = styled_components_default.div`
2803
2814
  bottom: 0;
2804
2815
  `;
2805
2816
  var Blocker = styled_components_default.div.attrs({
2806
- "data-splunk-visualization-version": "27.4.0 - 92ef39d5c"
2817
+ "data-splunk-visualization-version": "28.0.0 - 0c5f07712"
2807
2818
  })`
2808
2819
  position: relative;
2809
2820
  width: 100%;
@@ -2947,7 +2958,12 @@ var useGetXAndYFields = ({
2947
2958
  y2Fields: options.y2 ? "> y2 | getField()" : void 0,
2948
2959
  fieldTypes: "> primary | getType()"
2949
2960
  };
2950
- const { xField = "", yFields = [], y2Fields = [], fieldTypes } = Options_exports.Options.evaluate(
2961
+ const {
2962
+ xField = "",
2963
+ yFields = [],
2964
+ y2Fields = [],
2965
+ fieldTypes
2966
+ } = Options_exports.Options.evaluate(
2951
2967
  { options: optionsToEvaluate, context },
2952
2968
  dataSourcesWithOnlyOnePoint,
2953
2969
  () => {
@@ -3561,7 +3577,9 @@ var withDashboardViz = (opts) => {
3561
3577
  return result;
3562
3578
  }
3563
3579
  } catch (e) {
3564
- console.error(`unexpected error evaluating options: ${e.message}`);
3580
+ if (e instanceof Error) {
3581
+ console.error(`unexpected error evaluating options: ${e.message}`);
3582
+ }
3565
3583
  return {};
3566
3584
  }
3567
3585
  return {};
@@ -3620,7 +3638,11 @@ var withDashboardViz = (opts) => {
3620
3638
  if (ev && ev.payload) {
3621
3639
  payload = ev.payload;
3622
3640
  }
3623
- return onEventTrigger({ originalEvent: ev, payload, type: eventName });
3641
+ return onEventTrigger({
3642
+ originalEvent: ev,
3643
+ payload,
3644
+ type: eventName
3645
+ });
3624
3646
  };
3625
3647
  if (parentKeys) {
3626
3648
  for (let i = parentKeys.length - 1; i >= 0; i -= 1) {
@@ -3731,6 +3753,16 @@ var constructFieldsAndColumns = ({
3731
3753
  fields
3732
3754
  };
3733
3755
  };
3756
+ function constructAdditionalTooltipFieldsMap({ fields, columns, additionalTooltipFields }) {
3757
+ const map = {};
3758
+ additionalTooltipFields == null ? void 0 : additionalTooltipFields.forEach((fieldName) => {
3759
+ const index = fields.findIndex((f) => f.name === fieldName);
3760
+ if (index !== -1) {
3761
+ map[fieldName] = columns[index];
3762
+ }
3763
+ });
3764
+ return map;
3765
+ }
3734
3766
  var shouldEnableSearchZoom = (eventHandlers = [], xField = "") => {
3735
3767
  const rangeSelectEventHandler = eventHandlers.find(
3736
3768
  (eventHandler) => {
@@ -3763,7 +3795,9 @@ var simpleXMLOptions_default = "default" in defaultImport36 ? defaultImport36.de
3763
3795
  // src/Line/lineUtils.ts
3764
3796
  var transformOptions = (originalOptions) => {
3765
3797
  const returnOptions = (0, propUtils_exports.adjustOptionsToSchema)(originalOptions, config_default.optionsSchema);
3766
- return __spreadProps(__spreadValues({}, (0, simpleXMLOptions_exports.getSimpleXMLOptionsForProps)(convertToLineSCProperties(returnOptions))), { chart: "line" });
3798
+ return __spreadProps(__spreadValues({}, (0, simpleXMLOptions_exports.getSimpleXMLOptionsForProps)(convertToLineSCProperties(returnOptions))), {
3799
+ chart: "line"
3800
+ });
3767
3801
  };
3768
3802
  var convertMarkerOptions = (originalOptions, lineOptionValuesSCMapping) => {
3769
3803
  const originalOptionsWithAdditionalProps = originalOptions;
@@ -3959,7 +3993,9 @@ var withTrellis = (Viz) => {
3959
3993
  const evaluated = Options_exports.Options.evaluate(
3960
3994
  {
3961
3995
  context: Viz.config.context,
3962
- options: { trellisBackgroundColor: mergedOptions.trellisBackgroundColor }
3996
+ options: {
3997
+ trellisBackgroundColor: mergedOptions.trellisBackgroundColor
3998
+ }
3963
3999
  },
3964
4000
  {},
3965
4001
  themeFunc
@@ -4104,6 +4140,7 @@ var computeVizProps = (_a) => {
4104
4140
  y,
4105
4141
  xField,
4106
4142
  yFields,
4143
+ additionalTooltipFields,
4107
4144
  onEventTrigger,
4108
4145
  annotationX,
4109
4146
  annotationColor,
@@ -4118,6 +4155,7 @@ var computeVizProps = (_a) => {
4118
4155
  "y",
4119
4156
  "xField",
4120
4157
  "yFields",
4158
+ "additionalTooltipFields",
4121
4159
  "onEventTrigger",
4122
4160
  "annotationX",
4123
4161
  "annotationColor",
@@ -4137,10 +4175,17 @@ var computeVizProps = (_a) => {
4137
4175
  };
4138
4176
  const { y2, y2Fields, hasEventHandlers, eventHandlers } = otherOptions;
4139
4177
  computedProps.options = transformOptions(otherOptions);
4140
- const chartingAnnotations = getAnnotations({ annotationX, annotationColor, annotationLabel });
4178
+ const chartingAnnotations = getAnnotations({
4179
+ annotationX,
4180
+ annotationColor,
4181
+ annotationLabel
4182
+ });
4141
4183
  const truncationLimit = computedProps.options["chart.resultTruncationLimit"];
4142
4184
  let primaryData = __spreadValues({}, dataSources.primary.data);
4143
4185
  const { columns, fields } = constructFieldsAndColumns({ x, y, xField, yFields, y2, y2Fields });
4186
+ const additionalTooltipFieldsConstructed = constructAdditionalTooltipFieldsMap(__spreadProps(__spreadValues({}, dataSources.primary.data), {
4187
+ additionalTooltipFields
4188
+ }));
4144
4189
  primaryData.columns = columns;
4145
4190
  primaryData.fields = fields;
4146
4191
  if (truncationLimit) {
@@ -4150,7 +4195,11 @@ var computeVizProps = (_a) => {
4150
4195
  __spreadProps(__spreadValues({}, primaryData), {
4151
4196
  annotations: chartingAnnotations
4152
4197
  }),
4153
- { removeRangeSelectOnLoad: true, enableSearchZoom: shouldEnableSearchZoom(eventHandlers, xField) }
4198
+ {
4199
+ removeRangeSelectOnLoad: true,
4200
+ enableSearchZoom: shouldEnableSearchZoom(eventHandlers, xField),
4201
+ additionalTooltipFields: additionalTooltipFieldsConstructed
4202
+ }
4154
4203
  );
4155
4204
  if (hasEventHandlers) {
4156
4205
  computedProps.onClick = onEventTrigger;