@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
@@ -2,7 +2,9 @@ import { ChartingProps } from '../common/Charting';
2
2
  import config from './config';
3
3
  type computeVizPropsFn = (options: Record<string, any>) => Partial<ChartingProps>;
4
4
  export declare const computeVizProps: computeVizPropsFn;
5
- declare const Bubble: import("react").FunctionComponent<import("../common/interfaces").DashboardVizProps> | import("react").ComponentClass<import("../common/interfaces").DashboardVizProps, any>;
5
+ declare const Bubble: import("react").ComponentType<import("../common/interfaces").DashboardVizProps> & {
6
+ config: import("../common/interfaces").VizConfig;
7
+ };
6
8
  declare const themes: any;
7
9
  export { themes, config };
8
10
  export default Bubble;
@@ -1 +1 @@
1
- {"version":3,"file":"Bubble.d.ts","sourceRoot":"","sources":["../src/Bubble/Bubble.tsx"],"names":[],"mappings":"AAGA,OAAiB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAG7D,OAAO,MAAM,MAAM,UAAU,CAAC;AAO9B,KAAK,iBAAiB,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;AAClF,eAAO,MAAM,eAAe,EAAE,iBA6D7B,CAAC;AAEF,QAAA,MAAM,MAAM,6KAIV,CAAC;AACH,QAAA,MAAM,MAAM,KAAO,CAAC;AAEpB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC1B,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Bubble.d.ts","sourceRoot":"","sources":["../src/Bubble/Bubble.tsx"],"names":[],"mappings":"AAGA,OAAiB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAG7D,OAAO,MAAM,MAAM,UAAU,CAAC;AAO9B,KAAK,iBAAiB,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;AAClF,eAAO,MAAM,eAAe,EAAE,iBA6D7B,CAAC;AAEF,QAAA,MAAM,MAAM;;CAIV,CAAC;AACH,QAAA,MAAM,MAAM,KAAO,CAAC;AAEpB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC1B,eAAe,MAAM,CAAC"}
package/Bubble.js CHANGED
@@ -181,17 +181,18 @@ __reExport(themeUtils_exports, require("@splunk/visualizations-shared/themeUtils
181
181
  var themeUtils_default = "default" in defaultImport12 ? defaultImport12.default : defaultImport12;
182
182
 
183
183
  // src/common/ChartingApi.ts
184
+ var DEFAULT_HIGHLIGHT_POINT = { xValue: "", seriesName: "" };
184
185
  var ChartingApiFunctional = class {
185
186
  // eslint-disable-next-line no-useless-constructor
186
187
  constructor(chartRef) {
187
- this.chartRef = chartRef;
188
+ __publicField(this, "chartRef", chartRef);
188
189
  }
189
190
  /**
190
191
  * Allows users to programmatically highlight a point on the chart
191
192
  *
192
193
  * @memberof ChartingApiFunctional
193
194
  */
194
- highlight({ xValue, seriesName } = { xValue: "", seriesName: "" }) {
195
+ highlight({ xValue, seriesName } = DEFAULT_HIGHLIGHT_POINT) {
195
196
  this.getChart().highlight(xValue, seriesName);
196
197
  }
197
198
  /**
@@ -273,7 +274,7 @@ var largestTriangleThreeBuckets = (data, threshold, preferredDownsampleIndices)
273
274
  let avgY = 0;
274
275
  let avgRangeStart = Math.floor((i + 1) * every) + 1;
275
276
  let avgRangeEnd = Math.floor((i + 2) * every) + 1;
276
- avgRangeEnd = avgRangeEnd < dataLength ? avgRangeEnd : dataLength;
277
+ avgRangeEnd = Math.min(avgRangeEnd, dataLength);
277
278
  const avgRangeLength = avgRangeEnd - avgRangeStart;
278
279
  for (; avgRangeStart < avgRangeEnd; avgRangeStart++) {
279
280
  avgX += Number(data[avgRangeStart][0]);
@@ -308,9 +309,9 @@ var largestTriangleThreeBuckets = (data, threshold, preferredDownsampleIndices)
308
309
  };
309
310
  var strictlyCoerceYColumn = (column, options) => {
310
311
  const isNullCoercionEnabled = options.nullValueDisplay === "zero";
311
- const canLooselyCoerceSomeValues = column.findIndex(
312
+ const canLooselyCoerceSomeValues = column.some(
312
313
  (value) => (0, numberUtils_exports.startsWithNumber)(`${value}`) || isNullCoercionEnabled && value === null
313
- ) >= 0;
314
+ );
314
315
  const coercedColumn = [];
315
316
  const canDownsampleColumn = !column.some((value) => {
316
317
  const coercedValue = Number(value);
@@ -329,7 +330,7 @@ var strictlyCoerceYColumn = (column, options) => {
329
330
  };
330
331
  var strictlyCoerceXColumn = (column, fieldType) => {
331
332
  if (fieldType === "number") {
332
- const coercedXColumn = column.map((xValue) => Number(xValue));
333
+ const coercedXColumn = column.map(Number);
333
334
  if (isColumnStrictlyIncreasing(coercedXColumn, fieldType)) {
334
335
  return coercedXColumn;
335
336
  }
@@ -383,12 +384,8 @@ var calculateDownsamplingThreshold = ({
383
384
  }
384
385
  const fullSeries = (_c = primaryDataSource == null ? void 0 : primaryDataSource.data) == null ? void 0 : _c.columns[xFieldIndex];
385
386
  const downsampledSeries = currentTarget.dataSet.seriesList[downsampledXFieldIndex];
386
- const firstIndex = fullSeries.findIndex((x) => {
387
- return downsampledSeries[startXIndex] === x;
388
- });
389
- const lastIndex = fullSeries.findIndex((x) => {
390
- return downsampledSeries[endXIndex] === x;
391
- });
387
+ const firstIndex = fullSeries.indexOf(downsampledSeries[startXIndex]);
388
+ const lastIndex = fullSeries.indexOf(downsampledSeries[endXIndex]);
392
389
  if (firstIndex >= 0 && lastIndex >= 0 && firstIndex <= lastIndex) {
393
390
  return calculateThresholdOnRangeSelect({
394
391
  firstIndex,
@@ -880,7 +877,7 @@ var Charting = (props) => {
880
877
  const payload = appendTrellisToPayload(props, {
881
878
  width,
882
879
  height,
883
- currentTime: (/* @__PURE__ */ new Date()).getTime()
880
+ currentTime: Date.now()
884
881
  });
885
882
  chart.current.prepareAndDraw(chartData, updatedOptions, () => {
886
883
  onEventTrigger({
@@ -905,7 +902,7 @@ var Charting = (props) => {
905
902
  needsInit.current = false;
906
903
  needsRedraw.current = false;
907
904
  } catch (e) {
908
- window.console.error("Caught error rendering chart:", e);
905
+ globalThis.console.error("Caught error rendering chart:", e);
909
906
  }
910
907
  };
911
908
  const onContainerMount = (chartingContainer) => {
@@ -2282,7 +2279,10 @@ var useSortingParams = ({ requestParams, onRequestParamsChange }) => {
2282
2279
  onSort = (e, { sortKey, sortDir }) => {
2283
2280
  if (typeof sortKey === "string") {
2284
2281
  const nextSortDir = (0, lodash_exports.has)(nextSortDirMap, sortDir) ? nextSortDirMap[sortDir] : "none";
2285
- onRequestParamsChange(__spreadValues(__spreadValues({}, requestParams), { offset: 0, sort: { [sortKey]: nextSortDir } }));
2282
+ onRequestParamsChange(__spreadProps(__spreadValues({}, requestParams), {
2283
+ offset: 0,
2284
+ sort: { [sortKey]: nextSortDir }
2285
+ }));
2286
2286
  } else {
2287
2287
  onRequestParamsChange(requestParams);
2288
2288
  }
@@ -2408,7 +2408,7 @@ var Cover = styled_components_default.div`
2408
2408
  bottom: 0;
2409
2409
  `;
2410
2410
  var Blocker = styled_components_default.div.attrs({
2411
- "data-splunk-visualization-version": "28.8.0 - 633c53372"
2411
+ "data-splunk-visualization-version": "28.9.0 - 96b03188d"
2412
2412
  })`
2413
2413
  position: relative;
2414
2414
  width: 100%;
@@ -2434,6 +2434,15 @@ var defaultImport32 = __toESM(require("@splunk/visualizations-shared/colorUtils"
2434
2434
  __reExport(colorUtils_exports, require("@splunk/visualizations-shared/colorUtils"));
2435
2435
  var colorUtils_default = "default" in defaultImport32 ? defaultImport32.default : defaultImport32;
2436
2436
 
2437
+ // esm-externals:@splunk/themes
2438
+ var themes_exports = {};
2439
+ __export(themes_exports, {
2440
+ default: () => themes_default
2441
+ });
2442
+ var defaultImport33 = __toESM(require("@splunk/themes"));
2443
+ __reExport(themes_exports, require("@splunk/themes"));
2444
+ var themes_default = "default" in defaultImport33 ? defaultImport33.default : defaultImport33;
2445
+
2437
2446
  // src/common/hocs/FixedSizeContainer.tsx
2438
2447
  var Item = styled_components_default.div.attrs(({ width }) => ({
2439
2448
  style: {
@@ -2489,7 +2498,7 @@ var withFixedSizeContainer = (Viz) => {
2489
2498
  FixSizeItem,
2490
2499
  {
2491
2500
  "data-test": "fix-size-item",
2492
- "data-splunk-visualization-version": "28.8.0 - 633c53372",
2501
+ "data-splunk-visualization-version": "28.9.0 - 96b03188d",
2493
2502
  width,
2494
2503
  height,
2495
2504
  backgroundColor
@@ -2510,6 +2519,14 @@ var shouldShowIconPlaceholder = (dataSources, loading = false) => {
2510
2519
  const noFields = fields === void 0;
2511
2520
  return loading || noData || noFields;
2512
2521
  };
2522
+ var PlaceholderContainer = styled_components_default.div`
2523
+ /* The inline token color wins when supported. Older browsers discard an
2524
+ unsupported oklch value and retain this inherited fallback instead. */
2525
+ color: ${(0, themes_exports.pick)({
2526
+ dark: "#fafafa",
2527
+ light: "#2c2c2c"
2528
+ })};
2529
+ `;
2513
2530
  var IconPlaceholder = (props) => {
2514
2531
  const {
2515
2532
  width = SplunkVisualization_default.defaults.width,
@@ -2524,7 +2541,6 @@ var IconPlaceholder = (props) => {
2524
2541
  style: {
2525
2542
  left: "50%",
2526
2543
  top: "50%",
2527
- color: iconColor,
2528
2544
  opacity: 0.15,
2529
2545
  position: "absolute",
2530
2546
  transform: "translate(-50%, -50%)"
@@ -2534,7 +2550,14 @@ var IconPlaceholder = (props) => {
2534
2550
  "data-test": "icon-placeholder"
2535
2551
  });
2536
2552
  }
2537
- return /* @__PURE__ */ react_exports.createElement("div", { style: { width, height, background: backgroundColor } }, content);
2553
+ return /* @__PURE__ */ react_exports.createElement(
2554
+ PlaceholderContainer,
2555
+ {
2556
+ "data-test": "icon-placeholder-container",
2557
+ style: { width, height, background: backgroundColor, color: iconColor }
2558
+ },
2559
+ content
2560
+ );
2538
2561
  };
2539
2562
  var IconPlaceholder_default = FixedSizeContainer_default(IconPlaceholder);
2540
2563
 
@@ -2737,16 +2760,16 @@ var FeatureFlags_exports = {};
2737
2760
  __export(FeatureFlags_exports, {
2738
2761
  default: () => FeatureFlags_default
2739
2762
  });
2740
- var defaultImport33 = __toESM(require("@splunk/visualization-context/FeatureFlags"));
2763
+ var defaultImport34 = __toESM(require("@splunk/visualization-context/FeatureFlags"));
2741
2764
  __reExport(FeatureFlags_exports, require("@splunk/visualization-context/FeatureFlags"));
2742
- var FeatureFlags_default = "default" in defaultImport33 ? defaultImport33.default : defaultImport33;
2765
+ var FeatureFlags_default = "default" in defaultImport34 ? defaultImport34.default : defaultImport34;
2743
2766
 
2744
2767
  // src/common/utils/featureFlagUtils.ts
2745
2768
  var getFeatureFlag = (context, flagName) => {
2746
- if (context && Object.keys(context).find((key) => key === flagName)) {
2769
+ if (context && Object.keys(context).includes(flagName)) {
2747
2770
  return context[flagName];
2748
2771
  }
2749
- if (Object.keys(FeatureFlags_default).find((key) => key === flagName)) {
2772
+ if (Object.keys(FeatureFlags_default).includes(flagName)) {
2750
2773
  return FeatureFlags_default[flagName];
2751
2774
  }
2752
2775
  return false;
@@ -2757,9 +2780,9 @@ var trellisUtils_exports = {};
2757
2780
  __export(trellisUtils_exports, {
2758
2781
  default: () => trellisUtils_default
2759
2782
  });
2760
- var defaultImport34 = __toESM(require("@splunk/visualizations-shared/trellisUtils"));
2783
+ var defaultImport35 = __toESM(require("@splunk/visualizations-shared/trellisUtils"));
2761
2784
  __reExport(trellisUtils_exports, require("@splunk/visualizations-shared/trellisUtils"));
2762
- var trellisUtils_default = "default" in defaultImport34 ? defaultImport34.default : defaultImport34;
2785
+ var trellisUtils_default = "default" in defaultImport35 ? defaultImport35.default : defaultImport35;
2763
2786
 
2764
2787
  // src/common/utils/trellisUtils.ts
2765
2788
  var turnOffLegendDisplayWhenTrellisIsOn = (isTrellisOn, options) => {
@@ -2776,9 +2799,9 @@ var visualization_canvas_exports = {};
2776
2799
  __export(visualization_canvas_exports, {
2777
2800
  default: () => visualization_canvas_default
2778
2801
  });
2779
- var defaultImport35 = __toESM(require("@splunk/visualization-canvas"));
2802
+ var defaultImport36 = __toESM(require("@splunk/visualization-canvas"));
2780
2803
  __reExport(visualization_canvas_exports, require("@splunk/visualization-canvas"));
2781
- var visualization_canvas_default = "default" in defaultImport35 ? defaultImport35.default : defaultImport35;
2804
+ var visualization_canvas_default = "default" in defaultImport36 ? defaultImport36.default : defaultImport36;
2782
2805
 
2783
2806
  // src/common/components/VizStyleWrapper.jsx
2784
2807
  var VizStyleWrapper = styled_components_default.div.attrs(({ dataTestKey }) => ({
@@ -2800,18 +2823,18 @@ var Triangle_exports = {};
2800
2823
  __export(Triangle_exports, {
2801
2824
  default: () => Triangle_default
2802
2825
  });
2803
- var defaultImport36 = __toESM(require("@splunk/react-icons/Triangle"));
2826
+ var defaultImport37 = __toESM(require("@splunk/react-icons/Triangle"));
2804
2827
  __reExport(Triangle_exports, require("@splunk/react-icons/Triangle"));
2805
- var Triangle_default = "default" in defaultImport36 ? defaultImport36.default : defaultImport36;
2828
+ var Triangle_default = "default" in defaultImport37 ? defaultImport37.default : defaultImport37;
2806
2829
 
2807
2830
  // esm-externals:@splunk/visualizations-shared/propUtils
2808
2831
  var propUtils_exports = {};
2809
2832
  __export(propUtils_exports, {
2810
2833
  default: () => propUtils_default
2811
2834
  });
2812
- var defaultImport37 = __toESM(require("@splunk/visualizations-shared/propUtils"));
2835
+ var defaultImport38 = __toESM(require("@splunk/visualizations-shared/propUtils"));
2813
2836
  __reExport(propUtils_exports, require("@splunk/visualizations-shared/propUtils"));
2814
- var propUtils_default = "default" in defaultImport37 ? defaultImport37.default : defaultImport37;
2837
+ var propUtils_default = "default" in defaultImport38 ? defaultImport38.default : defaultImport38;
2815
2838
 
2816
2839
  // src/common/chartingUtils.ts
2817
2840
  var DEFAULT_LINE_WIDTH = 2;
@@ -2844,7 +2867,7 @@ var truncateData = (dataSet, truncationLimit) => {
2844
2867
  if (!dataSet) {
2845
2868
  return null;
2846
2869
  }
2847
- const limit = parseInt(truncationLimit, 10);
2870
+ const limit = Number.parseInt(truncationLimit, 10);
2848
2871
  if (!limit || limit <= 0) {
2849
2872
  return dataSet;
2850
2873
  }
@@ -2876,9 +2899,9 @@ var shouldEnableSearchZoom = (eventHandlers = [], xField = "") => {
2876
2899
  const xAxisIsTime = xField === "_time";
2877
2900
  return !!rangeSelectEventHandler && xAxisIsTime;
2878
2901
  };
2879
- var canvasSupportedTimeSeriesCharts = ["splunk.line", "splunk.area"];
2902
+ var canvasSupportedTimeSeriesCharts = /* @__PURE__ */ new Set(["splunk.line", "splunk.area"]);
2880
2903
  var isTimeSeriesCanvasRenderSupported = (vizConfigKey) => {
2881
- return canvasSupportedTimeSeriesCharts.includes(vizConfigKey);
2904
+ return canvasSupportedTimeSeriesCharts.has(vizConfigKey);
2882
2905
  };
2883
2906
  var filterChartDataFromInternalFields = (chartData) => {
2884
2907
  const { fields, columns } = chartData;
@@ -2894,7 +2917,7 @@ var filterChartDataFromInternalFields = (chartData) => {
2894
2917
  return { fields: filteredFields, columns: filteredColumns };
2895
2918
  };
2896
2919
  var convert2DArrayToNumbers = (arr) => {
2897
- return arr.map((subArray) => subArray.map((element) => parseFloat(element)));
2920
+ return arr.map((subArray) => subArray.map((element) => Number.parseFloat(element)));
2898
2921
  };
2899
2922
  var parseAxisValue = (val) => {
2900
2923
  if (val === void 0 || val === null || val === "auto" || val === "") {
@@ -2932,6 +2955,7 @@ var getLegend = (props) => {
2932
2955
  return (0, visualization_canvas_exports.TopLegendFactory)(__spreadValues({
2933
2956
  wrap: true
2934
2957
  }, commonLegendProps));
2958
+ // Note: By default, use right legend
2935
2959
  default:
2936
2960
  return (0, visualization_canvas_exports.SideLegendFactory)(__spreadValues({}, commonLegendProps));
2937
2961
  }
@@ -3064,10 +3088,10 @@ var getSeriesOverrides = (opts) => {
3064
3088
  let spanGaps;
3065
3089
  if (nullValueMode === "gaps") {
3066
3090
  spanGaps = false;
3067
- } else if (nullValueMode != null) {
3068
- spanGaps = true;
3069
- } else {
3091
+ } else if (nullValueMode == null) {
3070
3092
  spanGaps = void 0;
3093
+ } else {
3094
+ spanGaps = true;
3071
3095
  }
3072
3096
  const replaceNullsWithZero = nullValueMode === "zero" ? true : void 0;
3073
3097
  const isAreaChart = type === "area";
@@ -3437,11 +3461,11 @@ var TimeSeriesChartWrapper = (props) => {
3437
3461
  y2AxisMajorUnitFromSimpleXML,
3438
3462
  y2AxisMajorTickInterval
3439
3463
  );
3440
- const xAxisMajorTickSizeNum = xAxisMajorTickSize != null ? Number(xAxisMajorTickSize) : void 0;
3441
- const yAxisMajorTickSizeNum = yAxisMajorTickSize != null ? Number(yAxisMajorTickSize) : void 0;
3442
- const y2AxisMajorTickSizeNum = y2AxisMajorTickSize != null ? Number(y2AxisMajorTickSize) : void 0;
3443
- const yAxisMinorTickSizeNum = yAxisMinorTickSize != null ? Number(yAxisMinorTickSize) : void 0;
3444
- const y2AxisMinorTickSizeNum = y2AxisMinorTickSize != null ? Number(y2AxisMinorTickSize) : void 0;
3464
+ const xAxisMajorTickSizeNum = xAxisMajorTickSize == null ? void 0 : Number(xAxisMajorTickSize);
3465
+ const yAxisMajorTickSizeNum = yAxisMajorTickSize == null ? void 0 : Number(yAxisMajorTickSize);
3466
+ const y2AxisMajorTickSizeNum = y2AxisMajorTickSize == null ? void 0 : Number(y2AxisMajorTickSize);
3467
+ const yAxisMinorTickSizeNum = yAxisMinorTickSize == null ? void 0 : Number(yAxisMinorTickSize);
3468
+ const y2AxisMinorTickSizeNum = y2AxisMinorTickSize == null ? void 0 : Number(y2AxisMinorTickSize);
3445
3469
  const areaOpacityForCanvas = getAreaOpacityForCanvas(areaOpacity);
3446
3470
  const seriesColors = seriesColorsStr ? JSON.parse(seriesColorsStr) : void 0;
3447
3471
  const seriesColorsByField = fieldColors ? JSON.parse(fieldColors) : void 0;
@@ -3853,6 +3877,76 @@ var buildEventCallbackProps = (supportedEvents, evaluatedOptionsToUse, onEventTr
3853
3877
  });
3854
3878
  return result;
3855
3879
  };
3880
+ var buildAllEventCallbackProps = (events, evaluatedOptionsToUse, onEventTrigger, { supportsEvents, hasEventHandlers, mode }) => {
3881
+ if (!supportsEvents) return {};
3882
+ const defaultEvents = {};
3883
+ const userEvents = {};
3884
+ Object.entries(events || {}).forEach(([eventKey, eventConfig]) => {
3885
+ (eventConfig.source === "default" ? defaultEvents : userEvents)[eventKey] = eventConfig;
3886
+ });
3887
+ const userProps = hasEventHandlers && mode === "view" ? buildEventCallbackProps(userEvents, evaluatedOptionsToUse, onEventTrigger) : {};
3888
+ return __spreadValues(__spreadValues({}, userProps), buildEventCallbackProps(defaultEvents, evaluatedOptionsToUse, onEventTrigger));
3889
+ };
3890
+ var applyContextTimezone = (localeContext) => {
3891
+ if (localeContext.serializedTimezone && !moment_default.getDefaultSplunkTimezone()) {
3892
+ moment_default.setDefaultSplunkTimezone(localeContext.serializedTimezone);
3893
+ }
3894
+ };
3895
+ var getAsyncOptionsEvaluationParams = ({
3896
+ visualizationID,
3897
+ props,
3898
+ optionsToEvaluate,
3899
+ downsampledDataSources,
3900
+ vizConfig,
3901
+ bypassCloneDeepOptionScope,
3902
+ lazyLoadingDataFrame
3903
+ }) => {
3904
+ return {
3905
+ visualizationID,
3906
+ props,
3907
+ options: __spreadValues({}, optionsToEvaluate),
3908
+ dataSources: downsampledDataSources,
3909
+ theme: vizConfig.themes,
3910
+ bypassCloneDeepOptionScope,
3911
+ lazyLoadingDataFrame
3912
+ };
3913
+ };
3914
+ var evaluateOptionsSync = ({
3915
+ optionsToEvaluate,
3916
+ downsampledDataSources,
3917
+ dataSourcesInState,
3918
+ dataFramesInState,
3919
+ setDataSourcesInState,
3920
+ setDataFramesInState,
3921
+ computeDataFrames,
3922
+ featureFlagContext,
3923
+ themeFunc
3924
+ }) => {
3925
+ let dataFrames = dataFramesInState;
3926
+ if (downsampledDataSources !== dataSourcesInState) {
3927
+ setDataSourcesInState(downsampledDataSources);
3928
+ dataFrames = Options_exports.Options.dataFrameFromDataSource(
3929
+ downsampledDataSources,
3930
+ getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
3931
+ );
3932
+ setDataFramesInState(dataFrames);
3933
+ }
3934
+ let mergedFrames = dataFrames;
3935
+ if (computeDataFrames && dataFrames) {
3936
+ const derivedFrames = computeDataFrames({
3937
+ dataSources: downsampledDataSources,
3938
+ options: optionsToEvaluate.options
3939
+ });
3940
+ mergedFrames = __spreadValues(__spreadValues({}, dataFrames), derivedFrames);
3941
+ }
3942
+ return Options_exports.Options.evaluate(
3943
+ optionsToEvaluate,
3944
+ downsampledDataSources,
3945
+ themeFunc,
3946
+ mergedFrames,
3947
+ getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
3948
+ );
3949
+ };
3856
3950
  var withDashboardViz = (opts) => {
3857
3951
  const {
3858
3952
  ReactViz,
@@ -3884,11 +3978,7 @@ var withDashboardViz = (opts) => {
3884
3978
  onRequestParamsChange = lodash_exports.noop
3885
3979
  } = props;
3886
3980
  const localeContext = react_exports.useContext(TimezoneContext_default);
3887
- if (localeContext.serializedTimezone) {
3888
- if (!moment_default.getDefaultSplunkTimezone()) {
3889
- moment_default.setDefaultSplunkTimezone(localeContext.serializedTimezone);
3890
- }
3891
- }
3981
+ applyContextTimezone(localeContext);
3892
3982
  const themeFunc = (themeVar) => {
3893
3983
  var _a2, _b;
3894
3984
  return (_b = (_a2 = vizConfig.themes)[themeVar]) == null ? void 0 : _b.call(_a2, props);
@@ -3916,7 +4006,12 @@ var withDashboardViz = (opts) => {
3916
4006
  featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableAcceleratedRender
3917
4007
  );
3918
4008
  const isAcceleratedRenderOn = isAcceleratedRenderFeatureFlagOn2 && isTimeSeriesCanvasRenderSupported(vizConfig.key) && (options == null ? void 0 : options.acceleratedRender) === true;
3919
- const isMounted = react_exports.useRef(true);
4009
+ const bypassCloneDeepOptionScope = Boolean(
4010
+ getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
4011
+ );
4012
+ const lazyLoadingDataFrame = Boolean(
4013
+ getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
4014
+ );
3920
4015
  const optionsToEvaluate = react_exports.useMemo(() => {
3921
4016
  var _a2;
3922
4017
  const legendDisplay = turnOffLegendDisplayWhenTrellisIsOn(isTrellisOn, options);
@@ -3955,63 +4050,74 @@ var withDashboardViz = (opts) => {
3955
4050
  threshold,
3956
4051
  isDownsamplingEnabled
3957
4052
  });
3958
- evaluatedOptions = useDeepMemo(() => {
4053
+ const asyncOptionsEvaluationParams = useDeepMemo(
4054
+ () => getAsyncOptionsEvaluationParams({
4055
+ visualizationID,
4056
+ props,
4057
+ optionsToEvaluate,
4058
+ downsampledDataSources,
4059
+ vizConfig,
4060
+ bypassCloneDeepOptionScope,
4061
+ lazyLoadingDataFrame
4062
+ }),
4063
+ [
4064
+ visualizationID,
4065
+ optionsToEvaluate,
4066
+ downsampledDataSources,
4067
+ vizConfig,
4068
+ bypassCloneDeepOptionScope,
4069
+ lazyLoadingDataFrame,
4070
+ currentThemeFamily,
4071
+ currentThemeColorScheme,
4072
+ currentThemeDensity,
4073
+ localeContext.serializedTimezone
4074
+ ]
4075
+ );
4076
+ react_exports.useEffect(() => {
4077
+ if (!useAsyncEvaluatedOptions) {
4078
+ return void 0;
4079
+ }
4080
+ let ownsEvaluation = true;
3959
4081
  try {
3960
- if (useAsyncEvaluatedOptions) {
3961
- const asyncDynamicOptionsEvaluatorParams = {
3962
- visualizationID,
3963
- props,
3964
- options: optionsToEvaluate,
3965
- dataSources: downsampledDataSources,
3966
- theme: vizConfig.themes,
3967
- bypassCloneDeepOptionScope: Boolean(
3968
- getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
3969
- ),
3970
- lazyLoadingDataFrame: Boolean(
3971
- getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
3972
- )
3973
- };
3974
- async_dynamic_options_evaluator_default.evaluate(asyncDynamicOptionsEvaluatorParams).then((results) => {
4082
+ async_dynamic_options_evaluator_default.evaluate(asyncOptionsEvaluationParams).then((results) => {
4083
+ if (ownsEvaluation) {
3975
4084
  setEvaluatedOptionsAsync(results.results);
3976
- }).catch(() => {
3977
- if (isMounted.current) {
3978
- setUseAsyncEvaluatedOptions(false);
3979
- }
3980
- });
3981
- } else {
3982
- let dataFrames = dataFramesInState;
3983
- if (downsampledDataSources !== dataSourcesInState) {
3984
- setDataSourcesInState(downsampledDataSources);
3985
- dataFrames = Options_exports.Options.dataFrameFromDataSource(
3986
- downsampledDataSources,
3987
- getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
3988
- );
3989
- setDataFramesInState(dataFrames);
3990
4085
  }
3991
- let mergedFrames = dataFrames;
3992
- if (computeDataFrames && dataFrames) {
3993
- const derivedFrames = computeDataFrames({
3994
- dataSources: downsampledDataSources,
3995
- options: optionsToEvaluate.options
3996
- });
3997
- mergedFrames = __spreadValues(__spreadValues({}, dataFrames), derivedFrames);
4086
+ }).catch(() => {
4087
+ if (ownsEvaluation) {
4088
+ setUseAsyncEvaluatedOptions(false);
3998
4089
  }
3999
- const result = Options_exports.Options.evaluate(
4000
- optionsToEvaluate,
4001
- downsampledDataSources,
4002
- themeFunc,
4003
- mergedFrames,
4004
- getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
4005
- );
4006
- return result;
4090
+ });
4091
+ } catch (e) {
4092
+ setUseAsyncEvaluatedOptions(false);
4093
+ }
4094
+ return () => {
4095
+ ownsEvaluation = false;
4096
+ async_dynamic_options_evaluator_default.reset(visualizationID);
4097
+ };
4098
+ }, [asyncOptionsEvaluationParams, useAsyncEvaluatedOptions, visualizationID]);
4099
+ evaluatedOptions = useDeepMemo(() => {
4100
+ try {
4101
+ if (useAsyncEvaluatedOptions) {
4102
+ return {};
4007
4103
  }
4104
+ return evaluateOptionsSync({
4105
+ optionsToEvaluate,
4106
+ downsampledDataSources,
4107
+ dataSourcesInState,
4108
+ dataFramesInState,
4109
+ setDataSourcesInState,
4110
+ setDataFramesInState,
4111
+ computeDataFrames,
4112
+ featureFlagContext,
4113
+ themeFunc
4114
+ });
4008
4115
  } catch (e) {
4009
4116
  if (e instanceof Error) {
4010
4117
  console.error(`unexpected error evaluating options: ${e.message}`);
4011
4118
  }
4012
4119
  return {};
4013
4120
  }
4014
- return {};
4015
4121
  }, [
4016
4122
  currentThemeFamily,
4017
4123
  currentThemeColorScheme,
@@ -4021,7 +4127,7 @@ var withDashboardViz = (opts) => {
4021
4127
  localeContext.serializedTimezone,
4022
4128
  useAsyncEvaluatedOptions
4023
4129
  ]);
4024
- const evaluatedOptionsToUse = !useAsyncEvaluatedOptions ? evaluatedOptions : evaluatedOptionsAsync;
4130
+ const evaluatedOptionsToUse = useAsyncEvaluatedOptions ? evaluatedOptionsAsync : evaluatedOptions;
4025
4131
  let dataSourceMetadata = {};
4026
4132
  const OptionKey = "paginateDataSourceKey";
4027
4133
  const optsKey = (0, lodash_exports.has)(evaluatedOptionsToUse, OptionKey) && evaluatedOptionsToUse[OptionKey];
@@ -4043,7 +4149,7 @@ var withDashboardViz = (opts) => {
4043
4149
  sortParams,
4044
4150
  paginatorParams
4045
4151
  };
4046
- if (vizConfig.supports.indexOf("page-and-sort" /* PAGE_AND_SORT */) === -1 && !(0, lodash_exports.has)(dataSources, paginateDataSourceKey)) {
4152
+ if (!vizConfig.supports.includes("page-and-sort" /* PAGE_AND_SORT */) && !(0, lodash_exports.has)(dataSources, paginateDataSourceKey)) {
4047
4153
  dataSourceMetadata = {};
4048
4154
  }
4049
4155
  const clonedEvaluatedOptions = __spreadValues({}, evaluatedOptionsToUse);
@@ -4053,14 +4159,6 @@ var withDashboardViz = (opts) => {
4053
4159
  react_exports.useEffect(() => {
4054
4160
  onComputedProps(clonedEvaluatedOptions);
4055
4161
  });
4056
- react_exports.useEffect(() => {
4057
- return () => {
4058
- if (useAsyncEvaluatedOptions) {
4059
- isMounted.current = false;
4060
- async_dynamic_options_evaluator_default.reset(visualizationID);
4061
- }
4062
- };
4063
- }, []);
4064
4162
  const { requiredProps = [], supports } = vizConfig;
4065
4163
  const missing = missingKeys(requiredProps, evaluatedOptionsToUse);
4066
4164
  if (missing.length > 0 && supports.includes("placeholder" /* PLACEHOLDER */) && vizConfig.key !== "splunk.singlevalue") {
@@ -4075,7 +4173,16 @@ var withDashboardViz = (opts) => {
4075
4173
  }
4076
4174
  );
4077
4175
  }
4078
- const eventCallbackProps = hasEventHandlers && mode === "view" && vizConfig.supports.includes("events" /* EVENTS */) ? buildEventCallbackProps(vizConfig.events, evaluatedOptionsToUse, onEventTrigger) : {};
4176
+ const eventCallbackProps = buildAllEventCallbackProps(
4177
+ vizConfig.events,
4178
+ evaluatedOptionsToUse,
4179
+ onEventTrigger,
4180
+ {
4181
+ supportsEvents: vizConfig.supports.includes("events" /* EVENTS */),
4182
+ hasEventHandlers,
4183
+ mode
4184
+ }
4185
+ );
4079
4186
  const computedVizProps = computeVizProps2(__spreadProps(__spreadValues(__spreadProps(__spreadValues(__spreadValues({}, props), evaluatedOptionsToUse), {
4080
4187
  // Align option transformation with the actual renderer selected below.
4081
4188
  // This prevents canvas-only option preservation from leaking into Highcharts mode.
@@ -4103,8 +4210,9 @@ var withDashboardViz = (opts) => {
4103
4210
  onEventTrigger: SplunkVisualization_default.defaults.onEventTrigger
4104
4211
  });
4105
4212
  DashboardViz.config = vizConfig;
4106
- return (0, styled_components_exports.withTheme)(
4107
- withPlaceholder_default(withEditModeCover_default(DashboardViz, disableEditModeCover), useIconPlaceholder)
4213
+ return Object.assign(
4214
+ (0, styled_components_exports.withTheme)(withPlaceholder_default(withEditModeCover_default(DashboardViz, disableEditModeCover), useIconPlaceholder)),
4215
+ { config: vizConfig }
4108
4216
  );
4109
4217
  };
4110
4218
  var withDashboardViz_default = withDashboardViz;