@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
@@ -332,7 +332,10 @@ var useSortingParams = ({ requestParams, onRequestParamsChange }) => {
332
332
  onSort = (e, { sortKey, sortDir }) => {
333
333
  if (typeof sortKey === "string") {
334
334
  const nextSortDir = (0, lodash_exports.has)(nextSortDirMap, sortDir) ? nextSortDirMap[sortDir] : "none";
335
- onRequestParamsChange(__spreadValues(__spreadValues({}, requestParams), { offset: 0, sort: { [sortKey]: nextSortDir } }));
335
+ onRequestParamsChange(__spreadProps(__spreadValues({}, requestParams), {
336
+ offset: 0,
337
+ sort: { [sortKey]: nextSortDir }
338
+ }));
336
339
  } else {
337
340
  onRequestParamsChange(requestParams);
338
341
  }
@@ -476,7 +479,7 @@ var Cover = styled_components_default.div`
476
479
  bottom: 0;
477
480
  `;
478
481
  var Blocker = styled_components_default.div.attrs({
479
- "data-splunk-visualization-version": "28.8.0 - 633c53372"
482
+ "data-splunk-visualization-version": "28.9.0 - 96b03188d"
480
483
  })`
481
484
  position: relative;
482
485
  width: 100%;
@@ -511,14 +514,23 @@ var defaultImport19 = __toESM(require("@splunk/themes/variables"));
511
514
  __reExport(variables_exports, require("@splunk/themes/variables"));
512
515
  var variables_default = "default" in defaultImport19 ? defaultImport19.default : defaultImport19;
513
516
 
517
+ // esm-externals:@splunk/themes
518
+ var themes_exports = {};
519
+ __export(themes_exports, {
520
+ default: () => themes_default
521
+ });
522
+ var defaultImport20 = __toESM(require("@splunk/themes"));
523
+ __reExport(themes_exports, require("@splunk/themes"));
524
+ var themes_default = "default" in defaultImport20 ? defaultImport20.default : defaultImport20;
525
+
514
526
  // esm-externals:@splunk/visualizations-shared/style
515
527
  var style_exports = {};
516
528
  __export(style_exports, {
517
529
  default: () => style_default
518
530
  });
519
- var defaultImport20 = __toESM(require("@splunk/visualizations-shared/style"));
531
+ var defaultImport21 = __toESM(require("@splunk/visualizations-shared/style"));
520
532
  __reExport(style_exports, require("@splunk/visualizations-shared/style"));
521
- var style_default = "default" in defaultImport20 ? defaultImport20.default : defaultImport20;
533
+ var style_default = "default" in defaultImport21 ? defaultImport21.default : defaultImport21;
522
534
 
523
535
  // src/common/hocs/FixedSizeContainer.tsx
524
536
  var Item = styled_components_default.div.attrs(({ width }) => ({
@@ -575,7 +587,7 @@ var withFixedSizeContainer = (Viz) => {
575
587
  FixSizeItem,
576
588
  {
577
589
  "data-test": "fix-size-item",
578
- "data-splunk-visualization-version": "28.8.0 - 633c53372",
590
+ "data-splunk-visualization-version": "28.9.0 - 96b03188d",
579
591
  width,
580
592
  height,
581
593
  backgroundColor
@@ -596,6 +608,14 @@ var shouldShowIconPlaceholder = (dataSources, loading = false) => {
596
608
  const noFields = fields === void 0;
597
609
  return loading || noData || noFields;
598
610
  };
611
+ var PlaceholderContainer = styled_components_default.div`
612
+ /* The inline token color wins when supported. Older browsers discard an
613
+ unsupported oklch value and retain this inherited fallback instead. */
614
+ color: ${(0, themes_exports.pick)({
615
+ dark: "#fafafa",
616
+ light: "#2c2c2c"
617
+ })};
618
+ `;
599
619
  var IconPlaceholder = (props) => {
600
620
  const {
601
621
  width = SplunkVisualization_default.defaults.width,
@@ -610,7 +630,6 @@ var IconPlaceholder = (props) => {
610
630
  style: {
611
631
  left: "50%",
612
632
  top: "50%",
613
- color: iconColor,
614
633
  opacity: 0.15,
615
634
  position: "absolute",
616
635
  transform: "translate(-50%, -50%)"
@@ -620,7 +639,14 @@ var IconPlaceholder = (props) => {
620
639
  "data-test": "icon-placeholder"
621
640
  });
622
641
  }
623
- return /* @__PURE__ */ react_exports.createElement("div", { style: { width, height, background: backgroundColor } }, content);
642
+ return /* @__PURE__ */ react_exports.createElement(
643
+ PlaceholderContainer,
644
+ {
645
+ "data-test": "icon-placeholder-container",
646
+ style: { width, height, background: backgroundColor, color: iconColor }
647
+ },
648
+ content
649
+ );
624
650
  };
625
651
  var IconPlaceholder_default = FixedSizeContainer_default(IconPlaceholder);
626
652
 
@@ -666,9 +692,9 @@ var numberUtils_exports = {};
666
692
  __export(numberUtils_exports, {
667
693
  default: () => numberUtils_default
668
694
  });
669
- var defaultImport21 = __toESM(require("@splunk/visualizations-shared/numberUtils"));
695
+ var defaultImport22 = __toESM(require("@splunk/visualizations-shared/numberUtils"));
670
696
  __reExport(numberUtils_exports, require("@splunk/visualizations-shared/numberUtils"));
671
- var numberUtils_default = "default" in defaultImport21 ? defaultImport21.default : defaultImport21;
697
+ var numberUtils_default = "default" in defaultImport22 ? defaultImport22.default : defaultImport22;
672
698
 
673
699
  // src/common/utils/dataUtils.ts
674
700
  var getFieldName = (field) => typeof field === "string" ? field : field.name;
@@ -694,7 +720,7 @@ var largestTriangleThreeBuckets = (data, threshold, preferredDownsampleIndices)
694
720
  let avgY = 0;
695
721
  let avgRangeStart = Math.floor((i + 1) * every) + 1;
696
722
  let avgRangeEnd = Math.floor((i + 2) * every) + 1;
697
- avgRangeEnd = avgRangeEnd < dataLength ? avgRangeEnd : dataLength;
723
+ avgRangeEnd = Math.min(avgRangeEnd, dataLength);
698
724
  const avgRangeLength = avgRangeEnd - avgRangeStart;
699
725
  for (; avgRangeStart < avgRangeEnd; avgRangeStart++) {
700
726
  avgX += Number(data[avgRangeStart][0]);
@@ -729,9 +755,9 @@ var largestTriangleThreeBuckets = (data, threshold, preferredDownsampleIndices)
729
755
  };
730
756
  var strictlyCoerceYColumn = (column, options) => {
731
757
  const isNullCoercionEnabled = options.nullValueDisplay === "zero";
732
- const canLooselyCoerceSomeValues = column.findIndex(
758
+ const canLooselyCoerceSomeValues = column.some(
733
759
  (value) => (0, numberUtils_exports.startsWithNumber)(`${value}`) || isNullCoercionEnabled && value === null
734
- ) >= 0;
760
+ );
735
761
  const coercedColumn = [];
736
762
  const canDownsampleColumn = !column.some((value) => {
737
763
  const coercedValue = Number(value);
@@ -750,7 +776,7 @@ var strictlyCoerceYColumn = (column, options) => {
750
776
  };
751
777
  var strictlyCoerceXColumn = (column, fieldType) => {
752
778
  if (fieldType === "number") {
753
- const coercedXColumn = column.map((xValue) => Number(xValue));
779
+ const coercedXColumn = column.map(Number);
754
780
  if (isColumnStrictlyIncreasing(coercedXColumn, fieldType)) {
755
781
  return coercedXColumn;
756
782
  }
@@ -1049,16 +1075,16 @@ var FeatureFlags_exports = {};
1049
1075
  __export(FeatureFlags_exports, {
1050
1076
  default: () => FeatureFlags_default
1051
1077
  });
1052
- var defaultImport22 = __toESM(require("@splunk/visualization-context/FeatureFlags"));
1078
+ var defaultImport23 = __toESM(require("@splunk/visualization-context/FeatureFlags"));
1053
1079
  __reExport(FeatureFlags_exports, require("@splunk/visualization-context/FeatureFlags"));
1054
- var FeatureFlags_default = "default" in defaultImport22 ? defaultImport22.default : defaultImport22;
1080
+ var FeatureFlags_default = "default" in defaultImport23 ? defaultImport23.default : defaultImport23;
1055
1081
 
1056
1082
  // src/common/utils/featureFlagUtils.ts
1057
1083
  var getFeatureFlag = (context, flagName) => {
1058
- if (context && Object.keys(context).find((key) => key === flagName)) {
1084
+ if (context && Object.keys(context).includes(flagName)) {
1059
1085
  return context[flagName];
1060
1086
  }
1061
- if (Object.keys(FeatureFlags_default).find((key) => key === flagName)) {
1087
+ if (Object.keys(FeatureFlags_default).includes(flagName)) {
1062
1088
  return FeatureFlags_default[flagName];
1063
1089
  }
1064
1090
  return false;
@@ -1069,9 +1095,9 @@ var trellisUtils_exports = {};
1069
1095
  __export(trellisUtils_exports, {
1070
1096
  default: () => trellisUtils_default
1071
1097
  });
1072
- var defaultImport23 = __toESM(require("@splunk/visualizations-shared/trellisUtils"));
1098
+ var defaultImport24 = __toESM(require("@splunk/visualizations-shared/trellisUtils"));
1073
1099
  __reExport(trellisUtils_exports, require("@splunk/visualizations-shared/trellisUtils"));
1074
- var trellisUtils_default = "default" in defaultImport23 ? defaultImport23.default : defaultImport23;
1100
+ var trellisUtils_default = "default" in defaultImport24 ? defaultImport24.default : defaultImport24;
1075
1101
 
1076
1102
  // src/common/utils/trellisUtils.ts
1077
1103
  var turnOffLegendDisplayWhenTrellisIsOn = (isTrellisOn, options) => {
@@ -1088,9 +1114,9 @@ var visualization_canvas_exports = {};
1088
1114
  __export(visualization_canvas_exports, {
1089
1115
  default: () => visualization_canvas_default
1090
1116
  });
1091
- var defaultImport24 = __toESM(require("@splunk/visualization-canvas"));
1117
+ var defaultImport25 = __toESM(require("@splunk/visualization-canvas"));
1092
1118
  __reExport(visualization_canvas_exports, require("@splunk/visualization-canvas"));
1093
- var visualization_canvas_default = "default" in defaultImport24 ? defaultImport24.default : defaultImport24;
1119
+ var visualization_canvas_default = "default" in defaultImport25 ? defaultImport25.default : defaultImport25;
1094
1120
 
1095
1121
  // src/common/components/VizStyleWrapper.jsx
1096
1122
  var VizStyleWrapper = styled_components_default.div.attrs(({ dataTestKey }) => ({
@@ -1112,27 +1138,27 @@ var Triangle_exports = {};
1112
1138
  __export(Triangle_exports, {
1113
1139
  default: () => Triangle_default
1114
1140
  });
1115
- var defaultImport25 = __toESM(require("@splunk/react-icons/Triangle"));
1141
+ var defaultImport26 = __toESM(require("@splunk/react-icons/Triangle"));
1116
1142
  __reExport(Triangle_exports, require("@splunk/react-icons/Triangle"));
1117
- var Triangle_default = "default" in defaultImport25 ? defaultImport25.default : defaultImport25;
1143
+ var Triangle_default = "default" in defaultImport26 ? defaultImport26.default : defaultImport26;
1118
1144
 
1119
1145
  // esm-externals:@splunk/visualizations-shared/propUtils
1120
1146
  var propUtils_exports = {};
1121
1147
  __export(propUtils_exports, {
1122
1148
  default: () => propUtils_default
1123
1149
  });
1124
- var defaultImport26 = __toESM(require("@splunk/visualizations-shared/propUtils"));
1150
+ var defaultImport27 = __toESM(require("@splunk/visualizations-shared/propUtils"));
1125
1151
  __reExport(propUtils_exports, require("@splunk/visualizations-shared/propUtils"));
1126
- var propUtils_default = "default" in defaultImport26 ? defaultImport26.default : defaultImport26;
1152
+ var propUtils_default = "default" in defaultImport27 ? defaultImport27.default : defaultImport27;
1127
1153
 
1128
1154
  // esm-externals:@splunk/visualizations-shared/simpleXMLOptions
1129
1155
  var simpleXMLOptions_exports = {};
1130
1156
  __export(simpleXMLOptions_exports, {
1131
1157
  default: () => simpleXMLOptions_default
1132
1158
  });
1133
- var defaultImport27 = __toESM(require("@splunk/visualizations-shared/simpleXMLOptions"));
1159
+ var defaultImport28 = __toESM(require("@splunk/visualizations-shared/simpleXMLOptions"));
1134
1160
  __reExport(simpleXMLOptions_exports, require("@splunk/visualizations-shared/simpleXMLOptions"));
1135
- var simpleXMLOptions_default = "default" in defaultImport27 ? defaultImport27.default : defaultImport27;
1161
+ var simpleXMLOptions_default = "default" in defaultImport28 ? defaultImport28.default : defaultImport28;
1136
1162
 
1137
1163
  // src/common/chartingUtils.ts
1138
1164
  var DEFAULT_LINE_WIDTH = 2;
@@ -1171,9 +1197,9 @@ var shouldEnableSearchZoom = (eventHandlers = [], xField = "") => {
1171
1197
  const xAxisIsTime = xField === "_time";
1172
1198
  return !!rangeSelectEventHandler && xAxisIsTime;
1173
1199
  };
1174
- var canvasSupportedTimeSeriesCharts = ["splunk.line", "splunk.area"];
1200
+ var canvasSupportedTimeSeriesCharts = /* @__PURE__ */ new Set(["splunk.line", "splunk.area"]);
1175
1201
  var isTimeSeriesCanvasRenderSupported = (vizConfigKey) => {
1176
- return canvasSupportedTimeSeriesCharts.includes(vizConfigKey);
1202
+ return canvasSupportedTimeSeriesCharts.has(vizConfigKey);
1177
1203
  };
1178
1204
  var filterChartDataFromInternalFields = (chartData) => {
1179
1205
  const { fields, columns } = chartData;
@@ -1189,7 +1215,7 @@ var filterChartDataFromInternalFields = (chartData) => {
1189
1215
  return { fields: filteredFields, columns: filteredColumns };
1190
1216
  };
1191
1217
  var convert2DArrayToNumbers = (arr) => {
1192
- return arr.map((subArray) => subArray.map((element) => parseFloat(element)));
1218
+ return arr.map((subArray) => subArray.map((element) => Number.parseFloat(element)));
1193
1219
  };
1194
1220
  var parseAxisValue = (val) => {
1195
1221
  if (val === void 0 || val === null || val === "auto" || val === "") {
@@ -1227,6 +1253,7 @@ var getLegend = (props) => {
1227
1253
  return (0, visualization_canvas_exports.TopLegendFactory)(__spreadValues({
1228
1254
  wrap: true
1229
1255
  }, commonLegendProps));
1256
+ // Note: By default, use right legend
1230
1257
  default:
1231
1258
  return (0, visualization_canvas_exports.SideLegendFactory)(__spreadValues({}, commonLegendProps));
1232
1259
  }
@@ -1359,10 +1386,10 @@ var getSeriesOverrides = (opts) => {
1359
1386
  let spanGaps;
1360
1387
  if (nullValueMode === "gaps") {
1361
1388
  spanGaps = false;
1362
- } else if (nullValueMode != null) {
1363
- spanGaps = true;
1364
- } else {
1389
+ } else if (nullValueMode == null) {
1365
1390
  spanGaps = void 0;
1391
+ } else {
1392
+ spanGaps = true;
1366
1393
  }
1367
1394
  const replaceNullsWithZero = nullValueMode === "zero" ? true : void 0;
1368
1395
  const isAreaChart = type === "area";
@@ -1435,9 +1462,9 @@ var visualization_schemas_exports = {};
1435
1462
  __export(visualization_schemas_exports, {
1436
1463
  default: () => visualization_schemas_default
1437
1464
  });
1438
- var defaultImport28 = __toESM(require("@splunk/visualization-schemas"));
1465
+ var defaultImport29 = __toESM(require("@splunk/visualization-schemas"));
1439
1466
  __reExport(visualization_schemas_exports, require("@splunk/visualization-schemas"));
1440
- var visualization_schemas_default = "default" in defaultImport28 ? defaultImport28.default : defaultImport28;
1467
+ var visualization_schemas_default = "default" in defaultImport29 ? defaultImport29.default : defaultImport29;
1441
1468
 
1442
1469
  // src/common/hooks/useTrellisEnabled.ts
1443
1470
  var useTrellisFeatureFlagOn = () => {
@@ -1802,11 +1829,11 @@ var TimeSeriesChartWrapper = (props) => {
1802
1829
  y2AxisMajorUnitFromSimpleXML,
1803
1830
  y2AxisMajorTickInterval
1804
1831
  );
1805
- const xAxisMajorTickSizeNum = xAxisMajorTickSize != null ? Number(xAxisMajorTickSize) : void 0;
1806
- const yAxisMajorTickSizeNum = yAxisMajorTickSize != null ? Number(yAxisMajorTickSize) : void 0;
1807
- const y2AxisMajorTickSizeNum = y2AxisMajorTickSize != null ? Number(y2AxisMajorTickSize) : void 0;
1808
- const yAxisMinorTickSizeNum = yAxisMinorTickSize != null ? Number(yAxisMinorTickSize) : void 0;
1809
- const y2AxisMinorTickSizeNum = y2AxisMinorTickSize != null ? Number(y2AxisMinorTickSize) : void 0;
1832
+ const xAxisMajorTickSizeNum = xAxisMajorTickSize == null ? void 0 : Number(xAxisMajorTickSize);
1833
+ const yAxisMajorTickSizeNum = yAxisMajorTickSize == null ? void 0 : Number(yAxisMajorTickSize);
1834
+ const y2AxisMajorTickSizeNum = y2AxisMajorTickSize == null ? void 0 : Number(y2AxisMajorTickSize);
1835
+ const yAxisMinorTickSizeNum = yAxisMinorTickSize == null ? void 0 : Number(yAxisMinorTickSize);
1836
+ const y2AxisMinorTickSizeNum = y2AxisMinorTickSize == null ? void 0 : Number(y2AxisMinorTickSize);
1810
1837
  const areaOpacityForCanvas = getAreaOpacityForCanvas(areaOpacity);
1811
1838
  const seriesColors = seriesColorsStr ? JSON.parse(seriesColorsStr) : void 0;
1812
1839
  const seriesColorsByField = fieldColors ? JSON.parse(fieldColors) : void 0;
@@ -2218,6 +2245,76 @@ var buildEventCallbackProps = (supportedEvents, evaluatedOptionsToUse, onEventTr
2218
2245
  });
2219
2246
  return result;
2220
2247
  };
2248
+ var buildAllEventCallbackProps = (events, evaluatedOptionsToUse, onEventTrigger, { supportsEvents, hasEventHandlers, mode }) => {
2249
+ if (!supportsEvents) return {};
2250
+ const defaultEvents = {};
2251
+ const userEvents = {};
2252
+ Object.entries(events || {}).forEach(([eventKey, eventConfig]) => {
2253
+ (eventConfig.source === "default" ? defaultEvents : userEvents)[eventKey] = eventConfig;
2254
+ });
2255
+ const userProps = hasEventHandlers && mode === "view" ? buildEventCallbackProps(userEvents, evaluatedOptionsToUse, onEventTrigger) : {};
2256
+ return __spreadValues(__spreadValues({}, userProps), buildEventCallbackProps(defaultEvents, evaluatedOptionsToUse, onEventTrigger));
2257
+ };
2258
+ var applyContextTimezone = (localeContext) => {
2259
+ if (localeContext.serializedTimezone && !moment_default.getDefaultSplunkTimezone()) {
2260
+ moment_default.setDefaultSplunkTimezone(localeContext.serializedTimezone);
2261
+ }
2262
+ };
2263
+ var getAsyncOptionsEvaluationParams = ({
2264
+ visualizationID,
2265
+ props,
2266
+ optionsToEvaluate,
2267
+ downsampledDataSources,
2268
+ vizConfig,
2269
+ bypassCloneDeepOptionScope,
2270
+ lazyLoadingDataFrame
2271
+ }) => {
2272
+ return {
2273
+ visualizationID,
2274
+ props,
2275
+ options: __spreadValues({}, optionsToEvaluate),
2276
+ dataSources: downsampledDataSources,
2277
+ theme: vizConfig.themes,
2278
+ bypassCloneDeepOptionScope,
2279
+ lazyLoadingDataFrame
2280
+ };
2281
+ };
2282
+ var evaluateOptionsSync = ({
2283
+ optionsToEvaluate,
2284
+ downsampledDataSources,
2285
+ dataSourcesInState,
2286
+ dataFramesInState,
2287
+ setDataSourcesInState,
2288
+ setDataFramesInState,
2289
+ computeDataFrames,
2290
+ featureFlagContext,
2291
+ themeFunc
2292
+ }) => {
2293
+ let dataFrames = dataFramesInState;
2294
+ if (downsampledDataSources !== dataSourcesInState) {
2295
+ setDataSourcesInState(downsampledDataSources);
2296
+ dataFrames = Options_exports.Options.dataFrameFromDataSource(
2297
+ downsampledDataSources,
2298
+ getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
2299
+ );
2300
+ setDataFramesInState(dataFrames);
2301
+ }
2302
+ let mergedFrames = dataFrames;
2303
+ if (computeDataFrames && dataFrames) {
2304
+ const derivedFrames = computeDataFrames({
2305
+ dataSources: downsampledDataSources,
2306
+ options: optionsToEvaluate.options
2307
+ });
2308
+ mergedFrames = __spreadValues(__spreadValues({}, dataFrames), derivedFrames);
2309
+ }
2310
+ return Options_exports.Options.evaluate(
2311
+ optionsToEvaluate,
2312
+ downsampledDataSources,
2313
+ themeFunc,
2314
+ mergedFrames,
2315
+ getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
2316
+ );
2317
+ };
2221
2318
  var withDashboardViz = (opts) => {
2222
2319
  const {
2223
2320
  ReactViz,
@@ -2249,11 +2346,7 @@ var withDashboardViz = (opts) => {
2249
2346
  onRequestParamsChange = lodash_exports.noop
2250
2347
  } = props;
2251
2348
  const localeContext = react_exports.useContext(TimezoneContext_default);
2252
- if (localeContext.serializedTimezone) {
2253
- if (!moment_default.getDefaultSplunkTimezone()) {
2254
- moment_default.setDefaultSplunkTimezone(localeContext.serializedTimezone);
2255
- }
2256
- }
2349
+ applyContextTimezone(localeContext);
2257
2350
  const themeFunc = (themeVar) => {
2258
2351
  var _a2, _b;
2259
2352
  return (_b = (_a2 = vizConfig.themes)[themeVar]) == null ? void 0 : _b.call(_a2, props);
@@ -2281,7 +2374,12 @@ var withDashboardViz = (opts) => {
2281
2374
  featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableAcceleratedRender
2282
2375
  );
2283
2376
  const isAcceleratedRenderOn = isAcceleratedRenderFeatureFlagOn && isTimeSeriesCanvasRenderSupported(vizConfig.key) && (options == null ? void 0 : options.acceleratedRender) === true;
2284
- const isMounted = react_exports.useRef(true);
2377
+ const bypassCloneDeepOptionScope = Boolean(
2378
+ getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
2379
+ );
2380
+ const lazyLoadingDataFrame = Boolean(
2381
+ getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
2382
+ );
2285
2383
  const optionsToEvaluate = react_exports.useMemo(() => {
2286
2384
  var _a2;
2287
2385
  const legendDisplay = turnOffLegendDisplayWhenTrellisIsOn(isTrellisOn, options);
@@ -2320,63 +2418,74 @@ var withDashboardViz = (opts) => {
2320
2418
  threshold,
2321
2419
  isDownsamplingEnabled
2322
2420
  });
2323
- evaluatedOptions = useDeepMemo(() => {
2421
+ const asyncOptionsEvaluationParams = useDeepMemo(
2422
+ () => getAsyncOptionsEvaluationParams({
2423
+ visualizationID,
2424
+ props,
2425
+ optionsToEvaluate,
2426
+ downsampledDataSources,
2427
+ vizConfig,
2428
+ bypassCloneDeepOptionScope,
2429
+ lazyLoadingDataFrame
2430
+ }),
2431
+ [
2432
+ visualizationID,
2433
+ optionsToEvaluate,
2434
+ downsampledDataSources,
2435
+ vizConfig,
2436
+ bypassCloneDeepOptionScope,
2437
+ lazyLoadingDataFrame,
2438
+ currentThemeFamily,
2439
+ currentThemeColorScheme,
2440
+ currentThemeDensity,
2441
+ localeContext.serializedTimezone
2442
+ ]
2443
+ );
2444
+ react_exports.useEffect(() => {
2445
+ if (!useAsyncEvaluatedOptions) {
2446
+ return void 0;
2447
+ }
2448
+ let ownsEvaluation = true;
2324
2449
  try {
2325
- if (useAsyncEvaluatedOptions) {
2326
- const asyncDynamicOptionsEvaluatorParams = {
2327
- visualizationID,
2328
- props,
2329
- options: optionsToEvaluate,
2330
- dataSources: downsampledDataSources,
2331
- theme: vizConfig.themes,
2332
- bypassCloneDeepOptionScope: Boolean(
2333
- getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
2334
- ),
2335
- lazyLoadingDataFrame: Boolean(
2336
- getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
2337
- )
2338
- };
2339
- async_dynamic_options_evaluator_default.evaluate(asyncDynamicOptionsEvaluatorParams).then((results) => {
2450
+ async_dynamic_options_evaluator_default.evaluate(asyncOptionsEvaluationParams).then((results) => {
2451
+ if (ownsEvaluation) {
2340
2452
  setEvaluatedOptionsAsync(results.results);
2341
- }).catch(() => {
2342
- if (isMounted.current) {
2343
- setUseAsyncEvaluatedOptions(false);
2344
- }
2345
- });
2346
- } else {
2347
- let dataFrames = dataFramesInState;
2348
- if (downsampledDataSources !== dataSourcesInState) {
2349
- setDataSourcesInState(downsampledDataSources);
2350
- dataFrames = Options_exports.Options.dataFrameFromDataSource(
2351
- downsampledDataSources,
2352
- getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
2353
- );
2354
- setDataFramesInState(dataFrames);
2355
2453
  }
2356
- let mergedFrames = dataFrames;
2357
- if (computeDataFrames && dataFrames) {
2358
- const derivedFrames = computeDataFrames({
2359
- dataSources: downsampledDataSources,
2360
- options: optionsToEvaluate.options
2361
- });
2362
- mergedFrames = __spreadValues(__spreadValues({}, dataFrames), derivedFrames);
2454
+ }).catch(() => {
2455
+ if (ownsEvaluation) {
2456
+ setUseAsyncEvaluatedOptions(false);
2363
2457
  }
2364
- const result = Options_exports.Options.evaluate(
2365
- optionsToEvaluate,
2366
- downsampledDataSources,
2367
- themeFunc,
2368
- mergedFrames,
2369
- getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
2370
- );
2371
- return result;
2458
+ });
2459
+ } catch (e) {
2460
+ setUseAsyncEvaluatedOptions(false);
2461
+ }
2462
+ return () => {
2463
+ ownsEvaluation = false;
2464
+ async_dynamic_options_evaluator_default.reset(visualizationID);
2465
+ };
2466
+ }, [asyncOptionsEvaluationParams, useAsyncEvaluatedOptions, visualizationID]);
2467
+ evaluatedOptions = useDeepMemo(() => {
2468
+ try {
2469
+ if (useAsyncEvaluatedOptions) {
2470
+ return {};
2372
2471
  }
2472
+ return evaluateOptionsSync({
2473
+ optionsToEvaluate,
2474
+ downsampledDataSources,
2475
+ dataSourcesInState,
2476
+ dataFramesInState,
2477
+ setDataSourcesInState,
2478
+ setDataFramesInState,
2479
+ computeDataFrames,
2480
+ featureFlagContext,
2481
+ themeFunc
2482
+ });
2373
2483
  } catch (e) {
2374
2484
  if (e instanceof Error) {
2375
2485
  console.error(`unexpected error evaluating options: ${e.message}`);
2376
2486
  }
2377
2487
  return {};
2378
2488
  }
2379
- return {};
2380
2489
  }, [
2381
2490
  currentThemeFamily,
2382
2491
  currentThemeColorScheme,
@@ -2386,7 +2495,7 @@ var withDashboardViz = (opts) => {
2386
2495
  localeContext.serializedTimezone,
2387
2496
  useAsyncEvaluatedOptions
2388
2497
  ]);
2389
- const evaluatedOptionsToUse = !useAsyncEvaluatedOptions ? evaluatedOptions : evaluatedOptionsAsync;
2498
+ const evaluatedOptionsToUse = useAsyncEvaluatedOptions ? evaluatedOptionsAsync : evaluatedOptions;
2390
2499
  let dataSourceMetadata = {};
2391
2500
  const OptionKey = "paginateDataSourceKey";
2392
2501
  const optsKey = (0, lodash_exports.has)(evaluatedOptionsToUse, OptionKey) && evaluatedOptionsToUse[OptionKey];
@@ -2408,7 +2517,7 @@ var withDashboardViz = (opts) => {
2408
2517
  sortParams,
2409
2518
  paginatorParams
2410
2519
  };
2411
- if (vizConfig.supports.indexOf("page-and-sort" /* PAGE_AND_SORT */) === -1 && !(0, lodash_exports.has)(dataSources, paginateDataSourceKey)) {
2520
+ if (!vizConfig.supports.includes("page-and-sort" /* PAGE_AND_SORT */) && !(0, lodash_exports.has)(dataSources, paginateDataSourceKey)) {
2412
2521
  dataSourceMetadata = {};
2413
2522
  }
2414
2523
  const clonedEvaluatedOptions = __spreadValues({}, evaluatedOptionsToUse);
@@ -2418,14 +2527,6 @@ var withDashboardViz = (opts) => {
2418
2527
  react_exports.useEffect(() => {
2419
2528
  onComputedProps(clonedEvaluatedOptions);
2420
2529
  });
2421
- react_exports.useEffect(() => {
2422
- return () => {
2423
- if (useAsyncEvaluatedOptions) {
2424
- isMounted.current = false;
2425
- async_dynamic_options_evaluator_default.reset(visualizationID);
2426
- }
2427
- };
2428
- }, []);
2429
2530
  const { requiredProps = [], supports } = vizConfig;
2430
2531
  const missing = missingKeys(requiredProps, evaluatedOptionsToUse);
2431
2532
  if (missing.length > 0 && supports.includes("placeholder" /* PLACEHOLDER */) && vizConfig.key !== "splunk.singlevalue") {
@@ -2440,7 +2541,16 @@ var withDashboardViz = (opts) => {
2440
2541
  }
2441
2542
  );
2442
2543
  }
2443
- const eventCallbackProps = hasEventHandlers && mode === "view" && vizConfig.supports.includes("events" /* EVENTS */) ? buildEventCallbackProps(vizConfig.events, evaluatedOptionsToUse, onEventTrigger) : {};
2544
+ const eventCallbackProps = buildAllEventCallbackProps(
2545
+ vizConfig.events,
2546
+ evaluatedOptionsToUse,
2547
+ onEventTrigger,
2548
+ {
2549
+ supportsEvents: vizConfig.supports.includes("events" /* EVENTS */),
2550
+ hasEventHandlers,
2551
+ mode
2552
+ }
2553
+ );
2444
2554
  const computedVizProps = computeVizProps(__spreadProps(__spreadValues(__spreadProps(__spreadValues(__spreadValues({}, props), evaluatedOptionsToUse), {
2445
2555
  // Align option transformation with the actual renderer selected below.
2446
2556
  // This prevents canvas-only option preservation from leaking into Highcharts mode.
@@ -2468,8 +2578,9 @@ var withDashboardViz = (opts) => {
2468
2578
  onEventTrigger: SplunkVisualization_default.defaults.onEventTrigger
2469
2579
  });
2470
2580
  DashboardViz.config = vizConfig;
2471
- return (0, styled_components_exports.withTheme)(
2472
- withPlaceholder_default(withEditModeCover_default(DashboardViz, disableEditModeCover), useIconPlaceholder)
2581
+ return Object.assign(
2582
+ (0, styled_components_exports.withTheme)(withPlaceholder_default(withEditModeCover_default(DashboardViz, disableEditModeCover), useIconPlaceholder)),
2583
+ { config: vizConfig }
2473
2584
  );
2474
2585
  };
2475
2586
  var withDashboardViz_default = withDashboardViz;