@splunk/visualizations 28.8.0 → 28.9.1

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 (279) 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 +43 -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/ChoroplethLayer.d.ts.map +1 -1
  57. package/Map/PureMap/ClusterLayer.d.ts.map +1 -1
  58. package/Map/PureMap/MapUtils.d.ts.map +1 -1
  59. package/Map/PureMap/MarkerWrapper.d.ts.map +1 -1
  60. package/Map/PureMap/PureMap.d.ts +8 -65
  61. package/Map/PureMap/PureMap.d.ts.map +1 -1
  62. package/Map/PureMap/mapWorker.d.ts +2 -0
  63. package/Map/PureMap/mapWorker.d.ts.map +1 -0
  64. package/Map.config.js +1 -1
  65. package/Map.config.js.map +2 -2
  66. package/Map.js +439 -336
  67. package/Map.js.map +4 -4
  68. package/Markdown/Markdown.d.ts +9 -1
  69. package/Markdown/Markdown.d.ts.map +1 -1
  70. package/Markdown/config.d.ts.map +1 -1
  71. package/Markdown.config.js +5 -0
  72. package/Markdown.config.js.map +2 -2
  73. package/Markdown.js +225 -94
  74. package/Markdown.js.map +3 -3
  75. package/MarkerGauge.js +239 -134
  76. package/MarkerGauge.js.map +4 -4
  77. package/NetworkGraph/PureNetworkGraph/PureNetworkGraph.d.ts.map +1 -1
  78. package/NetworkGraph/PureNetworkGraph/components/NetworkGraphSvg.d.ts +1 -0
  79. package/NetworkGraph/PureNetworkGraph/components/NetworkGraphSvg.d.ts.map +1 -1
  80. package/NetworkGraph/PureNetworkGraph/components/Node.d.ts +1 -0
  81. package/NetworkGraph/PureNetworkGraph/components/Node.d.ts.map +1 -1
  82. package/NetworkGraph/PureNetworkGraph/utils/networkGraphUtils.d.ts +3 -5
  83. package/NetworkGraph/PureNetworkGraph/utils/networkGraphUtils.d.ts.map +1 -1
  84. package/NetworkGraph.config.js +4 -2
  85. package/NetworkGraph.config.js.map +2 -2
  86. package/NetworkGraph.js +327 -188
  87. package/NetworkGraph.js.map +4 -4
  88. package/ParallelCoordinates/ParallelCoordinates.d.ts +3 -1
  89. package/ParallelCoordinates/ParallelCoordinates.d.ts.map +1 -1
  90. package/ParallelCoordinates.js +239 -128
  91. package/ParallelCoordinates.js.map +4 -4
  92. package/Pie/config.d.ts.map +1 -1
  93. package/Pie/pieUtils.d.ts.map +1 -1
  94. package/Pie.config.js +4 -2
  95. package/Pie.config.js.map +2 -2
  96. package/Pie.js +228 -125
  97. package/Pie.js.map +3 -3
  98. package/ProcessTree/ProcessTree.d.ts +3 -1
  99. package/ProcessTree/ProcessTree.d.ts.map +1 -1
  100. package/ProcessTree/PureProcessTree/PureProcessTree.d.ts +1 -0
  101. package/ProcessTree/PureProcessTree/PureProcessTree.d.ts.map +1 -1
  102. package/ProcessTree/PureProcessTree/components/ProcessTreeLeftPanel.d.ts +1 -0
  103. package/ProcessTree/PureProcessTree/components/ProcessTreeLeftPanel.d.ts.map +1 -1
  104. package/ProcessTree/PureProcessTree/hooks/useProcessTreeGraphData.d.ts +2 -1
  105. package/ProcessTree/PureProcessTree/hooks/useProcessTreeGraphData.d.ts.map +1 -1
  106. package/ProcessTree/PureProcessTree/utils/iconLoader.d.ts +2 -0
  107. package/ProcessTree/PureProcessTree/utils/iconLoader.d.ts.map +1 -1
  108. package/ProcessTree/PureProcessTree/utils/processTreeUtils.d.ts +5 -1
  109. package/ProcessTree/PureProcessTree/utils/processTreeUtils.d.ts.map +1 -1
  110. package/ProcessTree.js +435 -192
  111. package/ProcessTree.js.map +4 -4
  112. package/Punchcard/Punchcard.d.ts +3 -1
  113. package/Punchcard/Punchcard.d.ts.map +1 -1
  114. package/Punchcard.js +238 -129
  115. package/Punchcard.js.map +4 -4
  116. package/Rectangle/Rectangle.d.ts +3 -1
  117. package/Rectangle/Rectangle.d.ts.map +1 -1
  118. package/Rectangle.js +218 -116
  119. package/Rectangle.js.map +4 -4
  120. package/RichText/PureRichText/Editor/EditorPanel.d.ts +1 -4
  121. package/RichText/PureRichText/Editor/EditorPanel.d.ts.map +1 -1
  122. package/RichText/PureRichText/Editor/hooks/useConfigPanelFocus.d.ts +14 -0
  123. package/RichText/PureRichText/Editor/hooks/useConfigPanelFocus.d.ts.map +1 -0
  124. package/RichText/PureRichText/Editor/hooks/useEditorPanelSync.d.ts +15 -0
  125. package/RichText/PureRichText/Editor/hooks/useEditorPanelSync.d.ts.map +1 -0
  126. package/RichText/PureRichText/Editor/hooks/useLinkHandlers.d.ts.map +1 -1
  127. package/RichText/PureRichText/Editor/hooks/usePortalTarget.d.ts +9 -0
  128. package/RichText/PureRichText/Editor/hooks/usePortalTarget.d.ts.map +1 -0
  129. package/RichText/PureRichText/InnerEditor.d.ts +15 -9
  130. package/RichText/PureRichText/InnerEditor.d.ts.map +1 -1
  131. package/RichText/PureRichText/PureRichText.d.ts +5 -10
  132. package/RichText/PureRichText/PureRichText.d.ts.map +1 -1
  133. package/RichText/PureRichText/PureRichTextContext.d.ts +3 -6
  134. package/RichText/PureRichText/PureRichTextContext.d.ts.map +1 -1
  135. package/RichText/PureRichText/RichTextStyles.d.ts +5 -4
  136. package/RichText/PureRichText/RichTextStyles.d.ts.map +1 -1
  137. package/RichText/PureRichText/activeInstance.d.ts +6 -7
  138. package/RichText/PureRichText/activeInstance.d.ts.map +1 -1
  139. package/RichText/PureRichText/config.d.ts.map +1 -1
  140. package/RichText/PureRichText/hooks/useContentSync.d.ts +9 -9
  141. package/RichText/PureRichText/hooks/useContentSync.d.ts.map +1 -1
  142. package/RichText/PureRichText/hooks/useDashboardKeyboardNav.d.ts +2 -7
  143. package/RichText/PureRichText/hooks/useDashboardKeyboardNav.d.ts.map +1 -1
  144. package/RichText/PureRichText/hooks/useEditorSetup.d.ts +8 -4
  145. package/RichText/PureRichText/hooks/useEditorSetup.d.ts.map +1 -1
  146. package/RichText/PureRichText/hooks/useFocusHandlers.d.ts +2 -4
  147. package/RichText/PureRichText/hooks/useFocusHandlers.d.ts.map +1 -1
  148. package/RichText/PureRichText/hooks/useKeyboardShortcuts.d.ts.map +1 -1
  149. package/RichText/PureRichText/hooks/useMouseHandlers.d.ts +3 -7
  150. package/RichText/PureRichText/hooks/useMouseHandlers.d.ts.map +1 -1
  151. package/RichText/PureRichText/hooks/useStepFontSize.d.ts +2 -2
  152. package/RichText/PureRichText/hooks/useStepLineSpacing.d.ts +2 -3
  153. package/RichText/PureRichText/hooks/useStepLineSpacing.d.ts.map +1 -1
  154. package/RichText/PureRichText/hooks/useTokenMap.d.ts +13 -24
  155. package/RichText/PureRichText/hooks/useTokenMap.d.ts.map +1 -1
  156. package/RichText/PureRichText/renderers/ElementRenderer.d.ts +2 -5
  157. package/RichText/PureRichText/renderers/ElementRenderer.d.ts.map +1 -1
  158. package/RichText/PureRichText/types.d.ts +6 -0
  159. package/RichText/PureRichText/types.d.ts.map +1 -1
  160. package/RichText/PureRichText/utils/slateUtils.d.ts +26 -2
  161. package/RichText/PureRichText/utils/slateUtils.d.ts.map +1 -1
  162. package/RichText/RichText.d.ts +3 -1
  163. package/RichText/RichText.d.ts.map +1 -1
  164. package/RichText/config.d.ts.map +1 -1
  165. package/RichText.config.js +5 -0
  166. package/RichText.config.js.map +2 -2
  167. package/RichText.js +1848 -842
  168. package/RichText.js.map +4 -4
  169. package/Sankey/PureSankey/PureSankey.d.ts +2 -0
  170. package/Sankey/PureSankey/PureSankey.d.ts.map +1 -1
  171. package/Sankey/PureSankey/SankeyLink.d.ts +3 -1
  172. package/Sankey/PureSankey/SankeyLink.d.ts.map +1 -1
  173. package/Sankey/PureSankey/SankeyNode.d.ts +5 -2
  174. package/Sankey/PureSankey/SankeyNode.d.ts.map +1 -1
  175. package/Sankey/PureSankey/SankeyUtils.d.ts.map +1 -1
  176. package/Sankey/Sankey.d.ts +3 -1
  177. package/Sankey/Sankey.d.ts.map +1 -1
  178. package/Sankey.js +508 -219
  179. package/Sankey.js.map +4 -4
  180. package/Scatter.config.js +3 -5
  181. package/Scatter.config.js.map +2 -2
  182. package/Scatter.js +244 -146
  183. package/Scatter.js.map +4 -4
  184. package/SingleValue/SingleValue.d.ts.map +1 -1
  185. package/SingleValue.js +273 -173
  186. package/SingleValue.js.map +4 -4
  187. package/SingleValueBasic.js +4 -4
  188. package/SingleValueBasic.js.map +2 -2
  189. package/SingleValueIcon/SingleValueIcon.d.ts.map +1 -1
  190. package/SingleValueIcon.js +264 -164
  191. package/SingleValueIcon.js.map +4 -4
  192. package/SingleValueRadial.js +267 -167
  193. package/SingleValueRadial.js.map +4 -4
  194. package/SparkLine/SparkLine.d.ts.map +1 -1
  195. package/SparkLine.js.map +2 -2
  196. package/Table/PureTable.d.ts.map +1 -1
  197. package/Table/Table.d.ts +2 -5
  198. package/Table/Table.d.ts.map +1 -1
  199. package/Table/hooks.d.ts.map +1 -1
  200. package/Table.config.js +1 -1
  201. package/Table.config.js.map +2 -2
  202. package/Table.js +293 -271
  203. package/Table.js.map +4 -4
  204. package/Timeline/Timeline.d.ts +3 -1
  205. package/Timeline/Timeline.d.ts.map +1 -1
  206. package/Timeline.config.js +2 -2
  207. package/Timeline.config.js.map +2 -2
  208. package/Timeline.js +266 -142
  209. package/Timeline.js.map +4 -4
  210. package/Treemap/Treemap.d.ts +3 -1
  211. package/Treemap/Treemap.d.ts.map +1 -1
  212. package/Treemap.js +263 -147
  213. package/Treemap.js.map +4 -4
  214. package/common/Charting.js +8 -10
  215. package/common/Charting.js.map +2 -2
  216. package/common/ChartingApi.d.ts.map +1 -1
  217. package/common/ChartingApi.js +5 -2
  218. package/common/ChartingApi.js.map +2 -2
  219. package/common/DocExampleWithVizSandbox.d.ts +2 -0
  220. package/common/DocExampleWithVizSandbox.d.ts.map +1 -1
  221. package/common/DocExampleWithVizSandbox.js +54 -6
  222. package/common/DocExampleWithVizSandbox.js.map +2 -2
  223. package/common/GaugeMajorTicks.js.map +2 -2
  224. package/common/GaugeValueMarker.js.map +2 -2
  225. package/common/OptionsDoc.js +1 -1
  226. package/common/OptionsDoc.js.map +2 -2
  227. package/common/OverviewDoc.js +54 -6
  228. package/common/OverviewDoc.js.map +2 -2
  229. package/common/ThemesDoc.js.map +2 -2
  230. package/common/TimeSeriesChartWrapper.js +10 -9
  231. package/common/TimeSeriesChartWrapper.js.map +2 -2
  232. package/common/chartingUtils.d.ts.map +1 -1
  233. package/common/chartingUtils.js +12 -11
  234. package/common/chartingUtils.js.map +2 -2
  235. package/common/components/IconPlaceholder.d.ts.map +1 -1
  236. package/common/docUtils.d.ts.map +1 -1
  237. package/common/docUtils.js +15 -6
  238. package/common/docUtils.js.map +2 -2
  239. package/common/editorConfig/AxesChartDataDisplay.d.ts.map +1 -1
  240. package/common/gaugeUtils.d.ts.map +1 -1
  241. package/common/gaugeUtils.js +4 -2
  242. package/common/gaugeUtils.js.map +2 -2
  243. package/common/hooks/useSorting.d.ts.map +1 -1
  244. package/common/interfaces/VizEvent.d.ts +7 -0
  245. package/common/interfaces/VizEvent.d.ts.map +1 -1
  246. package/common/utils/dataUtils.d.ts.map +1 -1
  247. package/common/utils/dataUtils.js +6 -10
  248. package/common/utils/dataUtils.js.map +2 -2
  249. package/common/utils/featureFlagUtils.js +2 -2
  250. package/common/utils/featureFlagUtils.js.map +2 -2
  251. package/common/utils/focusUtils.js +1 -1
  252. package/common/utils/focusUtils.js.map +2 -2
  253. package/common/utils/mapUtils.d.ts.map +1 -1
  254. package/common/utils/mapUtils.js +17 -21
  255. package/common/utils/mapUtils.js.map +3 -3
  256. package/common/utils/singleValueUtils.js +22 -25
  257. package/common/utils/singleValueUtils.js.map +2 -2
  258. package/common/utils/textUtils.d.ts.map +1 -1
  259. package/common/utils/textUtils.js +37 -23
  260. package/common/utils/textUtils.js.map +2 -2
  261. package/common/utils/trellisUtils.d.ts.map +1 -1
  262. package/common/utils/trellisUtils.js +18 -17
  263. package/common/utils/trellisUtils.js.map +2 -2
  264. package/common/utils/urlUtils.js.map +2 -2
  265. package/common/utils/visualizationTheme.d.ts +15 -0
  266. package/common/utils/visualizationTheme.d.ts.map +1 -0
  267. package/common/utils/visualizationTheme.js +72 -0
  268. package/common/utils/visualizationTheme.js.map +7 -0
  269. package/common/withDashboardViz.d.ts +3 -1
  270. package/common/withDashboardViz.d.ts.map +1 -1
  271. package/common/withDashboardViz.js +216 -105
  272. package/common/withDashboardViz.js.map +4 -4
  273. package/docs-llm/map/examples-react.md +39 -39
  274. package/docs-llm/network-graph/options.md +2 -2
  275. package/docs-llm/pie/examples-json.md +195 -0
  276. package/docs-llm/pie/examples-react.md +123 -0
  277. package/docs-llm/pie/options.md +1 -1
  278. package/docs-llm/process-tree/options.md +3 -2
  279. package/package.json +32 -29
package/Events.js CHANGED
@@ -347,7 +347,10 @@ var useSortingParams = ({ requestParams, onRequestParamsChange }) => {
347
347
  onSort = (e, { sortKey, sortDir }) => {
348
348
  if (typeof sortKey === "string") {
349
349
  const nextSortDir = (0, lodash_exports.has)(nextSortDirMap, sortDir) ? nextSortDirMap[sortDir] : "none";
350
- onRequestParamsChange(__spreadValues(__spreadValues({}, requestParams), { offset: 0, sort: { [sortKey]: nextSortDir } }));
350
+ onRequestParamsChange(__spreadProps(__spreadValues({}, requestParams), {
351
+ offset: 0,
352
+ sort: { [sortKey]: nextSortDir }
353
+ }));
351
354
  } else {
352
355
  onRequestParamsChange(requestParams);
353
356
  }
@@ -491,7 +494,7 @@ var Cover = styled_components_default.div`
491
494
  bottom: 0;
492
495
  `;
493
496
  var Blocker = styled_components_default.div.attrs({
494
- "data-splunk-visualization-version": "28.8.0 - 633c53372"
497
+ "data-splunk-visualization-version": "28.9.1 - fba477a41"
495
498
  })`
496
499
  position: relative;
497
500
  width: 100%;
@@ -526,14 +529,23 @@ var defaultImport20 = __toESM(require("@splunk/themes/variables"));
526
529
  __reExport(variables_exports, require("@splunk/themes/variables"));
527
530
  var variables_default = "default" in defaultImport20 ? defaultImport20.default : defaultImport20;
528
531
 
532
+ // esm-externals:@splunk/themes
533
+ var themes_exports = {};
534
+ __export(themes_exports, {
535
+ default: () => themes_default
536
+ });
537
+ var defaultImport21 = __toESM(require("@splunk/themes"));
538
+ __reExport(themes_exports, require("@splunk/themes"));
539
+ var themes_default = "default" in defaultImport21 ? defaultImport21.default : defaultImport21;
540
+
529
541
  // esm-externals:@splunk/visualizations-shared/style
530
542
  var style_exports = {};
531
543
  __export(style_exports, {
532
544
  default: () => style_default
533
545
  });
534
- var defaultImport21 = __toESM(require("@splunk/visualizations-shared/style"));
546
+ var defaultImport22 = __toESM(require("@splunk/visualizations-shared/style"));
535
547
  __reExport(style_exports, require("@splunk/visualizations-shared/style"));
536
- var style_default = "default" in defaultImport21 ? defaultImport21.default : defaultImport21;
548
+ var style_default = "default" in defaultImport22 ? defaultImport22.default : defaultImport22;
537
549
 
538
550
  // src/common/hocs/FixedSizeContainer.tsx
539
551
  var Item = styled_components_default.div.attrs(({ width }) => ({
@@ -590,7 +602,7 @@ var withFixedSizeContainer = (Viz) => {
590
602
  FixSizeItem,
591
603
  {
592
604
  "data-test": "fix-size-item",
593
- "data-splunk-visualization-version": "28.8.0 - 633c53372",
605
+ "data-splunk-visualization-version": "28.9.1 - fba477a41",
594
606
  width,
595
607
  height,
596
608
  backgroundColor
@@ -611,6 +623,14 @@ var shouldShowIconPlaceholder = (dataSources, loading = false) => {
611
623
  const noFields = fields === void 0;
612
624
  return loading || noData || noFields;
613
625
  };
626
+ var PlaceholderContainer = styled_components_default.div`
627
+ /* The inline token color wins when supported. Older browsers discard an
628
+ unsupported oklch value and retain this inherited fallback instead. */
629
+ color: ${(0, themes_exports.pick)({
630
+ dark: "#fafafa",
631
+ light: "#2c2c2c"
632
+ })};
633
+ `;
614
634
  var IconPlaceholder = (props) => {
615
635
  const {
616
636
  width = SplunkVisualization_default.defaults.width,
@@ -625,7 +645,6 @@ var IconPlaceholder = (props) => {
625
645
  style: {
626
646
  left: "50%",
627
647
  top: "50%",
628
- color: iconColor,
629
648
  opacity: 0.15,
630
649
  position: "absolute",
631
650
  transform: "translate(-50%, -50%)"
@@ -635,7 +654,14 @@ var IconPlaceholder = (props) => {
635
654
  "data-test": "icon-placeholder"
636
655
  });
637
656
  }
638
- return /* @__PURE__ */ react_exports.createElement("div", { style: { width, height, background: backgroundColor } }, content);
657
+ return /* @__PURE__ */ react_exports.createElement(
658
+ PlaceholderContainer,
659
+ {
660
+ "data-test": "icon-placeholder-container",
661
+ style: { width, height, background: backgroundColor, color: iconColor }
662
+ },
663
+ content
664
+ );
639
665
  };
640
666
  var IconPlaceholder_default = FixedSizeContainer_default(IconPlaceholder);
641
667
 
@@ -681,9 +707,9 @@ var numberUtils_exports = {};
681
707
  __export(numberUtils_exports, {
682
708
  default: () => numberUtils_default
683
709
  });
684
- var defaultImport22 = __toESM(require("@splunk/visualizations-shared/numberUtils"));
710
+ var defaultImport23 = __toESM(require("@splunk/visualizations-shared/numberUtils"));
685
711
  __reExport(numberUtils_exports, require("@splunk/visualizations-shared/numberUtils"));
686
- var numberUtils_default = "default" in defaultImport22 ? defaultImport22.default : defaultImport22;
712
+ var numberUtils_default = "default" in defaultImport23 ? defaultImport23.default : defaultImport23;
687
713
 
688
714
  // src/common/utils/dataUtils.ts
689
715
  var convertToArrOfObjects = (columns, fields) => {
@@ -727,7 +753,7 @@ var largestTriangleThreeBuckets = (data, threshold, preferredDownsampleIndices)
727
753
  let avgY = 0;
728
754
  let avgRangeStart = Math.floor((i + 1) * every) + 1;
729
755
  let avgRangeEnd = Math.floor((i + 2) * every) + 1;
730
- avgRangeEnd = avgRangeEnd < dataLength ? avgRangeEnd : dataLength;
756
+ avgRangeEnd = Math.min(avgRangeEnd, dataLength);
731
757
  const avgRangeLength = avgRangeEnd - avgRangeStart;
732
758
  for (; avgRangeStart < avgRangeEnd; avgRangeStart++) {
733
759
  avgX += Number(data[avgRangeStart][0]);
@@ -762,9 +788,9 @@ var largestTriangleThreeBuckets = (data, threshold, preferredDownsampleIndices)
762
788
  };
763
789
  var strictlyCoerceYColumn = (column, options) => {
764
790
  const isNullCoercionEnabled = options.nullValueDisplay === "zero";
765
- const canLooselyCoerceSomeValues = column.findIndex(
791
+ const canLooselyCoerceSomeValues = column.some(
766
792
  (value) => (0, numberUtils_exports.startsWithNumber)(`${value}`) || isNullCoercionEnabled && value === null
767
- ) >= 0;
793
+ );
768
794
  const coercedColumn = [];
769
795
  const canDownsampleColumn = !column.some((value) => {
770
796
  const coercedValue = Number(value);
@@ -783,7 +809,7 @@ var strictlyCoerceYColumn = (column, options) => {
783
809
  };
784
810
  var strictlyCoerceXColumn = (column, fieldType) => {
785
811
  if (fieldType === "number") {
786
- const coercedXColumn = column.map((xValue) => Number(xValue));
812
+ const coercedXColumn = column.map(Number);
787
813
  if (isColumnStrictlyIncreasing(coercedXColumn, fieldType)) {
788
814
  return coercedXColumn;
789
815
  }
@@ -1082,16 +1108,16 @@ var FeatureFlags_exports = {};
1082
1108
  __export(FeatureFlags_exports, {
1083
1109
  default: () => FeatureFlags_default
1084
1110
  });
1085
- var defaultImport23 = __toESM(require("@splunk/visualization-context/FeatureFlags"));
1111
+ var defaultImport24 = __toESM(require("@splunk/visualization-context/FeatureFlags"));
1086
1112
  __reExport(FeatureFlags_exports, require("@splunk/visualization-context/FeatureFlags"));
1087
- var FeatureFlags_default = "default" in defaultImport23 ? defaultImport23.default : defaultImport23;
1113
+ var FeatureFlags_default = "default" in defaultImport24 ? defaultImport24.default : defaultImport24;
1088
1114
 
1089
1115
  // src/common/utils/featureFlagUtils.ts
1090
1116
  var getFeatureFlag = (context, flagName) => {
1091
- if (context && Object.keys(context).find((key) => key === flagName)) {
1117
+ if (context && Object.keys(context).includes(flagName)) {
1092
1118
  return context[flagName];
1093
1119
  }
1094
- if (Object.keys(FeatureFlags_default).find((key) => key === flagName)) {
1120
+ if (Object.keys(FeatureFlags_default).includes(flagName)) {
1095
1121
  return FeatureFlags_default[flagName];
1096
1122
  }
1097
1123
  return false;
@@ -1102,9 +1128,9 @@ var trellisUtils_exports = {};
1102
1128
  __export(trellisUtils_exports, {
1103
1129
  default: () => trellisUtils_default
1104
1130
  });
1105
- var defaultImport24 = __toESM(require("@splunk/visualizations-shared/trellisUtils"));
1131
+ var defaultImport25 = __toESM(require("@splunk/visualizations-shared/trellisUtils"));
1106
1132
  __reExport(trellisUtils_exports, require("@splunk/visualizations-shared/trellisUtils"));
1107
- var trellisUtils_default = "default" in defaultImport24 ? defaultImport24.default : defaultImport24;
1133
+ var trellisUtils_default = "default" in defaultImport25 ? defaultImport25.default : defaultImport25;
1108
1134
 
1109
1135
  // src/common/utils/trellisUtils.ts
1110
1136
  var turnOffLegendDisplayWhenTrellisIsOn = (isTrellisOn, options) => {
@@ -1121,9 +1147,9 @@ var visualization_canvas_exports = {};
1121
1147
  __export(visualization_canvas_exports, {
1122
1148
  default: () => visualization_canvas_default
1123
1149
  });
1124
- var defaultImport25 = __toESM(require("@splunk/visualization-canvas"));
1150
+ var defaultImport26 = __toESM(require("@splunk/visualization-canvas"));
1125
1151
  __reExport(visualization_canvas_exports, require("@splunk/visualization-canvas"));
1126
- var visualization_canvas_default = "default" in defaultImport25 ? defaultImport25.default : defaultImport25;
1152
+ var visualization_canvas_default = "default" in defaultImport26 ? defaultImport26.default : defaultImport26;
1127
1153
 
1128
1154
  // src/common/components/VizStyleWrapper.jsx
1129
1155
  var VizStyleWrapper = styled_components_default.div.attrs(({ dataTestKey }) => ({
@@ -1145,27 +1171,27 @@ var Triangle_exports = {};
1145
1171
  __export(Triangle_exports, {
1146
1172
  default: () => Triangle_default
1147
1173
  });
1148
- var defaultImport26 = __toESM(require("@splunk/react-icons/Triangle"));
1174
+ var defaultImport27 = __toESM(require("@splunk/react-icons/Triangle"));
1149
1175
  __reExport(Triangle_exports, require("@splunk/react-icons/Triangle"));
1150
- var Triangle_default = "default" in defaultImport26 ? defaultImport26.default : defaultImport26;
1176
+ var Triangle_default = "default" in defaultImport27 ? defaultImport27.default : defaultImport27;
1151
1177
 
1152
1178
  // esm-externals:@splunk/visualizations-shared/propUtils
1153
1179
  var propUtils_exports = {};
1154
1180
  __export(propUtils_exports, {
1155
1181
  default: () => propUtils_default
1156
1182
  });
1157
- var defaultImport27 = __toESM(require("@splunk/visualizations-shared/propUtils"));
1183
+ var defaultImport28 = __toESM(require("@splunk/visualizations-shared/propUtils"));
1158
1184
  __reExport(propUtils_exports, require("@splunk/visualizations-shared/propUtils"));
1159
- var propUtils_default = "default" in defaultImport27 ? defaultImport27.default : defaultImport27;
1185
+ var propUtils_default = "default" in defaultImport28 ? defaultImport28.default : defaultImport28;
1160
1186
 
1161
1187
  // esm-externals:@splunk/visualizations-shared/simpleXMLOptions
1162
1188
  var simpleXMLOptions_exports = {};
1163
1189
  __export(simpleXMLOptions_exports, {
1164
1190
  default: () => simpleXMLOptions_default
1165
1191
  });
1166
- var defaultImport28 = __toESM(require("@splunk/visualizations-shared/simpleXMLOptions"));
1192
+ var defaultImport29 = __toESM(require("@splunk/visualizations-shared/simpleXMLOptions"));
1167
1193
  __reExport(simpleXMLOptions_exports, require("@splunk/visualizations-shared/simpleXMLOptions"));
1168
- var simpleXMLOptions_default = "default" in defaultImport28 ? defaultImport28.default : defaultImport28;
1194
+ var simpleXMLOptions_default = "default" in defaultImport29 ? defaultImport29.default : defaultImport29;
1169
1195
 
1170
1196
  // src/common/chartingUtils.ts
1171
1197
  var DEFAULT_LINE_WIDTH = 2;
@@ -1204,9 +1230,9 @@ var shouldEnableSearchZoom = (eventHandlers = [], xField = "") => {
1204
1230
  const xAxisIsTime = xField === "_time";
1205
1231
  return !!rangeSelectEventHandler && xAxisIsTime;
1206
1232
  };
1207
- var canvasSupportedTimeSeriesCharts = ["splunk.line", "splunk.area"];
1233
+ var canvasSupportedTimeSeriesCharts = /* @__PURE__ */ new Set(["splunk.line", "splunk.area"]);
1208
1234
  var isTimeSeriesCanvasRenderSupported = (vizConfigKey) => {
1209
- return canvasSupportedTimeSeriesCharts.includes(vizConfigKey);
1235
+ return canvasSupportedTimeSeriesCharts.has(vizConfigKey);
1210
1236
  };
1211
1237
  var filterChartDataFromInternalFields = (chartData) => {
1212
1238
  const { fields, columns } = chartData;
@@ -1222,7 +1248,7 @@ var filterChartDataFromInternalFields = (chartData) => {
1222
1248
  return { fields: filteredFields, columns: filteredColumns };
1223
1249
  };
1224
1250
  var convert2DArrayToNumbers = (arr) => {
1225
- return arr.map((subArray) => subArray.map((element) => parseFloat(element)));
1251
+ return arr.map((subArray) => subArray.map((element) => Number.parseFloat(element)));
1226
1252
  };
1227
1253
  var parseAxisValue = (val) => {
1228
1254
  if (val === void 0 || val === null || val === "auto" || val === "") {
@@ -1260,6 +1286,7 @@ var getLegend = (props) => {
1260
1286
  return (0, visualization_canvas_exports.TopLegendFactory)(__spreadValues({
1261
1287
  wrap: true
1262
1288
  }, commonLegendProps));
1289
+ // Note: By default, use right legend
1263
1290
  default:
1264
1291
  return (0, visualization_canvas_exports.SideLegendFactory)(__spreadValues({}, commonLegendProps));
1265
1292
  }
@@ -1392,10 +1419,10 @@ var getSeriesOverrides = (opts) => {
1392
1419
  let spanGaps;
1393
1420
  if (nullValueMode === "gaps") {
1394
1421
  spanGaps = false;
1395
- } else if (nullValueMode != null) {
1396
- spanGaps = true;
1397
- } else {
1422
+ } else if (nullValueMode == null) {
1398
1423
  spanGaps = void 0;
1424
+ } else {
1425
+ spanGaps = true;
1399
1426
  }
1400
1427
  const replaceNullsWithZero = nullValueMode === "zero" ? true : void 0;
1401
1428
  const isAreaChart = type === "area";
@@ -1468,9 +1495,9 @@ var visualization_schemas_exports = {};
1468
1495
  __export(visualization_schemas_exports, {
1469
1496
  default: () => visualization_schemas_default
1470
1497
  });
1471
- var defaultImport29 = __toESM(require("@splunk/visualization-schemas"));
1498
+ var defaultImport30 = __toESM(require("@splunk/visualization-schemas"));
1472
1499
  __reExport(visualization_schemas_exports, require("@splunk/visualization-schemas"));
1473
- var visualization_schemas_default = "default" in defaultImport29 ? defaultImport29.default : defaultImport29;
1500
+ var visualization_schemas_default = "default" in defaultImport30 ? defaultImport30.default : defaultImport30;
1474
1501
 
1475
1502
  // src/common/hooks/useTrellisEnabled.ts
1476
1503
  var useTrellisFeatureFlagOn = () => {
@@ -1835,11 +1862,11 @@ var TimeSeriesChartWrapper = (props) => {
1835
1862
  y2AxisMajorUnitFromSimpleXML,
1836
1863
  y2AxisMajorTickInterval
1837
1864
  );
1838
- const xAxisMajorTickSizeNum = xAxisMajorTickSize != null ? Number(xAxisMajorTickSize) : void 0;
1839
- const yAxisMajorTickSizeNum = yAxisMajorTickSize != null ? Number(yAxisMajorTickSize) : void 0;
1840
- const y2AxisMajorTickSizeNum = y2AxisMajorTickSize != null ? Number(y2AxisMajorTickSize) : void 0;
1841
- const yAxisMinorTickSizeNum = yAxisMinorTickSize != null ? Number(yAxisMinorTickSize) : void 0;
1842
- const y2AxisMinorTickSizeNum = y2AxisMinorTickSize != null ? Number(y2AxisMinorTickSize) : void 0;
1865
+ const xAxisMajorTickSizeNum = xAxisMajorTickSize == null ? void 0 : Number(xAxisMajorTickSize);
1866
+ const yAxisMajorTickSizeNum = yAxisMajorTickSize == null ? void 0 : Number(yAxisMajorTickSize);
1867
+ const y2AxisMajorTickSizeNum = y2AxisMajorTickSize == null ? void 0 : Number(y2AxisMajorTickSize);
1868
+ const yAxisMinorTickSizeNum = yAxisMinorTickSize == null ? void 0 : Number(yAxisMinorTickSize);
1869
+ const y2AxisMinorTickSizeNum = y2AxisMinorTickSize == null ? void 0 : Number(y2AxisMinorTickSize);
1843
1870
  const areaOpacityForCanvas = getAreaOpacityForCanvas(areaOpacity);
1844
1871
  const seriesColors = seriesColorsStr ? JSON.parse(seriesColorsStr) : void 0;
1845
1872
  const seriesColorsByField = fieldColors ? JSON.parse(fieldColors) : void 0;
@@ -2251,6 +2278,76 @@ var buildEventCallbackProps = (supportedEvents, evaluatedOptionsToUse, onEventTr
2251
2278
  });
2252
2279
  return result;
2253
2280
  };
2281
+ var buildAllEventCallbackProps = (events, evaluatedOptionsToUse, onEventTrigger, { supportsEvents, hasEventHandlers, mode }) => {
2282
+ if (!supportsEvents) return {};
2283
+ const defaultEvents = {};
2284
+ const userEvents = {};
2285
+ Object.entries(events || {}).forEach(([eventKey, eventConfig]) => {
2286
+ (eventConfig.source === "default" ? defaultEvents : userEvents)[eventKey] = eventConfig;
2287
+ });
2288
+ const userProps = hasEventHandlers && mode === "view" ? buildEventCallbackProps(userEvents, evaluatedOptionsToUse, onEventTrigger) : {};
2289
+ return __spreadValues(__spreadValues({}, userProps), buildEventCallbackProps(defaultEvents, evaluatedOptionsToUse, onEventTrigger));
2290
+ };
2291
+ var applyContextTimezone = (localeContext) => {
2292
+ if (localeContext.serializedTimezone && !moment_default.getDefaultSplunkTimezone()) {
2293
+ moment_default.setDefaultSplunkTimezone(localeContext.serializedTimezone);
2294
+ }
2295
+ };
2296
+ var getAsyncOptionsEvaluationParams = ({
2297
+ visualizationID,
2298
+ props,
2299
+ optionsToEvaluate,
2300
+ downsampledDataSources,
2301
+ vizConfig,
2302
+ bypassCloneDeepOptionScope,
2303
+ lazyLoadingDataFrame
2304
+ }) => {
2305
+ return {
2306
+ visualizationID,
2307
+ props,
2308
+ options: __spreadValues({}, optionsToEvaluate),
2309
+ dataSources: downsampledDataSources,
2310
+ theme: vizConfig.themes,
2311
+ bypassCloneDeepOptionScope,
2312
+ lazyLoadingDataFrame
2313
+ };
2314
+ };
2315
+ var evaluateOptionsSync = ({
2316
+ optionsToEvaluate,
2317
+ downsampledDataSources,
2318
+ dataSourcesInState,
2319
+ dataFramesInState,
2320
+ setDataSourcesInState,
2321
+ setDataFramesInState,
2322
+ computeDataFrames,
2323
+ featureFlagContext,
2324
+ themeFunc
2325
+ }) => {
2326
+ let dataFrames = dataFramesInState;
2327
+ if (downsampledDataSources !== dataSourcesInState) {
2328
+ setDataSourcesInState(downsampledDataSources);
2329
+ dataFrames = Options_exports.Options.dataFrameFromDataSource(
2330
+ downsampledDataSources,
2331
+ getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
2332
+ );
2333
+ setDataFramesInState(dataFrames);
2334
+ }
2335
+ let mergedFrames = dataFrames;
2336
+ if (computeDataFrames && dataFrames) {
2337
+ const derivedFrames = computeDataFrames({
2338
+ dataSources: downsampledDataSources,
2339
+ options: optionsToEvaluate.options
2340
+ });
2341
+ mergedFrames = __spreadValues(__spreadValues({}, dataFrames), derivedFrames);
2342
+ }
2343
+ return Options_exports.Options.evaluate(
2344
+ optionsToEvaluate,
2345
+ downsampledDataSources,
2346
+ themeFunc,
2347
+ mergedFrames,
2348
+ getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
2349
+ );
2350
+ };
2254
2351
  var withDashboardViz = (opts) => {
2255
2352
  const {
2256
2353
  ReactViz,
@@ -2282,11 +2379,7 @@ var withDashboardViz = (opts) => {
2282
2379
  onRequestParamsChange = lodash_exports.noop
2283
2380
  } = props;
2284
2381
  const localeContext = react_exports.useContext(TimezoneContext_default);
2285
- if (localeContext.serializedTimezone) {
2286
- if (!moment_default.getDefaultSplunkTimezone()) {
2287
- moment_default.setDefaultSplunkTimezone(localeContext.serializedTimezone);
2288
- }
2289
- }
2382
+ applyContextTimezone(localeContext);
2290
2383
  const themeFunc = (themeVar) => {
2291
2384
  var _a2, _b;
2292
2385
  return (_b = (_a2 = vizConfig.themes)[themeVar]) == null ? void 0 : _b.call(_a2, props);
@@ -2314,7 +2407,12 @@ var withDashboardViz = (opts) => {
2314
2407
  featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableAcceleratedRender
2315
2408
  );
2316
2409
  const isAcceleratedRenderOn = isAcceleratedRenderFeatureFlagOn && isTimeSeriesCanvasRenderSupported(vizConfig.key) && (options == null ? void 0 : options.acceleratedRender) === true;
2317
- const isMounted = react_exports.useRef(true);
2410
+ const bypassCloneDeepOptionScope = Boolean(
2411
+ getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
2412
+ );
2413
+ const lazyLoadingDataFrame = Boolean(
2414
+ getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
2415
+ );
2318
2416
  const optionsToEvaluate = react_exports.useMemo(() => {
2319
2417
  var _a2;
2320
2418
  const legendDisplay = turnOffLegendDisplayWhenTrellisIsOn(isTrellisOn, options);
@@ -2353,63 +2451,74 @@ var withDashboardViz = (opts) => {
2353
2451
  threshold,
2354
2452
  isDownsamplingEnabled
2355
2453
  });
2356
- evaluatedOptions = useDeepMemo(() => {
2454
+ const asyncOptionsEvaluationParams = useDeepMemo(
2455
+ () => getAsyncOptionsEvaluationParams({
2456
+ visualizationID,
2457
+ props,
2458
+ optionsToEvaluate,
2459
+ downsampledDataSources,
2460
+ vizConfig,
2461
+ bypassCloneDeepOptionScope,
2462
+ lazyLoadingDataFrame
2463
+ }),
2464
+ [
2465
+ visualizationID,
2466
+ optionsToEvaluate,
2467
+ downsampledDataSources,
2468
+ vizConfig,
2469
+ bypassCloneDeepOptionScope,
2470
+ lazyLoadingDataFrame,
2471
+ currentThemeFamily,
2472
+ currentThemeColorScheme,
2473
+ currentThemeDensity,
2474
+ localeContext.serializedTimezone
2475
+ ]
2476
+ );
2477
+ react_exports.useEffect(() => {
2478
+ if (!useAsyncEvaluatedOptions) {
2479
+ return void 0;
2480
+ }
2481
+ let ownsEvaluation = true;
2357
2482
  try {
2358
- if (useAsyncEvaluatedOptions) {
2359
- const asyncDynamicOptionsEvaluatorParams = {
2360
- visualizationID,
2361
- props,
2362
- options: optionsToEvaluate,
2363
- dataSources: downsampledDataSources,
2364
- theme: vizConfig.themes,
2365
- bypassCloneDeepOptionScope: Boolean(
2366
- getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
2367
- ),
2368
- lazyLoadingDataFrame: Boolean(
2369
- getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
2370
- )
2371
- };
2372
- async_dynamic_options_evaluator_default.evaluate(asyncDynamicOptionsEvaluatorParams).then((results) => {
2483
+ async_dynamic_options_evaluator_default.evaluate(asyncOptionsEvaluationParams).then((results) => {
2484
+ if (ownsEvaluation) {
2373
2485
  setEvaluatedOptionsAsync(results.results);
2374
- }).catch(() => {
2375
- if (isMounted.current) {
2376
- setUseAsyncEvaluatedOptions(false);
2377
- }
2378
- });
2379
- } else {
2380
- let dataFrames = dataFramesInState;
2381
- if (downsampledDataSources !== dataSourcesInState) {
2382
- setDataSourcesInState(downsampledDataSources);
2383
- dataFrames = Options_exports.Options.dataFrameFromDataSource(
2384
- downsampledDataSources,
2385
- getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
2386
- );
2387
- setDataFramesInState(dataFrames);
2388
2486
  }
2389
- let mergedFrames = dataFrames;
2390
- if (computeDataFrames && dataFrames) {
2391
- const derivedFrames = computeDataFrames({
2392
- dataSources: downsampledDataSources,
2393
- options: optionsToEvaluate.options
2394
- });
2395
- mergedFrames = __spreadValues(__spreadValues({}, dataFrames), derivedFrames);
2487
+ }).catch(() => {
2488
+ if (ownsEvaluation) {
2489
+ setUseAsyncEvaluatedOptions(false);
2396
2490
  }
2397
- const result = Options_exports.Options.evaluate(
2398
- optionsToEvaluate,
2399
- downsampledDataSources,
2400
- themeFunc,
2401
- mergedFrames,
2402
- getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
2403
- );
2404
- return result;
2491
+ });
2492
+ } catch (e) {
2493
+ setUseAsyncEvaluatedOptions(false);
2494
+ }
2495
+ return () => {
2496
+ ownsEvaluation = false;
2497
+ async_dynamic_options_evaluator_default.reset(visualizationID);
2498
+ };
2499
+ }, [asyncOptionsEvaluationParams, useAsyncEvaluatedOptions, visualizationID]);
2500
+ evaluatedOptions = useDeepMemo(() => {
2501
+ try {
2502
+ if (useAsyncEvaluatedOptions) {
2503
+ return {};
2405
2504
  }
2505
+ return evaluateOptionsSync({
2506
+ optionsToEvaluate,
2507
+ downsampledDataSources,
2508
+ dataSourcesInState,
2509
+ dataFramesInState,
2510
+ setDataSourcesInState,
2511
+ setDataFramesInState,
2512
+ computeDataFrames,
2513
+ featureFlagContext,
2514
+ themeFunc
2515
+ });
2406
2516
  } catch (e) {
2407
2517
  if (e instanceof Error) {
2408
2518
  console.error(`unexpected error evaluating options: ${e.message}`);
2409
2519
  }
2410
2520
  return {};
2411
2521
  }
2412
- return {};
2413
2522
  }, [
2414
2523
  currentThemeFamily,
2415
2524
  currentThemeColorScheme,
@@ -2419,7 +2528,7 @@ var withDashboardViz = (opts) => {
2419
2528
  localeContext.serializedTimezone,
2420
2529
  useAsyncEvaluatedOptions
2421
2530
  ]);
2422
- const evaluatedOptionsToUse = !useAsyncEvaluatedOptions ? evaluatedOptions : evaluatedOptionsAsync;
2531
+ const evaluatedOptionsToUse = useAsyncEvaluatedOptions ? evaluatedOptionsAsync : evaluatedOptions;
2423
2532
  let dataSourceMetadata = {};
2424
2533
  const OptionKey = "paginateDataSourceKey";
2425
2534
  const optsKey = (0, lodash_exports.has)(evaluatedOptionsToUse, OptionKey) && evaluatedOptionsToUse[OptionKey];
@@ -2441,7 +2550,7 @@ var withDashboardViz = (opts) => {
2441
2550
  sortParams,
2442
2551
  paginatorParams
2443
2552
  };
2444
- if (vizConfig.supports.indexOf("page-and-sort" /* PAGE_AND_SORT */) === -1 && !(0, lodash_exports.has)(dataSources, paginateDataSourceKey)) {
2553
+ if (!vizConfig.supports.includes("page-and-sort" /* PAGE_AND_SORT */) && !(0, lodash_exports.has)(dataSources, paginateDataSourceKey)) {
2445
2554
  dataSourceMetadata = {};
2446
2555
  }
2447
2556
  const clonedEvaluatedOptions = __spreadValues({}, evaluatedOptionsToUse);
@@ -2451,14 +2560,6 @@ var withDashboardViz = (opts) => {
2451
2560
  react_exports.useEffect(() => {
2452
2561
  onComputedProps(clonedEvaluatedOptions);
2453
2562
  });
2454
- react_exports.useEffect(() => {
2455
- return () => {
2456
- if (useAsyncEvaluatedOptions) {
2457
- isMounted.current = false;
2458
- async_dynamic_options_evaluator_default.reset(visualizationID);
2459
- }
2460
- };
2461
- }, []);
2462
2563
  const { requiredProps = [], supports } = vizConfig;
2463
2564
  const missing = missingKeys(requiredProps, evaluatedOptionsToUse);
2464
2565
  if (missing.length > 0 && supports.includes("placeholder" /* PLACEHOLDER */) && vizConfig.key !== "splunk.singlevalue") {
@@ -2473,7 +2574,16 @@ var withDashboardViz = (opts) => {
2473
2574
  }
2474
2575
  );
2475
2576
  }
2476
- const eventCallbackProps = hasEventHandlers && mode === "view" && vizConfig.supports.includes("events" /* EVENTS */) ? buildEventCallbackProps(vizConfig.events, evaluatedOptionsToUse, onEventTrigger) : {};
2577
+ const eventCallbackProps = buildAllEventCallbackProps(
2578
+ vizConfig.events,
2579
+ evaluatedOptionsToUse,
2580
+ onEventTrigger,
2581
+ {
2582
+ supportsEvents: vizConfig.supports.includes("events" /* EVENTS */),
2583
+ hasEventHandlers,
2584
+ mode
2585
+ }
2586
+ );
2477
2587
  const computedVizProps = computeVizProps2(__spreadProps(__spreadValues(__spreadProps(__spreadValues(__spreadValues({}, props), evaluatedOptionsToUse), {
2478
2588
  // Align option transformation with the actual renderer selected below.
2479
2589
  // This prevents canvas-only option preservation from leaking into Highcharts mode.
@@ -2501,8 +2611,9 @@ var withDashboardViz = (opts) => {
2501
2611
  onEventTrigger: SplunkVisualization_default.defaults.onEventTrigger
2502
2612
  });
2503
2613
  DashboardViz.config = vizConfig;
2504
- return (0, styled_components_exports.withTheme)(
2505
- withPlaceholder_default(withEditModeCover_default(DashboardViz, disableEditModeCover), useIconPlaceholder)
2614
+ return Object.assign(
2615
+ (0, styled_components_exports.withTheme)(withPlaceholder_default(withEditModeCover_default(DashboardViz, disableEditModeCover), useIconPlaceholder)),
2616
+ { config: vizConfig }
2506
2617
  );
2507
2618
  };
2508
2619
  var withDashboardViz_default = withDashboardViz;
@@ -2512,27 +2623,27 @@ var visualization_icons_exports = {};
2512
2623
  __export(visualization_icons_exports, {
2513
2624
  default: () => visualization_icons_default
2514
2625
  });
2515
- var defaultImport30 = __toESM(require("@splunk/visualization-icons"));
2626
+ var defaultImport31 = __toESM(require("@splunk/visualization-icons"));
2516
2627
  __reExport(visualization_icons_exports, require("@splunk/visualization-icons"));
2517
- var visualization_icons_default = "default" in defaultImport30 ? defaultImport30.default : defaultImport30;
2628
+ var visualization_icons_default = "default" in defaultImport31 ? defaultImport31.default : defaultImport31;
2518
2629
 
2519
2630
  // esm-externals:@splunk/visualization-icons/placeholders
2520
2631
  var placeholders_exports = {};
2521
2632
  __export(placeholders_exports, {
2522
2633
  default: () => placeholders_default
2523
2634
  });
2524
- var defaultImport31 = __toESM(require("@splunk/visualization-icons/placeholders"));
2635
+ var defaultImport32 = __toESM(require("@splunk/visualization-icons/placeholders"));
2525
2636
  __reExport(placeholders_exports, require("@splunk/visualization-icons/placeholders"));
2526
- var placeholders_default = "default" in defaultImport31 ? defaultImport31.default : defaultImport31;
2637
+ var placeholders_default = "default" in defaultImport32 ? defaultImport32.default : defaultImport32;
2527
2638
 
2528
2639
  // esm-externals:@splunk/visualizations-shared/configUtils
2529
2640
  var configUtils_exports = {};
2530
2641
  __export(configUtils_exports, {
2531
2642
  default: () => configUtils_default
2532
2643
  });
2533
- var defaultImport32 = __toESM(require("@splunk/visualizations-shared/configUtils"));
2644
+ var defaultImport33 = __toESM(require("@splunk/visualizations-shared/configUtils"));
2534
2645
  __reExport(configUtils_exports, require("@splunk/visualizations-shared/configUtils"));
2535
- var configUtils_default = "default" in defaultImport32 ? defaultImport32.default : defaultImport32;
2646
+ var configUtils_default = "default" in defaultImport33 ? defaultImport33.default : defaultImport33;
2536
2647
 
2537
2648
  // src/common/utils/configUtils.ts
2538
2649
  function enhanceConfig(vizConfig) {
@@ -2566,9 +2677,9 @@ var pick_exports = {};
2566
2677
  __export(pick_exports, {
2567
2678
  default: () => pick_default
2568
2679
  });
2569
- var defaultImport33 = __toESM(require("@splunk/themes/pick"));
2680
+ var defaultImport34 = __toESM(require("@splunk/themes/pick"));
2570
2681
  __reExport(pick_exports, require("@splunk/themes/pick"));
2571
- var pick_default = "default" in defaultImport33 ? defaultImport33.default : defaultImport33;
2682
+ var pick_default = "default" in defaultImport34 ? defaultImport34.default : defaultImport34;
2572
2683
 
2573
2684
  // src/common/ThemedDefaults.tsx
2574
2685
  var defaultBackgroundColor = (props) => pick_default({
@@ -2698,36 +2809,36 @@ var EventsViewer_exports = {};
2698
2809
  __export(EventsViewer_exports, {
2699
2810
  default: () => EventsViewer_default
2700
2811
  });
2701
- var defaultImport34 = __toESM(require("@splunk/react-events-viewer/components/EventsViewer"));
2812
+ var defaultImport35 = __toESM(require("@splunk/react-events-viewer/components/EventsViewer"));
2702
2813
  __reExport(EventsViewer_exports, require("@splunk/react-events-viewer/components/EventsViewer"));
2703
- var EventsViewer_default = "default" in defaultImport34 ? defaultImport34.default : defaultImport34;
2814
+ var EventsViewer_default = "default" in defaultImport35 ? defaultImport35.default : defaultImport35;
2704
2815
 
2705
2816
  // esm-externals:@splunk/visualization-context/EventsContext
2706
2817
  var EventsContext_exports = {};
2707
2818
  __export(EventsContext_exports, {
2708
2819
  default: () => EventsContext_default
2709
2820
  });
2710
- var defaultImport35 = __toESM(require("@splunk/visualization-context/EventsContext"));
2821
+ var defaultImport36 = __toESM(require("@splunk/visualization-context/EventsContext"));
2711
2822
  __reExport(EventsContext_exports, require("@splunk/visualization-context/EventsContext"));
2712
- var EventsContext_default = "default" in defaultImport35 ? defaultImport35.default : defaultImport35;
2823
+ var EventsContext_default = "default" in defaultImport36 ? defaultImport36.default : defaultImport36;
2713
2824
 
2714
2825
  // esm-externals:@splunk/react-ui/Menu
2715
2826
  var Menu_exports = {};
2716
2827
  __export(Menu_exports, {
2717
2828
  default: () => Menu_default
2718
2829
  });
2719
- var defaultImport36 = __toESM(require("@splunk/react-ui/Menu"));
2830
+ var defaultImport37 = __toESM(require("@splunk/react-ui/Menu"));
2720
2831
  __reExport(Menu_exports, require("@splunk/react-ui/Menu"));
2721
- var Menu_default = "default" in defaultImport36 ? defaultImport36.default : defaultImport36;
2832
+ var Menu_default = "default" in defaultImport37 ? defaultImport37.default : defaultImport37;
2722
2833
 
2723
2834
  // esm-externals:@splunk/time-range-utils/time
2724
2835
  var time_exports = {};
2725
2836
  __export(time_exports, {
2726
2837
  default: () => time_default
2727
2838
  });
2728
- var defaultImport37 = __toESM(require("@splunk/time-range-utils/time"));
2839
+ var defaultImport38 = __toESM(require("@splunk/time-range-utils/time"));
2729
2840
  __reExport(time_exports, require("@splunk/time-range-utils/time"));
2730
- var time_default = "default" in defaultImport37 ? defaultImport37.default : defaultImport37;
2841
+ var time_default = "default" in defaultImport38 ? defaultImport38.default : defaultImport38;
2731
2842
 
2732
2843
  // src/Events/EventUtils.ts
2733
2844
  var EMPTY_DATASOURCE = {
@@ -2850,7 +2961,7 @@ var generateTokenReplacementMap = ({
2850
2961
  var getEpochTime = (time) => {
2851
2962
  if (!(0, time_exports.isISO)(time)) {
2852
2963
  console.error(`'${time}' is not a valid time string.`);
2853
- return NaN;
2964
+ return Number.NaN;
2854
2965
  }
2855
2966
  return new Date(time).getTime() / 1e3;
2856
2967
  };
@@ -2926,45 +3037,45 @@ var Popover_exports = {};
2926
3037
  __export(Popover_exports, {
2927
3038
  default: () => Popover_default
2928
3039
  });
2929
- var defaultImport38 = __toESM(require("@splunk/react-ui/Popover"));
3040
+ var defaultImport39 = __toESM(require("@splunk/react-ui/Popover"));
2930
3041
  __reExport(Popover_exports, require("@splunk/react-ui/Popover"));
2931
- var Popover_default = "default" in defaultImport38 ? defaultImport38.default : defaultImport38;
3042
+ var Popover_default = "default" in defaultImport39 ? defaultImport39.default : defaultImport39;
2932
3043
 
2933
3044
  // esm-externals:@splunk/react-ui/Markdown
2934
3045
  var Markdown_exports = {};
2935
3046
  __export(Markdown_exports, {
2936
3047
  default: () => Markdown_default
2937
3048
  });
2938
- var defaultImport39 = __toESM(require("@splunk/react-ui/Markdown"));
3049
+ var defaultImport40 = __toESM(require("@splunk/react-ui/Markdown"));
2939
3050
  __reExport(Markdown_exports, require("@splunk/react-ui/Markdown"));
2940
- var Markdown_default = "default" in defaultImport39 ? defaultImport39.default : defaultImport39;
3051
+ var Markdown_default = "default" in defaultImport40 ? defaultImport40.default : defaultImport40;
2941
3052
 
2942
3053
  // esm-externals:@splunk/react-field-summary/components/FieldSummary
2943
3054
  var FieldSummary_exports = {};
2944
3055
  __export(FieldSummary_exports, {
2945
3056
  default: () => FieldSummary_default
2946
3057
  });
2947
- var defaultImport40 = __toESM(require("@splunk/react-field-summary/components/FieldSummary"));
3058
+ var defaultImport41 = __toESM(require("@splunk/react-field-summary/components/FieldSummary"));
2948
3059
  __reExport(FieldSummary_exports, require("@splunk/react-field-summary/components/FieldSummary"));
2949
- var FieldSummary_default = "default" in defaultImport40 ? defaultImport40.default : defaultImport40;
3060
+ var FieldSummary_default = "default" in defaultImport41 ? defaultImport41.default : defaultImport41;
2950
3061
 
2951
3062
  // esm-externals:@splunk/react-ui/Button
2952
3063
  var Button_exports = {};
2953
3064
  __export(Button_exports, {
2954
3065
  default: () => Button_default
2955
3066
  });
2956
- var defaultImport41 = __toESM(require("@splunk/react-ui/Button"));
3067
+ var defaultImport42 = __toESM(require("@splunk/react-ui/Button"));
2957
3068
  __reExport(Button_exports, require("@splunk/react-ui/Button"));
2958
- var Button_default = "default" in defaultImport41 ? defaultImport41.default : defaultImport41;
3069
+ var Button_default = "default" in defaultImport42 ? defaultImport42.default : defaultImport42;
2959
3070
 
2960
3071
  // esm-externals:@splunk/react-icons/Cross
2961
3072
  var Cross_exports = {};
2962
3073
  __export(Cross_exports, {
2963
3074
  default: () => Cross_default
2964
3075
  });
2965
- var defaultImport42 = __toESM(require("@splunk/react-icons/Cross"));
3076
+ var defaultImport43 = __toESM(require("@splunk/react-icons/Cross"));
2966
3077
  __reExport(Cross_exports, require("@splunk/react-icons/Cross"));
2967
- var Cross_default = "default" in defaultImport42 ? defaultImport42.default : defaultImport42;
3078
+ var Cross_default = "default" in defaultImport43 ? defaultImport43.default : defaultImport43;
2968
3079
 
2969
3080
  // src/Events/PureEvents/FieldSummaryTooltip.tsx
2970
3081
  var StyledContainer = styled_components_default.div`
@@ -2986,14 +3097,15 @@ var StyledMarkdown = styled_components_default(Markdown_default)`
2986
3097
  var actionsForField = (field) => {
2987
3098
  const actions = [];
2988
3099
  if (typeof field.mean === "number") {
2989
- actions.push({ name: "avgByTime", label: (0, i18n_exports._)("Average over time") });
2990
- actions.push({ name: "maxByTime", label: (0, i18n_exports._)("Max value over time") });
2991
- actions.push({ name: "minByTime", label: (0, i18n_exports._)("Min value over time") });
2992
- }
2993
- actions.push({ name: "topValues", label: (0, i18n_exports._)("Top values") });
2994
- actions.push({ name: "topValuesByTime", label: (0, i18n_exports._)("Top values by time") });
2995
- actions.push({ name: "rareValues", label: (0, i18n_exports._)("Rare values") });
2996
- actions.push({ name: "allValues", label: (0, i18n_exports._)("Events with this field") });
3100
+ actions.push(
3101
+ ...(0, FieldSummary_exports.getTimeSeriesActions)({
3102
+ avgByTime: (0, i18n_exports._)("Average over time"),
3103
+ maxByTime: (0, i18n_exports._)("Max value over time"),
3104
+ minByTime: (0, i18n_exports._)("Min value over time")
3105
+ })
3106
+ );
3107
+ }
3108
+ actions.push(...(0, FieldSummary_exports.getTopValuesActions)());
2997
3109
  return actions;
2998
3110
  };
2999
3111
  var FieldSummaryTooltip = (props) => {
@@ -3060,54 +3172,54 @@ var ControlGroup_exports = {};
3060
3172
  __export(ControlGroup_exports, {
3061
3173
  default: () => ControlGroup_default
3062
3174
  });
3063
- var defaultImport43 = __toESM(require("@splunk/react-ui/ControlGroup"));
3175
+ var defaultImport44 = __toESM(require("@splunk/react-ui/ControlGroup"));
3064
3176
  __reExport(ControlGroup_exports, require("@splunk/react-ui/ControlGroup"));
3065
- var ControlGroup_default = "default" in defaultImport43 ? defaultImport43.default : defaultImport43;
3177
+ var ControlGroup_default = "default" in defaultImport44 ? defaultImport44.default : defaultImport44;
3066
3178
 
3067
3179
  // esm-externals:@splunk/react-ui/Text
3068
3180
  var Text_exports = {};
3069
3181
  __export(Text_exports, {
3070
3182
  default: () => Text_default
3071
3183
  });
3072
- var defaultImport44 = __toESM(require("@splunk/react-ui/Text"));
3184
+ var defaultImport45 = __toESM(require("@splunk/react-ui/Text"));
3073
3185
  __reExport(Text_exports, require("@splunk/react-ui/Text"));
3074
- var Text_default = "default" in defaultImport44 ? defaultImport44.default : defaultImport44;
3186
+ var Text_default = "default" in defaultImport45 ? defaultImport45.default : defaultImport45;
3075
3187
 
3076
3188
  // esm-externals:@splunk/react-ui/Message
3077
3189
  var Message_exports2 = {};
3078
3190
  __export(Message_exports2, {
3079
3191
  default: () => Message_default2
3080
3192
  });
3081
- var defaultImport45 = __toESM(require("@splunk/react-ui/Message"));
3193
+ var defaultImport46 = __toESM(require("@splunk/react-ui/Message"));
3082
3194
  __reExport(Message_exports2, require("@splunk/react-ui/Message"));
3083
- var Message_default2 = "default" in defaultImport45 ? defaultImport45.default : defaultImport45;
3195
+ var Message_default2 = "default" in defaultImport46 ? defaultImport46.default : defaultImport46;
3084
3196
 
3085
3197
  // esm-externals:@splunk/react-ui/Select
3086
3198
  var Select_exports = {};
3087
3199
  __export(Select_exports, {
3088
3200
  default: () => Select_default
3089
3201
  });
3090
- var defaultImport46 = __toESM(require("@splunk/react-ui/Select"));
3202
+ var defaultImport47 = __toESM(require("@splunk/react-ui/Select"));
3091
3203
  __reExport(Select_exports, require("@splunk/react-ui/Select"));
3092
- var Select_default = "default" in defaultImport46 ? defaultImport46.default : defaultImport46;
3204
+ var Select_default = "default" in defaultImport47 ? defaultImport47.default : defaultImport47;
3093
3205
 
3094
3206
  // esm-externals:@splunk/react-ui/Link
3095
3207
  var Link_exports = {};
3096
3208
  __export(Link_exports, {
3097
3209
  default: () => Link_default
3098
3210
  });
3099
- var defaultImport47 = __toESM(require("@splunk/react-ui/Link"));
3211
+ var defaultImport48 = __toESM(require("@splunk/react-ui/Link"));
3100
3212
  __reExport(Link_exports, require("@splunk/react-ui/Link"));
3101
- var Link_default = "default" in defaultImport47 ? defaultImport47.default : defaultImport47;
3213
+ var Link_default = "default" in defaultImport48 ? defaultImport48.default : defaultImport48;
3102
3214
 
3103
3215
  // esm-externals:@splunk/react-ui/Heading
3104
3216
  var Heading_exports = {};
3105
3217
  __export(Heading_exports, {
3106
3218
  default: () => Heading_default
3107
3219
  });
3108
- var defaultImport48 = __toESM(require("@splunk/react-ui/Heading"));
3220
+ var defaultImport49 = __toESM(require("@splunk/react-ui/Heading"));
3109
3221
  __reExport(Heading_exports, require("@splunk/react-ui/Heading"));
3110
- var Heading_default = "default" in defaultImport48 ? defaultImport48.default : defaultImport48;
3222
+ var Heading_default = "default" in defaultImport49 ? defaultImport49.default : defaultImport49;
3111
3223
 
3112
3224
  // src/Events/PureEvents/TimeControlsPopover.tsx
3113
3225
  var TimePopoverContainer = styled_components_default.div`
@@ -3346,7 +3458,7 @@ var SUIEventsViewerContainer = styled_components_default.div`
3346
3458
 
3347
3459
  ${({ width, height }) => {
3348
3460
  const padding = variables_default.spacingSmall.toString();
3349
- const paddingOffset = parseInt(padding, 10) * 2;
3461
+ const paddingOffset = Number.parseInt(padding, 10) * 2;
3350
3462
  return (0, style_exports.toDimension)({
3351
3463
  width: width - paddingOffset,
3352
3464
  height: height - paddingOffset
@@ -3469,7 +3581,7 @@ var PureEvents = (props) => {
3469
3581
  [dataSources]
3470
3582
  );
3471
3583
  const renderEventActions = react_exports.useMemo(
3472
- () => !Array.isArray(eventActions) ? [] : eventActions.map(({ eventType, label, eventtypeValues = [], fieldFilters = [] }) => {
3584
+ () => Array.isArray(eventActions) ? eventActions.map(({ eventType, label, eventtypeValues = [], fieldFilters = [] }) => {
3473
3585
  const onMenuItemClick = (e, eventActionProps, tokenReplacementMap) => {
3474
3586
  const payload = convertToPayloadFormat(eventActionProps.event, {
3475
3587
  tokenReplacementMap
@@ -3486,7 +3598,7 @@ var PureEvents = (props) => {
3486
3598
  fieldFilters,
3487
3599
  eventActionComponent
3488
3600
  };
3489
- }),
3601
+ }) : [],
3490
3602
  [eventActions, createEventActionComponent, onEventTrigger]
3491
3603
  );
3492
3604
  const setFieldActionsMapItem = react_exports.useCallback(
@@ -3668,13 +3780,14 @@ var computeVizProps = (_a) => {
3668
3780
  const dataSources = (_a2 = props == null ? void 0 : props.dataSources) != null ? _a2 : EMPTY_DATASOURCE;
3669
3781
  return __spreadProps(__spreadValues({}, props), { dataSources });
3670
3782
  };
3671
- var Events = withDashboardViz_default({
3783
+ var eventsVizOpts = {
3672
3784
  ReactViz: PureEvents_default,
3673
3785
  vizConfig: config_default,
3674
3786
  computeVizProps,
3675
3787
  disableEditModeCover: true,
3676
3788
  useIconPlaceholder: (dataSources) => showPlaceHolderIcon(dataSources)
3677
- });
3789
+ };
3790
+ var Events = withDashboardViz_default(eventsVizOpts);
3678
3791
  var { themes: themes2 } = config_default;
3679
3792
  var Events_default = Events;
3680
3793
  //# sourceMappingURL=Events.js.map