@splunk/visualizations 27.0.0 → 27.1.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 (79) hide show
  1. package/Area.config.js +269 -122
  2. package/Area.config.js.map +4 -4
  3. package/Area.js +1065 -209
  4. package/Area.js.map +4 -4
  5. package/Bar.config.js +266 -82
  6. package/Bar.config.js.map +4 -4
  7. package/Bar.js +1065 -171
  8. package/Bar.js.map +4 -4
  9. package/Bubble.config.js +127 -1
  10. package/Bubble.config.js.map +4 -4
  11. package/Bubble.js +323 -80
  12. package/Bubble.js.map +4 -4
  13. package/ChoroplethSvg.js +60 -30
  14. package/ChoroplethSvg.js.map +4 -4
  15. package/Column.config.js +271 -82
  16. package/Column.config.js.map +4 -4
  17. package/Column.js +1070 -171
  18. package/Column.js.map +4 -4
  19. package/Ellipse.js +44 -14
  20. package/Ellipse.js.map +4 -4
  21. package/Events.js +82 -52
  22. package/Events.js.map +4 -4
  23. package/FillerGauge.js +44 -14
  24. package/FillerGauge.js.map +4 -4
  25. package/Image.js +42 -12
  26. package/Image.js.map +4 -4
  27. package/Line.config.js +271 -119
  28. package/Line.config.js.map +4 -4
  29. package/Line.js +1067 -206
  30. package/Line.js.map +4 -4
  31. package/LinkGraph.js +563 -529
  32. package/LinkGraph.js.map +4 -4
  33. package/Map.js +44 -14
  34. package/Map.js.map +4 -4
  35. package/Markdown.js +46 -16
  36. package/Markdown.js.map +4 -4
  37. package/MarkerGauge.js +42 -12
  38. package/MarkerGauge.js.map +4 -4
  39. package/ParallelCoordinates.js +122 -86
  40. package/ParallelCoordinates.js.map +4 -4
  41. package/Pie.js +198 -81
  42. package/Pie.js.map +4 -4
  43. package/Punchcard.js +54 -24
  44. package/Punchcard.js.map +4 -4
  45. package/Rectangle.js +56 -26
  46. package/Rectangle.js.map +4 -4
  47. package/Sankey.js +68 -38
  48. package/Sankey.js.map +4 -4
  49. package/Scatter.config.js +127 -1
  50. package/Scatter.config.js.map +4 -4
  51. package/Scatter.js +323 -80
  52. package/Scatter.js.map +4 -4
  53. package/SingleValue.config.js +43 -67
  54. package/SingleValue.config.js.map +4 -4
  55. package/SingleValue.js +1419 -1351
  56. package/SingleValue.js.map +4 -4
  57. package/SingleValueBasic.js.map +1 -1
  58. package/SingleValueIcon.config.js +45 -69
  59. package/SingleValueIcon.config.js.map +4 -4
  60. package/SingleValueIcon.js +1307 -1238
  61. package/SingleValueIcon.js.map +4 -4
  62. package/SingleValueRadial.config.js +43 -67
  63. package/SingleValueRadial.config.js.map +4 -4
  64. package/SingleValueRadial.js +1352 -1266
  65. package/SingleValueRadial.js.map +4 -4
  66. package/TRELLIS.md +16 -15
  67. package/Table.js +52 -22
  68. package/Table.js.map +4 -4
  69. package/common/Charting.js +133 -27
  70. package/common/Charting.js.map +4 -4
  71. package/common/OptionsDoc.js +6 -1
  72. package/common/OptionsDoc.js.map +2 -2
  73. package/common/utils/singleValueUtils.js +8 -7
  74. package/common/utils/singleValueUtils.js.map +2 -2
  75. package/common/utils/trellisUtils.js +41 -1
  76. package/common/utils/trellisUtils.js.map +2 -2
  77. package/common/withDashboardViz.js +42 -12
  78. package/common/withDashboardViz.js.map +4 -4
  79. package/package.json +17 -18
package/Pie.js CHANGED
@@ -197,6 +197,15 @@ var defaultImport14 = __toESM(require("@splunk/visualizations-shared/themeUtils"
197
197
  __reExport(themeUtils_exports, require("@splunk/visualizations-shared/themeUtils"));
198
198
  var themeUtils_default = "default" in defaultImport14 ? defaultImport14.default : defaultImport14;
199
199
 
200
+ // esm-externals:@splunk/visualization-schemas
201
+ var visualization_schemas_exports = {};
202
+ __export(visualization_schemas_exports, {
203
+ default: () => visualization_schemas_default
204
+ });
205
+ var defaultImport15 = __toESM(require("@splunk/visualization-schemas"));
206
+ __reExport(visualization_schemas_exports, require("@splunk/visualization-schemas"));
207
+ var visualization_schemas_default = "default" in defaultImport15 ? defaultImport15.default : defaultImport15;
208
+
200
209
  // src/common/ChartingApi.ts
201
210
  var ChartingApiFunctional = class {
202
211
  // eslint-disable-next-line no-useless-constructor
@@ -250,9 +259,9 @@ var numberUtils_exports = {};
250
259
  __export(numberUtils_exports, {
251
260
  default: () => numberUtils_default
252
261
  });
253
- var defaultImport15 = __toESM(require("@splunk/visualizations-shared/numberUtils"));
262
+ var defaultImport16 = __toESM(require("@splunk/visualizations-shared/numberUtils"));
254
263
  __reExport(numberUtils_exports, require("@splunk/visualizations-shared/numberUtils"));
255
- var numberUtils_default = "default" in defaultImport15 ? defaultImport15.default : defaultImport15;
264
+ var numberUtils_default = "default" in defaultImport16 ? defaultImport16.default : defaultImport16;
256
265
 
257
266
  // src/common/interfaces/DataSource.ts
258
267
  var validSortDirs = ["asc", "desc", "none"];
@@ -529,6 +538,57 @@ var downsampleDataSources = ({ dataSources, threshold, options }) => {
529
538
  return downsampledDataSources;
530
539
  };
531
540
 
541
+ // esm-externals:@splunk/visualization-context/FeatureFlagContext
542
+ var FeatureFlagContext_exports = {};
543
+ __export(FeatureFlagContext_exports, {
544
+ default: () => FeatureFlagContext_default
545
+ });
546
+ var defaultImport17 = __toESM(require("@splunk/visualization-context/FeatureFlagContext"));
547
+ __reExport(FeatureFlagContext_exports, require("@splunk/visualization-context/FeatureFlagContext"));
548
+ var FeatureFlagContext_default = "default" in defaultImport17 ? defaultImport17.default : defaultImport17;
549
+
550
+ // src/common/hooks/useTrellisEnabled.ts
551
+ var useTrellisFeatureFlagOn = () => {
552
+ const context = (0, react_exports.useContext)(FeatureFlagContext_default);
553
+ return Boolean(context == null ? void 0 : context.visualizations_enableTrellis);
554
+ };
555
+ var useTrellisEnabled = (layoutType = visualization_schemas_exports.LAYOUT_TYPE.Off) => {
556
+ const trellisFeatureEnabled = useTrellisFeatureFlagOn();
557
+ return trellisFeatureEnabled && layoutType === visualization_schemas_exports.LAYOUT_TYPE.Trellis;
558
+ };
559
+
560
+ // src/common/components/TrellisTitle.tsx
561
+ var TRELLIS_TITLE_HEIGHT = 28;
562
+ var TrellisTitleText = styled_components_default.div`
563
+ margin-left: 10px;
564
+ margin-right: 10px;
565
+ padding-top: 8px;
566
+ text-overflow: ellipsis;
567
+ white-space: nowrap;
568
+ overflow: hidden;
569
+ `;
570
+ var TrellisTitleDiv = styled_components_default.div`
571
+ height: ${TRELLIS_TITLE_HEIGHT}px;
572
+ font-size: 14px;
573
+ font-weight: 700;
574
+ color: ${(props) => props.fontColor};
575
+ background-color: ${(props) => props.backgroundColor};
576
+ box-shadow: 0 1px ${(props) => props.backgroundColor}; // this is added to avoid a 1px gap between title and viz divs that showed up intermittently because of pixel rounding error in chrome.
577
+ `;
578
+ var TrellisTitle = (props) => {
579
+ const titleText = String(props.trellisKey).toString();
580
+ return /* @__PURE__ */ react_exports.createElement(
581
+ TrellisTitleDiv,
582
+ {
583
+ fontColor: props.fontColor,
584
+ backgroundColor: props.backgroundColor,
585
+ "data-test": "trellis-title",
586
+ title: titleText
587
+ },
588
+ /* @__PURE__ */ react_exports.createElement(TrellisTitleText, null, titleText)
589
+ );
590
+ };
591
+
532
592
  // src/common/Charting.tsx
533
593
  var NO_INPLACE_PROPS = [
534
594
  "chart",
@@ -537,6 +597,15 @@ var NO_INPLACE_PROPS = [
537
597
  "chart.style",
538
598
  "legend.placement"
539
599
  ];
600
+ var appendTrellisToPayload = (props, payload) => {
601
+ if (props.trellisSplitBy) {
602
+ payload["trellis.name"] = props.trellisSplitBy;
603
+ }
604
+ if (props.trellisKey) {
605
+ payload["trellis.value"] = props.trellisKey;
606
+ }
607
+ return payload;
608
+ };
540
609
  var changedOptions = (curOptions, nextOptions) => Object.keys(curOptions).filter((key) => !(key in nextOptions)).concat(
541
610
  Object.keys(nextOptions).filter(
542
611
  (key) => !(key in curOptions) || curOptions[key] !== nextOptions[key]
@@ -583,7 +652,12 @@ var propTypes = {
583
652
  originalDataSources: prop_types_exports.object,
584
653
  onDownsamplingThresholdChange: prop_types_exports.func,
585
654
  xField: prop_types_exports.string,
586
- y2Fields: prop_types_exports.array
655
+ y2Fields: prop_types_exports.array,
656
+ splitByLayout: prop_types_exports.oneOf(Object.values(visualization_schemas_exports.LAYOUT_TYPE)),
657
+ trellisKey: prop_types_exports.string,
658
+ trellisSplitBy: prop_types_exports.string,
659
+ backgroundColor: prop_types_exports.string,
660
+ defaultFontColor: prop_types_exports.string
587
661
  };
588
662
  var Charting = (props) => {
589
663
  var _a, _b;
@@ -594,6 +668,7 @@ var Charting = (props) => {
594
668
  const api = (0, react_exports.useRef)(new ChartingApiFunctional(chart));
595
669
  const timezone = (0, react_exports.useContext)(TimezoneContext_default);
596
670
  const selectChartEvent = (0, react_exports.useRef)(null);
671
+ const trellisEnabled = useTrellisEnabled(props.splitByLayout);
597
672
  const computeChartingSize = () => {
598
673
  if (container.current) {
599
674
  const rect = container.current.getBoundingClientRect();
@@ -620,7 +695,10 @@ var Charting = (props) => {
620
695
  onEventTrigger,
621
696
  originalDataSources,
622
697
  onDownsamplingThresholdChange,
623
- xField
698
+ xField,
699
+ backgroundColor,
700
+ defaultFontColor,
701
+ trellisKey
624
702
  } = props;
625
703
  const prevOptions = usePrevious(options);
626
704
  const prevTimezone = usePrevious(timezone);
@@ -639,6 +717,7 @@ var Charting = (props) => {
639
717
  delete payload.value2;
640
718
  payload = updateRowPayload(chartEvent.rowContext, payload);
641
719
  }
720
+ payload = appendTrellisToPayload(props, payload);
642
721
  onClick({
643
722
  type,
644
723
  originalEvent: chartEvent,
@@ -675,18 +754,22 @@ var Charting = (props) => {
675
754
  const handleSelect = useEventCallback_default((chartEvent) => {
676
755
  selectChartEvent.current = chartEvent;
677
756
  recalculateDownsamplingThreshold();
757
+ const payload = appendTrellisToPayload(
758
+ props,
759
+ (0, lodash_exports.pick)(chartEvent, "startXIndex", "endXIndex", "startXValue", "endXValue")
760
+ );
678
761
  if (onSelect && typeof onSelect === "function") {
679
762
  onSelect({
680
763
  type: "range.select",
681
764
  originalEvent: chartEvent,
682
- payload: (0, lodash_exports.pick)(chartEvent, "startXIndex", "endXIndex", "startXValue", "endXValue")
765
+ payload
683
766
  });
684
767
  return;
685
768
  }
686
769
  onEventTrigger({
687
770
  type: "range.select",
688
771
  originalEvent: chartEvent,
689
- payload: (0, lodash_exports.pick)(chartEvent, "startXIndex", "endXIndex", "startXValue", "endXValue")
772
+ payload
690
773
  });
691
774
  });
692
775
  const handlePointMouseOut = useEventCallback_default(
@@ -703,7 +786,7 @@ var Charting = (props) => {
703
786
  delete payload.name2;
704
787
  payload.value = payload.value2;
705
788
  delete payload.value2;
706
- payload = updateRowPayload(chartEvent.rowContext, payload);
789
+ payload = appendTrellisToPayload(props, updateRowPayload(chartEvent.rowContext, payload));
707
790
  onPointMouseOut({
708
791
  type,
709
792
  originalEvent: chartEvent,
@@ -725,7 +808,7 @@ var Charting = (props) => {
725
808
  delete payload.name2;
726
809
  payload.value = payload.value2;
727
810
  delete payload.value2;
728
- payload = updateRowPayload(chartEvent.rowContext, payload);
811
+ payload = appendTrellisToPayload(props, updateRowPayload(chartEvent.rowContext, payload));
729
812
  onPointMouseOver({
730
813
  type,
731
814
  originalEvent: chartEvent,
@@ -789,10 +872,15 @@ var Charting = (props) => {
789
872
  if (colorPalette.length > 0) {
790
873
  charting_bundle_default.setColorPalette(colorPalette);
791
874
  }
875
+ const payload = appendTrellisToPayload(props, {
876
+ width,
877
+ height,
878
+ currentTime: (/* @__PURE__ */ new Date()).getTime()
879
+ });
792
880
  chart.current.prepareAndDraw(chartData, updatedOptions, () => {
793
881
  onEventTrigger({
794
882
  type: "viz.renderedWithData",
795
- payload: { width, height, currentTime: (/* @__PURE__ */ new Date()).getTime() }
883
+ payload
796
884
  });
797
885
  });
798
886
  }
@@ -839,7 +927,23 @@ var Charting = (props) => {
839
927
  themeKey,
840
928
  onClick
841
929
  ]);
842
- return /* @__PURE__ */ react_exports.createElement(ChartingContainer, { style, ref: onContainerMount, width, height }, /* @__PURE__ */ react_exports.createElement(react_event_listener_default, { target: window, onResize: debouncedDrawChart }));
930
+ return /* @__PURE__ */ react_exports.createElement(react_exports.Fragment, null, trellisEnabled && /* @__PURE__ */ react_exports.createElement(
931
+ TrellisTitle,
932
+ {
933
+ trellisKey,
934
+ backgroundColor,
935
+ fontColor: defaultFontColor
936
+ }
937
+ ), /* @__PURE__ */ react_exports.createElement(
938
+ ChartingContainer,
939
+ {
940
+ style,
941
+ ref: onContainerMount,
942
+ width,
943
+ height: trellisEnabled ? Number(height) - TRELLIS_TITLE_HEIGHT : height
944
+ },
945
+ /* @__PURE__ */ react_exports.createElement(react_event_listener_default, { target: window, onResize: debouncedDrawChart })
946
+ ));
843
947
  };
844
948
  var defaultProps = {
845
949
  width: "100%",
@@ -859,90 +963,82 @@ var defaultProps = {
859
963
  onDownsamplingThresholdChange: null,
860
964
  originalDataSources: null,
861
965
  xField: null,
862
- y2Fields: []
966
+ y2Fields: [],
967
+ splitByLayout: void 0,
968
+ trellisKey: void 0,
969
+ trellisSplitBy: void 0,
970
+ backgroundColor: "",
971
+ defaultFontColor: ""
863
972
  };
864
973
  Charting.propTypes = propTypes;
865
974
  Charting.defaultProps = defaultProps;
866
- var withEmptyChartMessage = (Chart) => {
867
- const Wrapper = (props) => {
868
- const { chartData } = props;
869
- if (!chartData) {
870
- return /* @__PURE__ */ react_exports.createElement(Message_default, { message: (0, i18n_exports._)("No DataSource"), level: "warning" });
871
- }
872
- if (chartData && !Object.keys(chartData).length) {
873
- return /* @__PURE__ */ react_exports.createElement(Message_default, { message: (0, i18n_exports._)("No Result"), level: "info" });
874
- }
875
- return /* @__PURE__ */ react_exports.createElement(Chart, __spreadValues({}, props));
876
- };
877
- Wrapper.displayName = "ChartingWrapper";
878
- Wrapper.propTypes = propTypes;
879
- Wrapper.defaultProps = defaultProps;
880
- return Wrapper;
975
+ var ChartingWrapper = (props) => {
976
+ const { chartData } = props;
977
+ if (!chartData) {
978
+ return /* @__PURE__ */ react_exports.createElement(Message_default, { message: (0, i18n_exports._)("No DataSource"), level: "warning" });
979
+ }
980
+ if (!Object.keys(chartData).length) {
981
+ return /* @__PURE__ */ react_exports.createElement(Message_default, { message: (0, i18n_exports._)("No Result"), level: "info" });
982
+ }
983
+ return /* @__PURE__ */ react_exports.createElement(Charting, __spreadValues({}, props));
881
984
  };
882
- var Charting_default = withEmptyChartMessage(Charting);
985
+ ChartingWrapper.propTypes = propTypes;
986
+ ChartingWrapper.defaultProps = defaultProps;
987
+ var Charting_default = ChartingWrapper;
883
988
 
884
989
  // esm-externals:@splunk/visualizations-shared/simpleXMLOptions
885
990
  var simpleXMLOptions_exports = {};
886
991
  __export(simpleXMLOptions_exports, {
887
992
  default: () => simpleXMLOptions_default
888
993
  });
889
- var defaultImport16 = __toESM(require("@splunk/visualizations-shared/simpleXMLOptions"));
994
+ var defaultImport18 = __toESM(require("@splunk/visualizations-shared/simpleXMLOptions"));
890
995
  __reExport(simpleXMLOptions_exports, require("@splunk/visualizations-shared/simpleXMLOptions"));
891
- var simpleXMLOptions_default = "default" in defaultImport16 ? defaultImport16.default : defaultImport16;
996
+ var simpleXMLOptions_default = "default" in defaultImport18 ? defaultImport18.default : defaultImport18;
892
997
 
893
998
  // esm-externals:@splunk/visualization-icons
894
999
  var visualization_icons_exports = {};
895
1000
  __export(visualization_icons_exports, {
896
1001
  default: () => visualization_icons_default
897
1002
  });
898
- var defaultImport17 = __toESM(require("@splunk/visualization-icons"));
1003
+ var defaultImport19 = __toESM(require("@splunk/visualization-icons"));
899
1004
  __reExport(visualization_icons_exports, require("@splunk/visualization-icons"));
900
- var visualization_icons_default = "default" in defaultImport17 ? defaultImport17.default : defaultImport17;
1005
+ var visualization_icons_default = "default" in defaultImport19 ? defaultImport19.default : defaultImport19;
901
1006
 
902
1007
  // esm-externals:@splunk/visualization-icons/placeholders
903
1008
  var placeholders_exports = {};
904
1009
  __export(placeholders_exports, {
905
1010
  default: () => placeholders_default
906
1011
  });
907
- var defaultImport18 = __toESM(require("@splunk/visualization-icons/placeholders"));
1012
+ var defaultImport20 = __toESM(require("@splunk/visualization-icons/placeholders"));
908
1013
  __reExport(placeholders_exports, require("@splunk/visualization-icons/placeholders"));
909
- var placeholders_default = "default" in defaultImport18 ? defaultImport18.default : defaultImport18;
910
-
911
- // esm-externals:@splunk/visualization-schemas
912
- var visualization_schemas_exports = {};
913
- __export(visualization_schemas_exports, {
914
- default: () => visualization_schemas_default
915
- });
916
- var defaultImport19 = __toESM(require("@splunk/visualization-schemas"));
917
- __reExport(visualization_schemas_exports, require("@splunk/visualization-schemas"));
918
- var visualization_schemas_default = "default" in defaultImport19 ? defaultImport19.default : defaultImport19;
1014
+ var placeholders_default = "default" in defaultImport20 ? defaultImport20.default : defaultImport20;
919
1015
 
920
1016
  // esm-externals:@splunk/themes/pick
921
1017
  var pick_exports = {};
922
1018
  __export(pick_exports, {
923
1019
  default: () => pick_default
924
1020
  });
925
- var defaultImport20 = __toESM(require("@splunk/themes/pick"));
1021
+ var defaultImport21 = __toESM(require("@splunk/themes/pick"));
926
1022
  __reExport(pick_exports, require("@splunk/themes/pick"));
927
- var pick_default = "default" in defaultImport20 ? defaultImport20.default : defaultImport20;
1023
+ var pick_default = "default" in defaultImport21 ? defaultImport21.default : defaultImport21;
928
1024
 
929
1025
  // esm-externals:@splunk/themes/variables
930
1026
  var variables_exports = {};
931
1027
  __export(variables_exports, {
932
1028
  default: () => variables_default
933
1029
  });
934
- var defaultImport21 = __toESM(require("@splunk/themes/variables"));
1030
+ var defaultImport22 = __toESM(require("@splunk/themes/variables"));
935
1031
  __reExport(variables_exports, require("@splunk/themes/variables"));
936
- var variables_default = "default" in defaultImport21 ? defaultImport21.default : defaultImport21;
1032
+ var variables_default = "default" in defaultImport22 ? defaultImport22.default : defaultImport22;
937
1033
 
938
1034
  // esm-externals:@splunk/visualizations-shared/configUtils
939
1035
  var configUtils_exports = {};
940
1036
  __export(configUtils_exports, {
941
1037
  default: () => configUtils_default
942
1038
  });
943
- var defaultImport22 = __toESM(require("@splunk/visualizations-shared/configUtils"));
1039
+ var defaultImport23 = __toESM(require("@splunk/visualizations-shared/configUtils"));
944
1040
  __reExport(configUtils_exports, require("@splunk/visualizations-shared/configUtils"));
945
- var configUtils_default = "default" in defaultImport22 ? defaultImport22.default : defaultImport22;
1041
+ var configUtils_default = "default" in defaultImport23 ? defaultImport23.default : defaultImport23;
946
1042
 
947
1043
  // src/common/utils/configUtils.ts
948
1044
  function enhanceConfig(vizConfig) {
@@ -1141,45 +1237,36 @@ var getSettingsFromThemedProps_exports = {};
1141
1237
  __export(getSettingsFromThemedProps_exports, {
1142
1238
  default: () => getSettingsFromThemedProps_default
1143
1239
  });
1144
- var defaultImport23 = __toESM(require("@splunk/themes/getSettingsFromThemedProps"));
1240
+ var defaultImport24 = __toESM(require("@splunk/themes/getSettingsFromThemedProps"));
1145
1241
  __reExport(getSettingsFromThemedProps_exports, require("@splunk/themes/getSettingsFromThemedProps"));
1146
- var getSettingsFromThemedProps_default = "default" in defaultImport23 ? defaultImport23.default : defaultImport23;
1242
+ var getSettingsFromThemedProps_default = "default" in defaultImport24 ? defaultImport24.default : defaultImport24;
1147
1243
 
1148
1244
  // esm-externals:@splunk/visualization-encoding/Options
1149
1245
  var Options_exports = {};
1150
1246
  __export(Options_exports, {
1151
1247
  default: () => Options_default
1152
1248
  });
1153
- var defaultImport24 = __toESM(require("@splunk/visualization-encoding/Options"));
1249
+ var defaultImport25 = __toESM(require("@splunk/visualization-encoding/Options"));
1154
1250
  __reExport(Options_exports, require("@splunk/visualization-encoding/Options"));
1155
- var Options_default = "default" in defaultImport24 ? defaultImport24.default : defaultImport24;
1251
+ var Options_default = "default" in defaultImport25 ? defaultImport25.default : defaultImport25;
1156
1252
 
1157
1253
  // esm-externals:@splunk/visualizations-shared/SanitizeProps
1158
1254
  var SanitizeProps_exports = {};
1159
1255
  __export(SanitizeProps_exports, {
1160
1256
  default: () => SanitizeProps_default
1161
1257
  });
1162
- var defaultImport25 = __toESM(require("@splunk/visualizations-shared/SanitizeProps"));
1258
+ var defaultImport26 = __toESM(require("@splunk/visualizations-shared/SanitizeProps"));
1163
1259
  __reExport(SanitizeProps_exports, require("@splunk/visualizations-shared/SanitizeProps"));
1164
- var SanitizeProps_default = "default" in defaultImport25 ? defaultImport25.default : defaultImport25;
1260
+ var SanitizeProps_default = "default" in defaultImport26 ? defaultImport26.default : defaultImport26;
1165
1261
 
1166
1262
  // esm-externals:@splunk/moment
1167
1263
  var moment_exports = {};
1168
1264
  __export(moment_exports, {
1169
1265
  default: () => moment_default
1170
1266
  });
1171
- var defaultImport26 = __toESM(require("@splunk/moment"));
1267
+ var defaultImport27 = __toESM(require("@splunk/moment"));
1172
1268
  __reExport(moment_exports, require("@splunk/moment"));
1173
- var moment_default = "default" in defaultImport26 ? defaultImport26.default : defaultImport26;
1174
-
1175
- // esm-externals:@splunk/visualization-context/FeatureFlagContext
1176
- var FeatureFlagContext_exports = {};
1177
- __export(FeatureFlagContext_exports, {
1178
- default: () => FeatureFlagContext_default
1179
- });
1180
- var defaultImport27 = __toESM(require("@splunk/visualization-context/FeatureFlagContext"));
1181
- __reExport(FeatureFlagContext_exports, require("@splunk/visualization-context/FeatureFlagContext"));
1182
- var FeatureFlagContext_default = "default" in defaultImport27 ? defaultImport27.default : defaultImport27;
1269
+ var moment_default = "default" in defaultImport27 ? defaultImport27.default : defaultImport27;
1183
1270
 
1184
1271
  // esm-externals:@splunk/visualizations-shared/hocUtils
1185
1272
  var hocUtils_exports = {};
@@ -1469,7 +1556,7 @@ var withFixedSizeContainer = (Viz) => {
1469
1556
  FixSizeItem,
1470
1557
  {
1471
1558
  "data-test": "fix-size-item",
1472
- "data-splunk-visualization-version": "27.0.0 - 9bf093b7d",
1559
+ "data-splunk-visualization-version": "27.1.0 - fe8b048df",
1473
1560
  width,
1474
1561
  height,
1475
1562
  backgroundColor
@@ -1535,7 +1622,7 @@ var Cover = styled_components_default.div`
1535
1622
  bottom: 0;
1536
1623
  `;
1537
1624
  var Blocker = styled_components_default.div.attrs({
1538
- "data-splunk-visualization-version": "27.0.0 - 9bf093b7d"
1625
+ "data-splunk-visualization-version": "27.1.0 - fe8b048df"
1539
1626
  })`
1540
1627
  position: relative;
1541
1628
  width: 100%;
@@ -1797,6 +1884,25 @@ var getFeatureFlag = (context, flagName) => {
1797
1884
  return false;
1798
1885
  };
1799
1886
 
1887
+ // esm-externals:@splunk/visualizations-shared/trellisUtils
1888
+ var trellisUtils_exports = {};
1889
+ __export(trellisUtils_exports, {
1890
+ default: () => trellisUtils_default
1891
+ });
1892
+ var defaultImport35 = __toESM(require("@splunk/visualizations-shared/trellisUtils"));
1893
+ __reExport(trellisUtils_exports, require("@splunk/visualizations-shared/trellisUtils"));
1894
+ var trellisUtils_default = "default" in defaultImport35 ? defaultImport35.default : defaultImport35;
1895
+
1896
+ // src/common/utils/trellisUtils.ts
1897
+ var turnOffLegendDisplayWhenTrellisIsOn = (isTrellisOn, options) => {
1898
+ if (isTrellisOn && !options.legendDisplay) {
1899
+ return {
1900
+ legendDisplay: "off"
1901
+ };
1902
+ }
1903
+ return {};
1904
+ };
1905
+
1800
1906
  // src/common/withDashboardViz.tsx
1801
1907
  var withDashboardViz = (opts) => {
1802
1908
  const {
@@ -1804,6 +1910,8 @@ var withDashboardViz = (opts) => {
1804
1910
  vizConfig,
1805
1911
  computeVizProps: computeVizProps2 = () => {
1806
1912
  },
1913
+ computeVizPropsBeforeEval = () => {
1914
+ },
1807
1915
  disableEditModeCover,
1808
1916
  useIconPlaceholder
1809
1917
  } = opts;
@@ -1853,14 +1961,26 @@ var withDashboardViz = (opts) => {
1853
1961
  const isDownsamplingEnabledByFeatureFlag = Boolean(
1854
1962
  featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableDownsampling
1855
1963
  );
1964
+ const isTrellisFeatureFlagOn = Boolean(
1965
+ featureFlagContext && featureFlagContext.visualizations_enableTrellis
1966
+ );
1967
+ const isTrellisOn = isTrellisFeatureFlagOn && ((_a = vizConfig == null ? void 0 : vizConfig.supports) == null ? void 0 : _a.includes("trellis" /* TRELLIS */)) && (options == null ? void 0 : options.splitByLayout) === "trellis" /* TRELLIS */;
1856
1968
  const isMounted = react_exports.useRef(true);
1857
- const optionsToEvaluate = react_exports.useMemo(
1858
- () => ({
1969
+ const optionsToEvaluate = react_exports.useMemo(() => {
1970
+ var _a2;
1971
+ const legendDisplay = turnOffLegendDisplayWhenTrellisIsOn(isTrellisOn, options);
1972
+ const computedOptions = (_a2 = computeVizPropsBeforeEval(options)) != null ? _a2 : {};
1973
+ return {
1859
1974
  context: (0, lodash_exports.defaultsDeep)({}, context, vizConfig.defaultContext),
1860
- options: (0, hocUtils_exports.deepMergeWithArrayPrimitiveOverrides)({}, options, defaultOptions)
1861
- }),
1862
- [options, context]
1863
- );
1975
+ options: (0, hocUtils_exports.deepMergeWithArrayPrimitiveOverrides)(
1976
+ {},
1977
+ legendDisplay,
1978
+ computedOptions,
1979
+ options,
1980
+ defaultOptions
1981
+ )
1982
+ };
1983
+ }, [isTrellisOn, options, context]);
1864
1984
  const [threshold, setThreshold] = react_exports.useState(Number(width));
1865
1985
  const onDownsamplingThresholdChange = react_exports.useCallback((newThreshold) => {
1866
1986
  setThreshold(newThreshold);
@@ -1941,11 +2061,8 @@ var withDashboardViz = (opts) => {
1941
2061
  useAsyncEvaluatedOptions
1942
2062
  ]);
1943
2063
  const evaluatedOptionsToUse = !useAsyncEvaluatedOptions ? evaluatedOptions : evaluatedOptionsAsync;
1944
- const isTrellisFeatureFlagOn = Boolean(
1945
- featureFlagContext && featureFlagContext.visualizations_enableTrellis
1946
- );
1947
2064
  let clonedEvaluatedOptions = evaluatedOptionsToUse;
1948
- if (isTrellisFeatureFlagOn && ((_a = vizConfig == null ? void 0 : vizConfig.supports) == null ? void 0 : _a.includes("trellis" /* TRELLIS */)) && (clonedEvaluatedOptions == null ? void 0 : clonedEvaluatedOptions.splitByLayout) === "trellis" /* TRELLIS */) {
2065
+ if (isTrellisOn) {
1949
2066
  clonedEvaluatedOptions = __spreadProps(__spreadValues({}, evaluatedOptionsToUse), {
1950
2067
  backgroundColor: clonedEvaluatedOptions == null ? void 0 : clonedEvaluatedOptions.trellisBackgroundColor
1951
2068
  });
@@ -2056,18 +2173,18 @@ var propUtils_exports = {};
2056
2173
  __export(propUtils_exports, {
2057
2174
  default: () => propUtils_default
2058
2175
  });
2059
- var defaultImport35 = __toESM(require("@splunk/visualizations-shared/propUtils"));
2176
+ var defaultImport36 = __toESM(require("@splunk/visualizations-shared/propUtils"));
2060
2177
  __reExport(propUtils_exports, require("@splunk/visualizations-shared/propUtils"));
2061
- var propUtils_default = "default" in defaultImport35 ? defaultImport35.default : defaultImport35;
2178
+ var propUtils_default = "default" in defaultImport36 ? defaultImport36.default : defaultImport36;
2062
2179
 
2063
2180
  // esm-externals:@splunk/visualization-encoding/utils/dsl
2064
2181
  var dsl_exports = {};
2065
2182
  __export(dsl_exports, {
2066
2183
  default: () => dsl_default
2067
2184
  });
2068
- var defaultImport36 = __toESM(require("@splunk/visualization-encoding/utils/dsl"));
2185
+ var defaultImport37 = __toESM(require("@splunk/visualization-encoding/utils/dsl"));
2069
2186
  __reExport(dsl_exports, require("@splunk/visualization-encoding/utils/dsl"));
2070
- var dsl_default = "default" in defaultImport36 ? defaultImport36.default : defaultImport36;
2187
+ var dsl_default = "default" in defaultImport37 ? defaultImport37.default : defaultImport37;
2071
2188
 
2072
2189
  // src/Pie/pieUtils.ts
2073
2190
  var pieOptionsSCMapping = {