@splunk/visualizations 28.8.0 → 28.9.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 (273) hide show
  1. package/Area.config.js +2 -4
  2. package/Area.config.js.map +2 -2
  3. package/Area.js +245 -147
  4. package/Area.js.map +4 -4
  5. package/Bar.config.js +2 -4
  6. package/Bar.config.js.map +2 -2
  7. package/Bar.js +246 -148
  8. package/Bar.js.map +4 -4
  9. package/Bubble/Bubble.d.ts +3 -1
  10. package/Bubble/Bubble.d.ts.map +1 -1
  11. package/Bubble.js +216 -108
  12. package/Bubble.js.map +4 -4
  13. package/CHANGELOG.external.md +31 -1
  14. package/ChoroplethSvg/ChoroplethSvg.d.ts +3 -1
  15. package/ChoroplethSvg/ChoroplethSvg.d.ts.map +1 -1
  16. package/ChoroplethSvg/PureChoroplethSvg/PureChoroplethSvg.d.ts.map +1 -1
  17. package/ChoroplethSvg/PureChoroplethSvg/SvgMutator.d.ts.map +1 -1
  18. package/ChoroplethSvg.js +638 -209
  19. package/ChoroplethSvg.js.map +4 -4
  20. package/Column.config.js +2 -4
  21. package/Column.config.js.map +2 -2
  22. package/Column.js +246 -148
  23. package/Column.js.map +4 -4
  24. package/Ellipse/Ellipse.d.ts +3 -1
  25. package/Ellipse/Ellipse.d.ts.map +1 -1
  26. package/Ellipse.js +216 -105
  27. package/Ellipse.js.map +4 -4
  28. package/Events/Events.d.ts +5 -3
  29. package/Events/Events.d.ts.map +1 -1
  30. package/Events/PureEvents/FieldSummaryTooltip.d.ts.map +1 -1
  31. package/Events/PureEvents/PureEvents.d.ts +0 -1
  32. package/Events/PureEvents/PureEvents.d.ts.map +1 -1
  33. package/Events.js +270 -157
  34. package/Events.js.map +4 -4
  35. package/FillerGauge.js +243 -140
  36. package/FillerGauge.js.map +4 -4
  37. package/Image/Image.d.ts +3 -1
  38. package/Image/Image.d.ts.map +1 -1
  39. package/Image.js +217 -106
  40. package/Image.js.map +4 -4
  41. package/Line.config.js +2 -4
  42. package/Line.config.js.map +2 -2
  43. package/Line.js +246 -148
  44. package/Line.js.map +4 -4
  45. package/LinkGraph/LinkGraph.d.ts +3 -1
  46. package/LinkGraph/LinkGraph.d.ts.map +1 -1
  47. package/LinkGraph/PureLinkGraph/PureLinkGraphUtils.d.ts.map +1 -1
  48. package/LinkGraph/PureLinkGraph/components/Node.d.ts.map +1 -1
  49. package/LinkGraph.config.js +1 -1
  50. package/LinkGraph.config.js.map +2 -2
  51. package/LinkGraph.js +802 -682
  52. package/LinkGraph.js.map +4 -4
  53. package/Map/Map.d.ts +10 -9
  54. package/Map/Map.d.ts.map +1 -1
  55. package/Map/PureMap/BubbleLayer.d.ts.map +1 -1
  56. package/Map/PureMap/ClusterLayer.d.ts.map +1 -1
  57. package/Map/PureMap/MapUtils.d.ts.map +1 -1
  58. package/Map/PureMap/MarkerWrapper.d.ts.map +1 -1
  59. package/Map/PureMap/PureMap.d.ts +8 -65
  60. package/Map/PureMap/PureMap.d.ts.map +1 -1
  61. package/Map.config.js +1 -1
  62. package/Map.config.js.map +2 -2
  63. package/Map.js +363 -313
  64. package/Map.js.map +4 -4
  65. package/Markdown/Markdown.d.ts +9 -1
  66. package/Markdown/Markdown.d.ts.map +1 -1
  67. package/Markdown/config.d.ts.map +1 -1
  68. package/Markdown.config.js +5 -0
  69. package/Markdown.config.js.map +2 -2
  70. package/Markdown.js +225 -94
  71. package/Markdown.js.map +3 -3
  72. package/MarkerGauge.js +239 -134
  73. package/MarkerGauge.js.map +4 -4
  74. package/NetworkGraph/PureNetworkGraph/PureNetworkGraph.d.ts.map +1 -1
  75. package/NetworkGraph/PureNetworkGraph/components/NetworkGraphSvg.d.ts +1 -0
  76. package/NetworkGraph/PureNetworkGraph/components/NetworkGraphSvg.d.ts.map +1 -1
  77. package/NetworkGraph/PureNetworkGraph/components/Node.d.ts +1 -0
  78. package/NetworkGraph/PureNetworkGraph/components/Node.d.ts.map +1 -1
  79. package/NetworkGraph/PureNetworkGraph/utils/networkGraphUtils.d.ts +3 -5
  80. package/NetworkGraph/PureNetworkGraph/utils/networkGraphUtils.d.ts.map +1 -1
  81. package/NetworkGraph.config.js +4 -2
  82. package/NetworkGraph.config.js.map +2 -2
  83. package/NetworkGraph.js +327 -188
  84. package/NetworkGraph.js.map +4 -4
  85. package/ParallelCoordinates/ParallelCoordinates.d.ts +3 -1
  86. package/ParallelCoordinates/ParallelCoordinates.d.ts.map +1 -1
  87. package/ParallelCoordinates.js +239 -128
  88. package/ParallelCoordinates.js.map +4 -4
  89. package/Pie/config.d.ts.map +1 -1
  90. package/Pie/pieUtils.d.ts.map +1 -1
  91. package/Pie.config.js +4 -2
  92. package/Pie.config.js.map +2 -2
  93. package/Pie.js +228 -125
  94. package/Pie.js.map +3 -3
  95. package/ProcessTree/ProcessTree.d.ts +3 -1
  96. package/ProcessTree/ProcessTree.d.ts.map +1 -1
  97. package/ProcessTree/PureProcessTree/PureProcessTree.d.ts +1 -0
  98. package/ProcessTree/PureProcessTree/PureProcessTree.d.ts.map +1 -1
  99. package/ProcessTree/PureProcessTree/components/ProcessTreeLeftPanel.d.ts +1 -0
  100. package/ProcessTree/PureProcessTree/components/ProcessTreeLeftPanel.d.ts.map +1 -1
  101. package/ProcessTree/PureProcessTree/hooks/useProcessTreeGraphData.d.ts +2 -1
  102. package/ProcessTree/PureProcessTree/hooks/useProcessTreeGraphData.d.ts.map +1 -1
  103. package/ProcessTree/PureProcessTree/utils/iconLoader.d.ts +2 -0
  104. package/ProcessTree/PureProcessTree/utils/iconLoader.d.ts.map +1 -1
  105. package/ProcessTree/PureProcessTree/utils/processTreeUtils.d.ts +5 -1
  106. package/ProcessTree/PureProcessTree/utils/processTreeUtils.d.ts.map +1 -1
  107. package/ProcessTree.js +435 -192
  108. package/ProcessTree.js.map +4 -4
  109. package/Punchcard/Punchcard.d.ts +3 -1
  110. package/Punchcard/Punchcard.d.ts.map +1 -1
  111. package/Punchcard.js +238 -129
  112. package/Punchcard.js.map +4 -4
  113. package/Rectangle/Rectangle.d.ts +3 -1
  114. package/Rectangle/Rectangle.d.ts.map +1 -1
  115. package/Rectangle.js +218 -116
  116. package/Rectangle.js.map +4 -4
  117. package/RichText/PureRichText/Editor/EditorPanel.d.ts +1 -4
  118. package/RichText/PureRichText/Editor/EditorPanel.d.ts.map +1 -1
  119. package/RichText/PureRichText/Editor/hooks/useConfigPanelFocus.d.ts +14 -0
  120. package/RichText/PureRichText/Editor/hooks/useConfigPanelFocus.d.ts.map +1 -0
  121. package/RichText/PureRichText/Editor/hooks/useEditorPanelSync.d.ts +15 -0
  122. package/RichText/PureRichText/Editor/hooks/useEditorPanelSync.d.ts.map +1 -0
  123. package/RichText/PureRichText/Editor/hooks/useLinkHandlers.d.ts.map +1 -1
  124. package/RichText/PureRichText/Editor/hooks/usePortalTarget.d.ts +9 -0
  125. package/RichText/PureRichText/Editor/hooks/usePortalTarget.d.ts.map +1 -0
  126. package/RichText/PureRichText/InnerEditor.d.ts +15 -9
  127. package/RichText/PureRichText/InnerEditor.d.ts.map +1 -1
  128. package/RichText/PureRichText/PureRichText.d.ts +5 -10
  129. package/RichText/PureRichText/PureRichText.d.ts.map +1 -1
  130. package/RichText/PureRichText/PureRichTextContext.d.ts +3 -6
  131. package/RichText/PureRichText/PureRichTextContext.d.ts.map +1 -1
  132. package/RichText/PureRichText/RichTextStyles.d.ts +5 -4
  133. package/RichText/PureRichText/RichTextStyles.d.ts.map +1 -1
  134. package/RichText/PureRichText/activeInstance.d.ts +6 -7
  135. package/RichText/PureRichText/activeInstance.d.ts.map +1 -1
  136. package/RichText/PureRichText/config.d.ts.map +1 -1
  137. package/RichText/PureRichText/hooks/useContentSync.d.ts +9 -9
  138. package/RichText/PureRichText/hooks/useContentSync.d.ts.map +1 -1
  139. package/RichText/PureRichText/hooks/useDashboardKeyboardNav.d.ts +2 -7
  140. package/RichText/PureRichText/hooks/useDashboardKeyboardNav.d.ts.map +1 -1
  141. package/RichText/PureRichText/hooks/useEditorSetup.d.ts +8 -4
  142. package/RichText/PureRichText/hooks/useEditorSetup.d.ts.map +1 -1
  143. package/RichText/PureRichText/hooks/useFocusHandlers.d.ts +2 -4
  144. package/RichText/PureRichText/hooks/useFocusHandlers.d.ts.map +1 -1
  145. package/RichText/PureRichText/hooks/useKeyboardShortcuts.d.ts.map +1 -1
  146. package/RichText/PureRichText/hooks/useMouseHandlers.d.ts +3 -7
  147. package/RichText/PureRichText/hooks/useMouseHandlers.d.ts.map +1 -1
  148. package/RichText/PureRichText/hooks/useStepFontSize.d.ts +2 -2
  149. package/RichText/PureRichText/hooks/useStepLineSpacing.d.ts +2 -3
  150. package/RichText/PureRichText/hooks/useStepLineSpacing.d.ts.map +1 -1
  151. package/RichText/PureRichText/hooks/useTokenMap.d.ts +13 -24
  152. package/RichText/PureRichText/hooks/useTokenMap.d.ts.map +1 -1
  153. package/RichText/PureRichText/renderers/ElementRenderer.d.ts +2 -5
  154. package/RichText/PureRichText/renderers/ElementRenderer.d.ts.map +1 -1
  155. package/RichText/PureRichText/types.d.ts +6 -0
  156. package/RichText/PureRichText/types.d.ts.map +1 -1
  157. package/RichText/PureRichText/utils/slateUtils.d.ts +26 -2
  158. package/RichText/PureRichText/utils/slateUtils.d.ts.map +1 -1
  159. package/RichText/RichText.d.ts +3 -1
  160. package/RichText/RichText.d.ts.map +1 -1
  161. package/RichText/config.d.ts.map +1 -1
  162. package/RichText.config.js +5 -0
  163. package/RichText.config.js.map +2 -2
  164. package/RichText.js +1848 -842
  165. package/RichText.js.map +4 -4
  166. package/Sankey/PureSankey/PureSankey.d.ts +2 -0
  167. package/Sankey/PureSankey/PureSankey.d.ts.map +1 -1
  168. package/Sankey/PureSankey/SankeyLink.d.ts +3 -1
  169. package/Sankey/PureSankey/SankeyLink.d.ts.map +1 -1
  170. package/Sankey/PureSankey/SankeyNode.d.ts +5 -2
  171. package/Sankey/PureSankey/SankeyNode.d.ts.map +1 -1
  172. package/Sankey/PureSankey/SankeyUtils.d.ts.map +1 -1
  173. package/Sankey/Sankey.d.ts +3 -1
  174. package/Sankey/Sankey.d.ts.map +1 -1
  175. package/Sankey.js +508 -219
  176. package/Sankey.js.map +4 -4
  177. package/Scatter.config.js +3 -5
  178. package/Scatter.config.js.map +2 -2
  179. package/Scatter.js +244 -146
  180. package/Scatter.js.map +4 -4
  181. package/SingleValue/SingleValue.d.ts.map +1 -1
  182. package/SingleValue.js +273 -173
  183. package/SingleValue.js.map +4 -4
  184. package/SingleValueBasic.js +4 -4
  185. package/SingleValueBasic.js.map +2 -2
  186. package/SingleValueIcon/SingleValueIcon.d.ts.map +1 -1
  187. package/SingleValueIcon.js +264 -164
  188. package/SingleValueIcon.js.map +4 -4
  189. package/SingleValueRadial.js +267 -167
  190. package/SingleValueRadial.js.map +4 -4
  191. package/SparkLine/SparkLine.d.ts.map +1 -1
  192. package/SparkLine.js.map +2 -2
  193. package/Table/PureTable.d.ts.map +1 -1
  194. package/Table/Table.d.ts +2 -5
  195. package/Table/Table.d.ts.map +1 -1
  196. package/Table/hooks.d.ts.map +1 -1
  197. package/Table.config.js +1 -1
  198. package/Table.config.js.map +2 -2
  199. package/Table.js +293 -271
  200. package/Table.js.map +4 -4
  201. package/Timeline/Timeline.d.ts +3 -1
  202. package/Timeline/Timeline.d.ts.map +1 -1
  203. package/Timeline.config.js +2 -2
  204. package/Timeline.config.js.map +2 -2
  205. package/Timeline.js +266 -142
  206. package/Timeline.js.map +4 -4
  207. package/Treemap/Treemap.d.ts +3 -1
  208. package/Treemap/Treemap.d.ts.map +1 -1
  209. package/Treemap.js +263 -147
  210. package/Treemap.js.map +4 -4
  211. package/common/Charting.js +8 -10
  212. package/common/Charting.js.map +2 -2
  213. package/common/ChartingApi.d.ts.map +1 -1
  214. package/common/ChartingApi.js +5 -2
  215. package/common/ChartingApi.js.map +2 -2
  216. package/common/DocExampleWithVizSandbox.js +3 -3
  217. package/common/DocExampleWithVizSandbox.js.map +2 -2
  218. package/common/GaugeMajorTicks.js.map +2 -2
  219. package/common/GaugeValueMarker.js.map +2 -2
  220. package/common/OptionsDoc.js +1 -1
  221. package/common/OptionsDoc.js.map +2 -2
  222. package/common/OverviewDoc.js +3 -3
  223. package/common/OverviewDoc.js.map +2 -2
  224. package/common/ThemesDoc.js.map +2 -2
  225. package/common/TimeSeriesChartWrapper.js +10 -9
  226. package/common/TimeSeriesChartWrapper.js.map +2 -2
  227. package/common/chartingUtils.d.ts.map +1 -1
  228. package/common/chartingUtils.js +12 -11
  229. package/common/chartingUtils.js.map +2 -2
  230. package/common/components/IconPlaceholder.d.ts.map +1 -1
  231. package/common/docUtils.d.ts.map +1 -1
  232. package/common/docUtils.js +15 -6
  233. package/common/docUtils.js.map +2 -2
  234. package/common/editorConfig/AxesChartDataDisplay.d.ts.map +1 -1
  235. package/common/gaugeUtils.d.ts.map +1 -1
  236. package/common/gaugeUtils.js +4 -2
  237. package/common/gaugeUtils.js.map +2 -2
  238. package/common/hooks/useSorting.d.ts.map +1 -1
  239. package/common/interfaces/VizEvent.d.ts +7 -0
  240. package/common/interfaces/VizEvent.d.ts.map +1 -1
  241. package/common/utils/dataUtils.d.ts.map +1 -1
  242. package/common/utils/dataUtils.js +6 -10
  243. package/common/utils/dataUtils.js.map +2 -2
  244. package/common/utils/featureFlagUtils.js +2 -2
  245. package/common/utils/featureFlagUtils.js.map +2 -2
  246. package/common/utils/focusUtils.js +1 -1
  247. package/common/utils/focusUtils.js.map +2 -2
  248. package/common/utils/mapUtils.d.ts.map +1 -1
  249. package/common/utils/mapUtils.js +14 -18
  250. package/common/utils/mapUtils.js.map +2 -2
  251. package/common/utils/singleValueUtils.js +22 -25
  252. package/common/utils/singleValueUtils.js.map +2 -2
  253. package/common/utils/textUtils.d.ts.map +1 -1
  254. package/common/utils/textUtils.js +37 -23
  255. package/common/utils/textUtils.js.map +2 -2
  256. package/common/utils/trellisUtils.d.ts.map +1 -1
  257. package/common/utils/trellisUtils.js +18 -17
  258. package/common/utils/trellisUtils.js.map +2 -2
  259. package/common/utils/urlUtils.js.map +2 -2
  260. package/common/utils/visualizationTheme.d.ts +15 -0
  261. package/common/utils/visualizationTheme.d.ts.map +1 -0
  262. package/common/utils/visualizationTheme.js +72 -0
  263. package/common/utils/visualizationTheme.js.map +7 -0
  264. package/common/withDashboardViz.d.ts +3 -1
  265. package/common/withDashboardViz.d.ts.map +1 -1
  266. package/common/withDashboardViz.js +216 -105
  267. package/common/withDashboardViz.js.map +4 -4
  268. package/docs-llm/network-graph/options.md +2 -2
  269. package/docs-llm/pie/examples-json.md +195 -0
  270. package/docs-llm/pie/examples-react.md +123 -0
  271. package/docs-llm/pie/options.md +1 -1
  272. package/docs-llm/process-tree/options.md +3 -2
  273. package/package.json +24 -24
@@ -1,6 +1,8 @@
1
1
  import * as React from 'react';
2
2
  import config from './config';
3
- declare const Ellipse: React.FunctionComponent<import("../common/interfaces").DashboardVizProps> | React.ComponentClass<import("../common/interfaces").DashboardVizProps, any>;
3
+ declare const Ellipse: React.ComponentType<import("../common/interfaces").DashboardVizProps> & {
4
+ config: import("../common/interfaces").VizConfig;
5
+ };
4
6
  declare const themes: any;
5
7
  export { themes, config };
6
8
  export default Ellipse;
@@ -1 +1 @@
1
- {"version":3,"file":"Ellipse.d.ts","sourceRoot":"","sources":["../src/Ellipse/Ellipse.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,MAAM,MAAM,UAAU,CAAC;AA8D9B,QAAA,MAAM,OAAO,yJAIX,CAAC;AACH,QAAA,MAAM,MAAM,KAAO,CAAC;AAEpB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC1B,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"Ellipse.d.ts","sourceRoot":"","sources":["../src/Ellipse/Ellipse.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,MAAM,MAAM,UAAU,CAAC;AA8D9B,QAAA,MAAM,OAAO;;CAIX,CAAC;AACH,QAAA,MAAM,MAAM,KAAO,CAAC;AAEpB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC1B,eAAe,OAAO,CAAC"}
package/Ellipse.js CHANGED
@@ -799,7 +799,10 @@ var useSortingParams = ({ requestParams, onRequestParamsChange }) => {
799
799
  onSort = (e, { sortKey, sortDir }) => {
800
800
  if (typeof sortKey === "string") {
801
801
  const nextSortDir = (0, lodash_exports.has)(nextSortDirMap, sortDir) ? nextSortDirMap[sortDir] : "none";
802
- onRequestParamsChange(__spreadValues(__spreadValues({}, requestParams), { offset: 0, sort: { [sortKey]: nextSortDir } }));
802
+ onRequestParamsChange(__spreadProps(__spreadValues({}, requestParams), {
803
+ offset: 0,
804
+ sort: { [sortKey]: nextSortDir }
805
+ }));
803
806
  } else {
804
807
  onRequestParamsChange(requestParams);
805
808
  }
@@ -934,7 +937,7 @@ var Cover = styled_components_default.div`
934
937
  bottom: 0;
935
938
  `;
936
939
  var Blocker = styled_components_default.div.attrs({
937
- "data-splunk-visualization-version": "28.8.0 - 633c53372"
940
+ "data-splunk-visualization-version": "28.9.0 - 96b03188d"
938
941
  })`
939
942
  position: relative;
940
943
  width: 100%;
@@ -960,14 +963,23 @@ var defaultImport24 = __toESM(require("@splunk/visualizations-shared/colorUtils"
960
963
  __reExport(colorUtils_exports, require("@splunk/visualizations-shared/colorUtils"));
961
964
  var colorUtils_default = "default" in defaultImport24 ? defaultImport24.default : defaultImport24;
962
965
 
966
+ // esm-externals:@splunk/themes
967
+ var themes_exports = {};
968
+ __export(themes_exports, {
969
+ default: () => themes_default
970
+ });
971
+ var defaultImport25 = __toESM(require("@splunk/themes"));
972
+ __reExport(themes_exports, require("@splunk/themes"));
973
+ var themes_default = "default" in defaultImport25 ? defaultImport25.default : defaultImport25;
974
+
963
975
  // esm-externals:@splunk/visualizations-shared/style
964
976
  var style_exports = {};
965
977
  __export(style_exports, {
966
978
  default: () => style_default
967
979
  });
968
- var defaultImport25 = __toESM(require("@splunk/visualizations-shared/style"));
980
+ var defaultImport26 = __toESM(require("@splunk/visualizations-shared/style"));
969
981
  __reExport(style_exports, require("@splunk/visualizations-shared/style"));
970
- var style_default = "default" in defaultImport25 ? defaultImport25.default : defaultImport25;
982
+ var style_default = "default" in defaultImport26 ? defaultImport26.default : defaultImport26;
971
983
 
972
984
  // src/common/hocs/FixedSizeContainer.tsx
973
985
  var Item = styled_components_default.div.attrs(({ width }) => ({
@@ -1024,7 +1036,7 @@ var withFixedSizeContainer = (Viz) => {
1024
1036
  FixSizeItem,
1025
1037
  {
1026
1038
  "data-test": "fix-size-item",
1027
- "data-splunk-visualization-version": "28.8.0 - 633c53372",
1039
+ "data-splunk-visualization-version": "28.9.0 - 96b03188d",
1028
1040
  width,
1029
1041
  height,
1030
1042
  backgroundColor
@@ -1045,6 +1057,14 @@ var shouldShowIconPlaceholder = (dataSources, loading = false) => {
1045
1057
  const noFields = fields === void 0;
1046
1058
  return loading || noData || noFields;
1047
1059
  };
1060
+ var PlaceholderContainer = styled_components_default.div`
1061
+ /* The inline token color wins when supported. Older browsers discard an
1062
+ unsupported oklch value and retain this inherited fallback instead. */
1063
+ color: ${(0, themes_exports.pick)({
1064
+ dark: "#fafafa",
1065
+ light: "#2c2c2c"
1066
+ })};
1067
+ `;
1048
1068
  var IconPlaceholder = (props) => {
1049
1069
  const {
1050
1070
  width = SplunkVisualization_default.defaults.width,
@@ -1059,7 +1079,6 @@ var IconPlaceholder = (props) => {
1059
1079
  style: {
1060
1080
  left: "50%",
1061
1081
  top: "50%",
1062
- color: iconColor,
1063
1082
  opacity: 0.15,
1064
1083
  position: "absolute",
1065
1084
  transform: "translate(-50%, -50%)"
@@ -1069,7 +1088,14 @@ var IconPlaceholder = (props) => {
1069
1088
  "data-test": "icon-placeholder"
1070
1089
  });
1071
1090
  }
1072
- return /* @__PURE__ */ react_exports.createElement("div", { style: { width, height, background: backgroundColor } }, content);
1091
+ return /* @__PURE__ */ react_exports.createElement(
1092
+ PlaceholderContainer,
1093
+ {
1094
+ "data-test": "icon-placeholder-container",
1095
+ style: { width, height, background: backgroundColor, color: iconColor }
1096
+ },
1097
+ content
1098
+ );
1073
1099
  };
1074
1100
  var IconPlaceholder_default = FixedSizeContainer_default(IconPlaceholder);
1075
1101
 
@@ -1115,9 +1141,9 @@ var numberUtils_exports = {};
1115
1141
  __export(numberUtils_exports, {
1116
1142
  default: () => numberUtils_default
1117
1143
  });
1118
- var defaultImport26 = __toESM(require("@splunk/visualizations-shared/numberUtils"));
1144
+ var defaultImport27 = __toESM(require("@splunk/visualizations-shared/numberUtils"));
1119
1145
  __reExport(numberUtils_exports, require("@splunk/visualizations-shared/numberUtils"));
1120
- var numberUtils_default = "default" in defaultImport26 ? defaultImport26.default : defaultImport26;
1146
+ var numberUtils_default = "default" in defaultImport27 ? defaultImport27.default : defaultImport27;
1121
1147
 
1122
1148
  // src/common/utils/dataUtils.ts
1123
1149
  var getFieldName = (field) => typeof field === "string" ? field : field.name;
@@ -1143,7 +1169,7 @@ var largestTriangleThreeBuckets = (data, threshold, preferredDownsampleIndices)
1143
1169
  let avgY = 0;
1144
1170
  let avgRangeStart = Math.floor((i + 1) * every) + 1;
1145
1171
  let avgRangeEnd = Math.floor((i + 2) * every) + 1;
1146
- avgRangeEnd = avgRangeEnd < dataLength ? avgRangeEnd : dataLength;
1172
+ avgRangeEnd = Math.min(avgRangeEnd, dataLength);
1147
1173
  const avgRangeLength = avgRangeEnd - avgRangeStart;
1148
1174
  for (; avgRangeStart < avgRangeEnd; avgRangeStart++) {
1149
1175
  avgX += Number(data[avgRangeStart][0]);
@@ -1178,9 +1204,9 @@ var largestTriangleThreeBuckets = (data, threshold, preferredDownsampleIndices)
1178
1204
  };
1179
1205
  var strictlyCoerceYColumn = (column, options) => {
1180
1206
  const isNullCoercionEnabled = options.nullValueDisplay === "zero";
1181
- const canLooselyCoerceSomeValues = column.findIndex(
1207
+ const canLooselyCoerceSomeValues = column.some(
1182
1208
  (value) => (0, numberUtils_exports.startsWithNumber)(`${value}`) || isNullCoercionEnabled && value === null
1183
- ) >= 0;
1209
+ );
1184
1210
  const coercedColumn = [];
1185
1211
  const canDownsampleColumn = !column.some((value) => {
1186
1212
  const coercedValue = Number(value);
@@ -1199,7 +1225,7 @@ var strictlyCoerceYColumn = (column, options) => {
1199
1225
  };
1200
1226
  var strictlyCoerceXColumn = (column, fieldType) => {
1201
1227
  if (fieldType === "number") {
1202
- const coercedXColumn = column.map((xValue) => Number(xValue));
1228
+ const coercedXColumn = column.map(Number);
1203
1229
  if (isColumnStrictlyIncreasing(coercedXColumn, fieldType)) {
1204
1230
  return coercedXColumn;
1205
1231
  }
@@ -1498,16 +1524,16 @@ var FeatureFlags_exports = {};
1498
1524
  __export(FeatureFlags_exports, {
1499
1525
  default: () => FeatureFlags_default
1500
1526
  });
1501
- var defaultImport27 = __toESM(require("@splunk/visualization-context/FeatureFlags"));
1527
+ var defaultImport28 = __toESM(require("@splunk/visualization-context/FeatureFlags"));
1502
1528
  __reExport(FeatureFlags_exports, require("@splunk/visualization-context/FeatureFlags"));
1503
- var FeatureFlags_default = "default" in defaultImport27 ? defaultImport27.default : defaultImport27;
1529
+ var FeatureFlags_default = "default" in defaultImport28 ? defaultImport28.default : defaultImport28;
1504
1530
 
1505
1531
  // src/common/utils/featureFlagUtils.ts
1506
1532
  var getFeatureFlag = (context, flagName) => {
1507
- if (context && Object.keys(context).find((key) => key === flagName)) {
1533
+ if (context && Object.keys(context).includes(flagName)) {
1508
1534
  return context[flagName];
1509
1535
  }
1510
- if (Object.keys(FeatureFlags_default).find((key) => key === flagName)) {
1536
+ if (Object.keys(FeatureFlags_default).includes(flagName)) {
1511
1537
  return FeatureFlags_default[flagName];
1512
1538
  }
1513
1539
  return false;
@@ -1518,9 +1544,9 @@ var trellisUtils_exports = {};
1518
1544
  __export(trellisUtils_exports, {
1519
1545
  default: () => trellisUtils_default
1520
1546
  });
1521
- var defaultImport28 = __toESM(require("@splunk/visualizations-shared/trellisUtils"));
1547
+ var defaultImport29 = __toESM(require("@splunk/visualizations-shared/trellisUtils"));
1522
1548
  __reExport(trellisUtils_exports, require("@splunk/visualizations-shared/trellisUtils"));
1523
- var trellisUtils_default = "default" in defaultImport28 ? defaultImport28.default : defaultImport28;
1549
+ var trellisUtils_default = "default" in defaultImport29 ? defaultImport29.default : defaultImport29;
1524
1550
 
1525
1551
  // src/common/utils/trellisUtils.ts
1526
1552
  var turnOffLegendDisplayWhenTrellisIsOn = (isTrellisOn, options) => {
@@ -1537,9 +1563,9 @@ var visualization_canvas_exports = {};
1537
1563
  __export(visualization_canvas_exports, {
1538
1564
  default: () => visualization_canvas_default
1539
1565
  });
1540
- var defaultImport29 = __toESM(require("@splunk/visualization-canvas"));
1566
+ var defaultImport30 = __toESM(require("@splunk/visualization-canvas"));
1541
1567
  __reExport(visualization_canvas_exports, require("@splunk/visualization-canvas"));
1542
- var visualization_canvas_default = "default" in defaultImport29 ? defaultImport29.default : defaultImport29;
1568
+ var visualization_canvas_default = "default" in defaultImport30 ? defaultImport30.default : defaultImport30;
1543
1569
 
1544
1570
  // src/common/components/VizStyleWrapper.jsx
1545
1571
  var VizStyleWrapper = styled_components_default.div.attrs(({ dataTestKey }) => ({
@@ -1561,27 +1587,27 @@ var Triangle_exports = {};
1561
1587
  __export(Triangle_exports, {
1562
1588
  default: () => Triangle_default
1563
1589
  });
1564
- var defaultImport30 = __toESM(require("@splunk/react-icons/Triangle"));
1590
+ var defaultImport31 = __toESM(require("@splunk/react-icons/Triangle"));
1565
1591
  __reExport(Triangle_exports, require("@splunk/react-icons/Triangle"));
1566
- var Triangle_default = "default" in defaultImport30 ? defaultImport30.default : defaultImport30;
1592
+ var Triangle_default = "default" in defaultImport31 ? defaultImport31.default : defaultImport31;
1567
1593
 
1568
1594
  // esm-externals:@splunk/visualizations-shared/propUtils
1569
1595
  var propUtils_exports = {};
1570
1596
  __export(propUtils_exports, {
1571
1597
  default: () => propUtils_default
1572
1598
  });
1573
- var defaultImport31 = __toESM(require("@splunk/visualizations-shared/propUtils"));
1599
+ var defaultImport32 = __toESM(require("@splunk/visualizations-shared/propUtils"));
1574
1600
  __reExport(propUtils_exports, require("@splunk/visualizations-shared/propUtils"));
1575
- var propUtils_default = "default" in defaultImport31 ? defaultImport31.default : defaultImport31;
1601
+ var propUtils_default = "default" in defaultImport32 ? defaultImport32.default : defaultImport32;
1576
1602
 
1577
1603
  // esm-externals:@splunk/visualizations-shared/simpleXMLOptions
1578
1604
  var simpleXMLOptions_exports = {};
1579
1605
  __export(simpleXMLOptions_exports, {
1580
1606
  default: () => simpleXMLOptions_default
1581
1607
  });
1582
- var defaultImport32 = __toESM(require("@splunk/visualizations-shared/simpleXMLOptions"));
1608
+ var defaultImport33 = __toESM(require("@splunk/visualizations-shared/simpleXMLOptions"));
1583
1609
  __reExport(simpleXMLOptions_exports, require("@splunk/visualizations-shared/simpleXMLOptions"));
1584
- var simpleXMLOptions_default = "default" in defaultImport32 ? defaultImport32.default : defaultImport32;
1610
+ var simpleXMLOptions_default = "default" in defaultImport33 ? defaultImport33.default : defaultImport33;
1585
1611
 
1586
1612
  // src/common/chartingUtils.ts
1587
1613
  var DEFAULT_LINE_WIDTH = 2;
@@ -1620,9 +1646,9 @@ var shouldEnableSearchZoom = (eventHandlers = [], xField = "") => {
1620
1646
  const xAxisIsTime = xField === "_time";
1621
1647
  return !!rangeSelectEventHandler && xAxisIsTime;
1622
1648
  };
1623
- var canvasSupportedTimeSeriesCharts = ["splunk.line", "splunk.area"];
1649
+ var canvasSupportedTimeSeriesCharts = /* @__PURE__ */ new Set(["splunk.line", "splunk.area"]);
1624
1650
  var isTimeSeriesCanvasRenderSupported = (vizConfigKey) => {
1625
- return canvasSupportedTimeSeriesCharts.includes(vizConfigKey);
1651
+ return canvasSupportedTimeSeriesCharts.has(vizConfigKey);
1626
1652
  };
1627
1653
  var filterChartDataFromInternalFields = (chartData) => {
1628
1654
  const { fields, columns } = chartData;
@@ -1638,7 +1664,7 @@ var filterChartDataFromInternalFields = (chartData) => {
1638
1664
  return { fields: filteredFields, columns: filteredColumns };
1639
1665
  };
1640
1666
  var convert2DArrayToNumbers = (arr) => {
1641
- return arr.map((subArray) => subArray.map((element) => parseFloat(element)));
1667
+ return arr.map((subArray) => subArray.map((element) => Number.parseFloat(element)));
1642
1668
  };
1643
1669
  var parseAxisValue = (val) => {
1644
1670
  if (val === void 0 || val === null || val === "auto" || val === "") {
@@ -1676,6 +1702,7 @@ var getLegend = (props) => {
1676
1702
  return (0, visualization_canvas_exports.TopLegendFactory)(__spreadValues({
1677
1703
  wrap: true
1678
1704
  }, commonLegendProps));
1705
+ // Note: By default, use right legend
1679
1706
  default:
1680
1707
  return (0, visualization_canvas_exports.SideLegendFactory)(__spreadValues({}, commonLegendProps));
1681
1708
  }
@@ -1808,10 +1835,10 @@ var getSeriesOverrides = (opts) => {
1808
1835
  let spanGaps;
1809
1836
  if (nullValueMode === "gaps") {
1810
1837
  spanGaps = false;
1811
- } else if (nullValueMode != null) {
1812
- spanGaps = true;
1813
- } else {
1838
+ } else if (nullValueMode == null) {
1814
1839
  spanGaps = void 0;
1840
+ } else {
1841
+ spanGaps = true;
1815
1842
  }
1816
1843
  const replaceNullsWithZero = nullValueMode === "zero" ? true : void 0;
1817
1844
  const isAreaChart = type === "area";
@@ -2242,11 +2269,11 @@ var TimeSeriesChartWrapper = (props) => {
2242
2269
  y2AxisMajorUnitFromSimpleXML,
2243
2270
  y2AxisMajorTickInterval
2244
2271
  );
2245
- const xAxisMajorTickSizeNum = xAxisMajorTickSize != null ? Number(xAxisMajorTickSize) : void 0;
2246
- const yAxisMajorTickSizeNum = yAxisMajorTickSize != null ? Number(yAxisMajorTickSize) : void 0;
2247
- const y2AxisMajorTickSizeNum = y2AxisMajorTickSize != null ? Number(y2AxisMajorTickSize) : void 0;
2248
- const yAxisMinorTickSizeNum = yAxisMinorTickSize != null ? Number(yAxisMinorTickSize) : void 0;
2249
- const y2AxisMinorTickSizeNum = y2AxisMinorTickSize != null ? Number(y2AxisMinorTickSize) : void 0;
2272
+ const xAxisMajorTickSizeNum = xAxisMajorTickSize == null ? void 0 : Number(xAxisMajorTickSize);
2273
+ const yAxisMajorTickSizeNum = yAxisMajorTickSize == null ? void 0 : Number(yAxisMajorTickSize);
2274
+ const y2AxisMajorTickSizeNum = y2AxisMajorTickSize == null ? void 0 : Number(y2AxisMajorTickSize);
2275
+ const yAxisMinorTickSizeNum = yAxisMinorTickSize == null ? void 0 : Number(yAxisMinorTickSize);
2276
+ const y2AxisMinorTickSizeNum = y2AxisMinorTickSize == null ? void 0 : Number(y2AxisMinorTickSize);
2250
2277
  const areaOpacityForCanvas = getAreaOpacityForCanvas(areaOpacity);
2251
2278
  const seriesColors = seriesColorsStr ? JSON.parse(seriesColorsStr) : void 0;
2252
2279
  const seriesColorsByField = fieldColors ? JSON.parse(fieldColors) : void 0;
@@ -2658,6 +2685,76 @@ var buildEventCallbackProps = (supportedEvents, evaluatedOptionsToUse, onEventTr
2658
2685
  });
2659
2686
  return result;
2660
2687
  };
2688
+ var buildAllEventCallbackProps = (events, evaluatedOptionsToUse, onEventTrigger, { supportsEvents, hasEventHandlers, mode }) => {
2689
+ if (!supportsEvents) return {};
2690
+ const defaultEvents = {};
2691
+ const userEvents = {};
2692
+ Object.entries(events || {}).forEach(([eventKey, eventConfig]) => {
2693
+ (eventConfig.source === "default" ? defaultEvents : userEvents)[eventKey] = eventConfig;
2694
+ });
2695
+ const userProps = hasEventHandlers && mode === "view" ? buildEventCallbackProps(userEvents, evaluatedOptionsToUse, onEventTrigger) : {};
2696
+ return __spreadValues(__spreadValues({}, userProps), buildEventCallbackProps(defaultEvents, evaluatedOptionsToUse, onEventTrigger));
2697
+ };
2698
+ var applyContextTimezone = (localeContext) => {
2699
+ if (localeContext.serializedTimezone && !moment_default.getDefaultSplunkTimezone()) {
2700
+ moment_default.setDefaultSplunkTimezone(localeContext.serializedTimezone);
2701
+ }
2702
+ };
2703
+ var getAsyncOptionsEvaluationParams = ({
2704
+ visualizationID,
2705
+ props,
2706
+ optionsToEvaluate,
2707
+ downsampledDataSources,
2708
+ vizConfig,
2709
+ bypassCloneDeepOptionScope,
2710
+ lazyLoadingDataFrame
2711
+ }) => {
2712
+ return {
2713
+ visualizationID,
2714
+ props,
2715
+ options: __spreadValues({}, optionsToEvaluate),
2716
+ dataSources: downsampledDataSources,
2717
+ theme: vizConfig.themes,
2718
+ bypassCloneDeepOptionScope,
2719
+ lazyLoadingDataFrame
2720
+ };
2721
+ };
2722
+ var evaluateOptionsSync = ({
2723
+ optionsToEvaluate,
2724
+ downsampledDataSources,
2725
+ dataSourcesInState,
2726
+ dataFramesInState,
2727
+ setDataSourcesInState,
2728
+ setDataFramesInState,
2729
+ computeDataFrames,
2730
+ featureFlagContext,
2731
+ themeFunc
2732
+ }) => {
2733
+ let dataFrames = dataFramesInState;
2734
+ if (downsampledDataSources !== dataSourcesInState) {
2735
+ setDataSourcesInState(downsampledDataSources);
2736
+ dataFrames = Options_exports.Options.dataFrameFromDataSource(
2737
+ downsampledDataSources,
2738
+ getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
2739
+ );
2740
+ setDataFramesInState(dataFrames);
2741
+ }
2742
+ let mergedFrames = dataFrames;
2743
+ if (computeDataFrames && dataFrames) {
2744
+ const derivedFrames = computeDataFrames({
2745
+ dataSources: downsampledDataSources,
2746
+ options: optionsToEvaluate.options
2747
+ });
2748
+ mergedFrames = __spreadValues(__spreadValues({}, dataFrames), derivedFrames);
2749
+ }
2750
+ return Options_exports.Options.evaluate(
2751
+ optionsToEvaluate,
2752
+ downsampledDataSources,
2753
+ themeFunc,
2754
+ mergedFrames,
2755
+ getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
2756
+ );
2757
+ };
2661
2758
  var withDashboardViz = (opts) => {
2662
2759
  const {
2663
2760
  ReactViz,
@@ -2689,11 +2786,7 @@ var withDashboardViz = (opts) => {
2689
2786
  onRequestParamsChange = lodash_exports.noop
2690
2787
  } = props;
2691
2788
  const localeContext = react_exports.useContext(TimezoneContext_default);
2692
- if (localeContext.serializedTimezone) {
2693
- if (!moment_default.getDefaultSplunkTimezone()) {
2694
- moment_default.setDefaultSplunkTimezone(localeContext.serializedTimezone);
2695
- }
2696
- }
2789
+ applyContextTimezone(localeContext);
2697
2790
  const themeFunc = (themeVar) => {
2698
2791
  var _a2, _b;
2699
2792
  return (_b = (_a2 = vizConfig.themes)[themeVar]) == null ? void 0 : _b.call(_a2, props);
@@ -2721,7 +2814,12 @@ var withDashboardViz = (opts) => {
2721
2814
  featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableAcceleratedRender
2722
2815
  );
2723
2816
  const isAcceleratedRenderOn = isAcceleratedRenderFeatureFlagOn && isTimeSeriesCanvasRenderSupported(vizConfig.key) && (options == null ? void 0 : options.acceleratedRender) === true;
2724
- const isMounted = react_exports.useRef(true);
2817
+ const bypassCloneDeepOptionScope = Boolean(
2818
+ getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
2819
+ );
2820
+ const lazyLoadingDataFrame = Boolean(
2821
+ getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
2822
+ );
2725
2823
  const optionsToEvaluate = react_exports.useMemo(() => {
2726
2824
  var _a2;
2727
2825
  const legendDisplay = turnOffLegendDisplayWhenTrellisIsOn(isTrellisOn, options);
@@ -2760,63 +2858,74 @@ var withDashboardViz = (opts) => {
2760
2858
  threshold,
2761
2859
  isDownsamplingEnabled
2762
2860
  });
2763
- evaluatedOptions = useDeepMemo(() => {
2861
+ const asyncOptionsEvaluationParams = useDeepMemo(
2862
+ () => getAsyncOptionsEvaluationParams({
2863
+ visualizationID,
2864
+ props,
2865
+ optionsToEvaluate,
2866
+ downsampledDataSources,
2867
+ vizConfig,
2868
+ bypassCloneDeepOptionScope,
2869
+ lazyLoadingDataFrame
2870
+ }),
2871
+ [
2872
+ visualizationID,
2873
+ optionsToEvaluate,
2874
+ downsampledDataSources,
2875
+ vizConfig,
2876
+ bypassCloneDeepOptionScope,
2877
+ lazyLoadingDataFrame,
2878
+ currentThemeFamily,
2879
+ currentThemeColorScheme,
2880
+ currentThemeDensity,
2881
+ localeContext.serializedTimezone
2882
+ ]
2883
+ );
2884
+ react_exports.useEffect(() => {
2885
+ if (!useAsyncEvaluatedOptions) {
2886
+ return void 0;
2887
+ }
2888
+ let ownsEvaluation = true;
2764
2889
  try {
2765
- if (useAsyncEvaluatedOptions) {
2766
- const asyncDynamicOptionsEvaluatorParams = {
2767
- visualizationID,
2768
- props,
2769
- options: optionsToEvaluate,
2770
- dataSources: downsampledDataSources,
2771
- theme: vizConfig.themes,
2772
- bypassCloneDeepOptionScope: Boolean(
2773
- getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
2774
- ),
2775
- lazyLoadingDataFrame: Boolean(
2776
- getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
2777
- )
2778
- };
2779
- async_dynamic_options_evaluator_default.evaluate(asyncDynamicOptionsEvaluatorParams).then((results) => {
2890
+ async_dynamic_options_evaluator_default.evaluate(asyncOptionsEvaluationParams).then((results) => {
2891
+ if (ownsEvaluation) {
2780
2892
  setEvaluatedOptionsAsync(results.results);
2781
- }).catch(() => {
2782
- if (isMounted.current) {
2783
- setUseAsyncEvaluatedOptions(false);
2784
- }
2785
- });
2786
- } else {
2787
- let dataFrames = dataFramesInState;
2788
- if (downsampledDataSources !== dataSourcesInState) {
2789
- setDataSourcesInState(downsampledDataSources);
2790
- dataFrames = Options_exports.Options.dataFrameFromDataSource(
2791
- downsampledDataSources,
2792
- getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
2793
- );
2794
- setDataFramesInState(dataFrames);
2795
2893
  }
2796
- let mergedFrames = dataFrames;
2797
- if (computeDataFrames && dataFrames) {
2798
- const derivedFrames = computeDataFrames({
2799
- dataSources: downsampledDataSources,
2800
- options: optionsToEvaluate.options
2801
- });
2802
- mergedFrames = __spreadValues(__spreadValues({}, dataFrames), derivedFrames);
2894
+ }).catch(() => {
2895
+ if (ownsEvaluation) {
2896
+ setUseAsyncEvaluatedOptions(false);
2803
2897
  }
2804
- const result = Options_exports.Options.evaluate(
2805
- optionsToEvaluate,
2806
- downsampledDataSources,
2807
- themeFunc,
2808
- mergedFrames,
2809
- getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
2810
- );
2811
- return result;
2898
+ });
2899
+ } catch (e) {
2900
+ setUseAsyncEvaluatedOptions(false);
2901
+ }
2902
+ return () => {
2903
+ ownsEvaluation = false;
2904
+ async_dynamic_options_evaluator_default.reset(visualizationID);
2905
+ };
2906
+ }, [asyncOptionsEvaluationParams, useAsyncEvaluatedOptions, visualizationID]);
2907
+ evaluatedOptions = useDeepMemo(() => {
2908
+ try {
2909
+ if (useAsyncEvaluatedOptions) {
2910
+ return {};
2812
2911
  }
2912
+ return evaluateOptionsSync({
2913
+ optionsToEvaluate,
2914
+ downsampledDataSources,
2915
+ dataSourcesInState,
2916
+ dataFramesInState,
2917
+ setDataSourcesInState,
2918
+ setDataFramesInState,
2919
+ computeDataFrames,
2920
+ featureFlagContext,
2921
+ themeFunc
2922
+ });
2813
2923
  } catch (e) {
2814
2924
  if (e instanceof Error) {
2815
2925
  console.error(`unexpected error evaluating options: ${e.message}`);
2816
2926
  }
2817
2927
  return {};
2818
2928
  }
2819
- return {};
2820
2929
  }, [
2821
2930
  currentThemeFamily,
2822
2931
  currentThemeColorScheme,
@@ -2826,7 +2935,7 @@ var withDashboardViz = (opts) => {
2826
2935
  localeContext.serializedTimezone,
2827
2936
  useAsyncEvaluatedOptions
2828
2937
  ]);
2829
- const evaluatedOptionsToUse = !useAsyncEvaluatedOptions ? evaluatedOptions : evaluatedOptionsAsync;
2938
+ const evaluatedOptionsToUse = useAsyncEvaluatedOptions ? evaluatedOptionsAsync : evaluatedOptions;
2830
2939
  let dataSourceMetadata = {};
2831
2940
  const OptionKey = "paginateDataSourceKey";
2832
2941
  const optsKey = (0, lodash_exports.has)(evaluatedOptionsToUse, OptionKey) && evaluatedOptionsToUse[OptionKey];
@@ -2848,7 +2957,7 @@ var withDashboardViz = (opts) => {
2848
2957
  sortParams,
2849
2958
  paginatorParams
2850
2959
  };
2851
- if (vizConfig.supports.indexOf("page-and-sort" /* PAGE_AND_SORT */) === -1 && !(0, lodash_exports.has)(dataSources, paginateDataSourceKey)) {
2960
+ if (!vizConfig.supports.includes("page-and-sort" /* PAGE_AND_SORT */) && !(0, lodash_exports.has)(dataSources, paginateDataSourceKey)) {
2852
2961
  dataSourceMetadata = {};
2853
2962
  }
2854
2963
  const clonedEvaluatedOptions = __spreadValues({}, evaluatedOptionsToUse);
@@ -2858,14 +2967,6 @@ var withDashboardViz = (opts) => {
2858
2967
  react_exports.useEffect(() => {
2859
2968
  onComputedProps(clonedEvaluatedOptions);
2860
2969
  });
2861
- react_exports.useEffect(() => {
2862
- return () => {
2863
- if (useAsyncEvaluatedOptions) {
2864
- isMounted.current = false;
2865
- async_dynamic_options_evaluator_default.reset(visualizationID);
2866
- }
2867
- };
2868
- }, []);
2869
2970
  const { requiredProps = [], supports } = vizConfig;
2870
2971
  const missing = missingKeys(requiredProps, evaluatedOptionsToUse);
2871
2972
  if (missing.length > 0 && supports.includes("placeholder" /* PLACEHOLDER */) && vizConfig.key !== "splunk.singlevalue") {
@@ -2880,7 +2981,16 @@ var withDashboardViz = (opts) => {
2880
2981
  }
2881
2982
  );
2882
2983
  }
2883
- const eventCallbackProps = hasEventHandlers && mode === "view" && vizConfig.supports.includes("events" /* EVENTS */) ? buildEventCallbackProps(vizConfig.events, evaluatedOptionsToUse, onEventTrigger) : {};
2984
+ const eventCallbackProps = buildAllEventCallbackProps(
2985
+ vizConfig.events,
2986
+ evaluatedOptionsToUse,
2987
+ onEventTrigger,
2988
+ {
2989
+ supportsEvents: vizConfig.supports.includes("events" /* EVENTS */),
2990
+ hasEventHandlers,
2991
+ mode
2992
+ }
2993
+ );
2884
2994
  const computedVizProps = computeVizProps2(__spreadProps(__spreadValues(__spreadProps(__spreadValues(__spreadValues({}, props), evaluatedOptionsToUse), {
2885
2995
  // Align option transformation with the actual renderer selected below.
2886
2996
  // This prevents canvas-only option preservation from leaking into Highcharts mode.
@@ -2908,8 +3018,9 @@ var withDashboardViz = (opts) => {
2908
3018
  onEventTrigger: SplunkVisualization_default.defaults.onEventTrigger
2909
3019
  });
2910
3020
  DashboardViz.config = vizConfig;
2911
- return (0, styled_components_exports.withTheme)(
2912
- withPlaceholder_default(withEditModeCover_default(DashboardViz, disableEditModeCover), useIconPlaceholder)
3021
+ return Object.assign(
3022
+ (0, styled_components_exports.withTheme)(withPlaceholder_default(withEditModeCover_default(DashboardViz, disableEditModeCover), useIconPlaceholder)),
3023
+ { config: vizConfig }
2913
3024
  );
2914
3025
  };
2915
3026
  var withDashboardViz_default = withDashboardViz;
@@ -2919,9 +3030,9 @@ var ScreenReaderContent_exports = {};
2919
3030
  __export(ScreenReaderContent_exports, {
2920
3031
  default: () => ScreenReaderContent_default
2921
3032
  });
2922
- var defaultImport33 = __toESM(require("@splunk/react-ui/ScreenReaderContent"));
3033
+ var defaultImport34 = __toESM(require("@splunk/react-ui/ScreenReaderContent"));
2923
3034
  __reExport(ScreenReaderContent_exports, require("@splunk/react-ui/ScreenReaderContent"));
2924
- var ScreenReaderContent_default = "default" in defaultImport33 ? defaultImport33.default : defaultImport33;
3035
+ var ScreenReaderContent_default = "default" in defaultImport34 ? defaultImport34.default : defaultImport34;
2925
3036
 
2926
3037
  // src/common/shapeUtils.tsx
2927
3038
  var shapeOptionsMapping = {