@splunk/visualizations 28.7.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 (375) 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 +56 -0
  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 +251 -143
  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 +6 -1
  69. package/Markdown.config.js.map +2 -2
  70. package/Markdown.js +226 -95
  71. package/Markdown.js.map +3 -3
  72. package/MarkerGauge.js +247 -137
  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 +20 -4
  127. package/RichText/PureRichText/InnerEditor.d.ts.map +1 -1
  128. package/RichText/PureRichText/PureRichText.d.ts +21 -9
  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/useContentSave.d.ts +6 -0
  138. package/RichText/PureRichText/hooks/useContentSave.d.ts.map +1 -1
  139. package/RichText/PureRichText/hooks/useContentSync.d.ts +13 -1
  140. package/RichText/PureRichText/hooks/useContentSync.d.ts.map +1 -1
  141. package/RichText/PureRichText/hooks/useDashboardKeyboardNav.d.ts +2 -7
  142. package/RichText/PureRichText/hooks/useDashboardKeyboardNav.d.ts.map +1 -1
  143. package/RichText/PureRichText/hooks/useEditorSetup.d.ts +8 -4
  144. package/RichText/PureRichText/hooks/useEditorSetup.d.ts.map +1 -1
  145. package/RichText/PureRichText/hooks/useFakeHighlight.d.ts +1 -16
  146. package/RichText/PureRichText/hooks/useFakeHighlight.d.ts.map +1 -1
  147. package/RichText/PureRichText/hooks/useFocusHandlers.d.ts +2 -4
  148. package/RichText/PureRichText/hooks/useFocusHandlers.d.ts.map +1 -1
  149. package/RichText/PureRichText/hooks/useKeyboardShortcuts.d.ts.map +1 -1
  150. package/RichText/PureRichText/hooks/useMouseHandlers.d.ts +3 -7
  151. package/RichText/PureRichText/hooks/useMouseHandlers.d.ts.map +1 -1
  152. package/RichText/PureRichText/hooks/useStepFontSize.d.ts +2 -2
  153. package/RichText/PureRichText/hooks/useStepLineSpacing.d.ts +2 -3
  154. package/RichText/PureRichText/hooks/useStepLineSpacing.d.ts.map +1 -1
  155. package/RichText/PureRichText/hooks/useTokenMap.d.ts +31 -40
  156. package/RichText/PureRichText/hooks/useTokenMap.d.ts.map +1 -1
  157. package/RichText/PureRichText/renderers/ElementRenderer.d.ts +2 -5
  158. package/RichText/PureRichText/renderers/ElementRenderer.d.ts.map +1 -1
  159. package/RichText/PureRichText/renderers/LeafRenderer.d.ts +0 -4
  160. package/RichText/PureRichText/renderers/LeafRenderer.d.ts.map +1 -1
  161. package/RichText/PureRichText/types.d.ts +21 -0
  162. package/RichText/PureRichText/types.d.ts.map +1 -1
  163. package/RichText/PureRichText/utils/slateUtils.d.ts +26 -2
  164. package/RichText/PureRichText/utils/slateUtils.d.ts.map +1 -1
  165. package/RichText/RichText.d.ts +5 -1
  166. package/RichText/RichText.d.ts.map +1 -1
  167. package/RichText/config.d.ts.map +1 -1
  168. package/RichText.config.js +19 -1
  169. package/RichText.config.js.map +2 -2
  170. package/RichText.js +2311 -835
  171. package/RichText.js.map +4 -4
  172. package/Sankey/PureSankey/PureSankey.d.ts +2 -0
  173. package/Sankey/PureSankey/PureSankey.d.ts.map +1 -1
  174. package/Sankey/PureSankey/SankeyLink.d.ts +3 -1
  175. package/Sankey/PureSankey/SankeyLink.d.ts.map +1 -1
  176. package/Sankey/PureSankey/SankeyNode.d.ts +5 -2
  177. package/Sankey/PureSankey/SankeyNode.d.ts.map +1 -1
  178. package/Sankey/PureSankey/SankeyUtils.d.ts.map +1 -1
  179. package/Sankey/Sankey.d.ts +3 -1
  180. package/Sankey/Sankey.d.ts.map +1 -1
  181. package/Sankey.js +508 -219
  182. package/Sankey.js.map +4 -4
  183. package/Scatter.config.js +3 -5
  184. package/Scatter.config.js.map +2 -2
  185. package/Scatter.js +244 -146
  186. package/Scatter.js.map +4 -4
  187. package/SingleValue/SingleValue.d.ts.map +1 -1
  188. package/SingleValue.js +273 -173
  189. package/SingleValue.js.map +4 -4
  190. package/SingleValueBasic.js +4 -4
  191. package/SingleValueBasic.js.map +2 -2
  192. package/SingleValueIcon/SingleValueIcon.d.ts.map +1 -1
  193. package/SingleValueIcon.js +264 -164
  194. package/SingleValueIcon.js.map +4 -4
  195. package/SingleValueRadial.js +267 -167
  196. package/SingleValueRadial.js.map +4 -4
  197. package/SparkLine/SparkLine.d.ts.map +1 -1
  198. package/SparkLine.js.map +2 -2
  199. package/Table/PureTable.d.ts +2 -0
  200. package/Table/PureTable.d.ts.map +1 -1
  201. package/Table/Table.d.ts +2 -5
  202. package/Table/Table.d.ts.map +1 -1
  203. package/Table/config.d.ts.map +1 -1
  204. package/Table/hooks.d.ts.map +1 -1
  205. package/Table.config.js +8 -1
  206. package/Table.config.js.map +2 -2
  207. package/Table.js +374 -270
  208. package/Table.js.map +4 -4
  209. package/Timeline/PureTimeline/PureTimeline.d.ts +6 -5
  210. package/Timeline/PureTimeline/PureTimeline.d.ts.map +1 -1
  211. package/Timeline/PureTimeline/src/CursorPlugin.d.ts +1 -0
  212. package/Timeline/PureTimeline/src/CursorPlugin.d.ts.map +1 -1
  213. package/Timeline/PureTimeline/src/TimelineLegend.d.ts +10 -7
  214. package/Timeline/PureTimeline/src/TimelineLegend.d.ts.map +1 -1
  215. package/Timeline/PureTimeline/src/TimelineTooltip.d.ts +5 -1
  216. package/Timeline/PureTimeline/src/TimelineTooltip.d.ts.map +1 -1
  217. package/Timeline/PureTimeline/src/TimelineUplot.d.ts +19 -2
  218. package/Timeline/PureTimeline/src/TimelineUplot.d.ts.map +1 -1
  219. package/Timeline/PureTimeline/src/TimelineYAxis.d.ts.map +1 -1
  220. package/Timeline/PureTimeline/src/XAxisPlugin.d.ts +1 -0
  221. package/Timeline/PureTimeline/src/XAxisPlugin.d.ts.map +1 -1
  222. package/Timeline/PureTimeline/src/utils/timelineUtils.d.ts +8 -0
  223. package/Timeline/PureTimeline/src/utils/timelineUtils.d.ts.map +1 -1
  224. package/Timeline/Timeline.d.ts +3 -1
  225. package/Timeline/Timeline.d.ts.map +1 -1
  226. package/Timeline.config.js +2 -2
  227. package/Timeline.config.js.map +2 -2
  228. package/Timeline.js +713 -351
  229. package/Timeline.js.map +4 -4
  230. package/Treemap/PureTreemap/components/PureTreemap.d.ts +42 -0
  231. package/Treemap/PureTreemap/components/PureTreemap.d.ts.map +1 -0
  232. package/Treemap/PureTreemap/components/TreemapBreadcrumb.d.ts +10 -0
  233. package/Treemap/PureTreemap/components/TreemapBreadcrumb.d.ts.map +1 -0
  234. package/Treemap/PureTreemap/components/TreemapChildCell.d.ts +28 -0
  235. package/Treemap/PureTreemap/components/TreemapChildCell.d.ts.map +1 -0
  236. package/Treemap/PureTreemap/components/TreemapHeader.d.ts +19 -0
  237. package/Treemap/PureTreemap/components/TreemapHeader.d.ts.map +1 -0
  238. package/Treemap/PureTreemap/components/TreemapHoverTarget.d.ts +17 -0
  239. package/Treemap/PureTreemap/components/TreemapHoverTarget.d.ts.map +1 -0
  240. package/Treemap/PureTreemap/components/TreemapLegend.d.ts +20 -0
  241. package/Treemap/PureTreemap/components/TreemapLegend.d.ts.map +1 -0
  242. package/Treemap/PureTreemap/components/TreemapNode.d.ts +5 -0
  243. package/Treemap/PureTreemap/components/TreemapNode.d.ts.map +1 -0
  244. package/Treemap/PureTreemap/components/TreemapParentNode.d.ts +10 -0
  245. package/Treemap/PureTreemap/components/TreemapParentNode.d.ts.map +1 -0
  246. package/Treemap/PureTreemap/components/TreemapStandaloneNode.d.ts +6 -0
  247. package/Treemap/PureTreemap/components/TreemapStandaloneNode.d.ts.map +1 -0
  248. package/Treemap/PureTreemap/components/TreemapTooltip.d.ts +17 -0
  249. package/Treemap/PureTreemap/components/TreemapTooltip.d.ts.map +1 -0
  250. package/Treemap/PureTreemap/mockdata/data.d.ts +90 -0
  251. package/Treemap/PureTreemap/mockdata/data.d.ts.map +1 -0
  252. package/Treemap/PureTreemap/utils/treemapColorUtils.d.ts +67 -0
  253. package/Treemap/PureTreemap/utils/treemapColorUtils.d.ts.map +1 -0
  254. package/Treemap/PureTreemap/utils/treemapDataColorUtils.d.ts +5 -0
  255. package/Treemap/PureTreemap/utils/treemapDataColorUtils.d.ts.map +1 -0
  256. package/Treemap/PureTreemap/utils/treemapDataUtils.d.ts +14 -0
  257. package/Treemap/PureTreemap/utils/treemapDataUtils.d.ts.map +1 -0
  258. package/Treemap/PureTreemap/utils/treemapLayout.d.ts +49 -0
  259. package/Treemap/PureTreemap/utils/treemapLayout.d.ts.map +1 -0
  260. package/Treemap/PureTreemap/utils/treemapNodeUtils.d.ts +81 -0
  261. package/Treemap/PureTreemap/utils/treemapNodeUtils.d.ts.map +1 -0
  262. package/Treemap/PureTreemap/utils/treemapTypes.d.ts +37 -0
  263. package/Treemap/PureTreemap/utils/treemapTypes.d.ts.map +1 -0
  264. package/Treemap/PureTreemap/utils/treemapUtils.d.ts +76 -0
  265. package/Treemap/PureTreemap/utils/treemapUtils.d.ts.map +1 -0
  266. package/Treemap/Treemap.d.ts +14 -0
  267. package/Treemap/Treemap.d.ts.map +1 -0
  268. package/Treemap/config.d.ts +4 -0
  269. package/Treemap/config.d.ts.map +1 -0
  270. package/Treemap/index.d.ts +3 -0
  271. package/Treemap/index.d.ts.map +1 -0
  272. package/Treemap.config.js +465 -0
  273. package/Treemap.config.js.map +7 -0
  274. package/Treemap.js +6349 -0
  275. package/Treemap.js.map +7 -0
  276. package/common/Charting.js +8 -10
  277. package/common/Charting.js.map +2 -2
  278. package/common/ChartingApi.d.ts.map +1 -1
  279. package/common/ChartingApi.js +5 -2
  280. package/common/ChartingApi.js.map +2 -2
  281. package/common/DocExampleWithVizSandbox.js +3 -3
  282. package/common/DocExampleWithVizSandbox.js.map +2 -2
  283. package/common/GaugeMajorTicks.js.map +2 -2
  284. package/common/GaugeValueMarker.js +1 -0
  285. package/common/GaugeValueMarker.js.map +2 -2
  286. package/common/OptionsDoc.js +1 -1
  287. package/common/OptionsDoc.js.map +2 -2
  288. package/common/OverviewDoc.js +3 -3
  289. package/common/OverviewDoc.js.map +2 -2
  290. package/common/ThemesDoc.js.map +2 -2
  291. package/common/TimeSeriesChartWrapper.js +10 -9
  292. package/common/TimeSeriesChartWrapper.js.map +2 -2
  293. package/common/chartingUtils.d.ts.map +1 -1
  294. package/common/chartingUtils.js +12 -11
  295. package/common/chartingUtils.js.map +2 -2
  296. package/common/components/IconPlaceholder.d.ts.map +1 -1
  297. package/common/docUtils.d.ts.map +1 -1
  298. package/common/docUtils.js +16 -14
  299. package/common/docUtils.js.map +2 -2
  300. package/common/editorConfig/AxesChartDataDisplay.d.ts.map +1 -1
  301. package/common/gaugeUtils.d.ts.map +1 -1
  302. package/common/gaugeUtils.js +11 -5
  303. package/common/gaugeUtils.js.map +2 -2
  304. package/common/hocs/FixedSizeContainer.d.ts.map +1 -1
  305. package/common/hooks/useDynamicHeight.d.ts +67 -0
  306. package/common/hooks/useDynamicHeight.d.ts.map +1 -0
  307. package/common/hooks/useSorting.d.ts.map +1 -1
  308. package/common/interfaces/VizCategory.d.ts +2 -1
  309. package/common/interfaces/VizCategory.d.ts.map +1 -1
  310. package/common/interfaces/VizEvent.d.ts +7 -0
  311. package/common/interfaces/VizEvent.d.ts.map +1 -1
  312. package/common/utils/dataUtils.d.ts.map +1 -1
  313. package/common/utils/dataUtils.js +6 -10
  314. package/common/utils/dataUtils.js.map +2 -2
  315. package/common/utils/featureFlagUtils.js +2 -2
  316. package/common/utils/featureFlagUtils.js.map +2 -2
  317. package/common/utils/focusUtils.js +1 -1
  318. package/common/utils/focusUtils.js.map +2 -2
  319. package/common/utils/mapUtils.d.ts.map +1 -1
  320. package/common/utils/mapUtils.js +14 -18
  321. package/common/utils/mapUtils.js.map +2 -2
  322. package/common/utils/singleValueUtils.js +22 -25
  323. package/common/utils/singleValueUtils.js.map +2 -2
  324. package/common/utils/textUtils.d.ts.map +1 -1
  325. package/common/utils/textUtils.js +37 -23
  326. package/common/utils/textUtils.js.map +2 -2
  327. package/common/utils/trellisUtils.d.ts.map +1 -1
  328. package/common/utils/trellisUtils.js +18 -17
  329. package/common/utils/trellisUtils.js.map +2 -2
  330. package/common/utils/urlUtils.js.map +2 -2
  331. package/common/utils/visualizationTheme.d.ts +15 -0
  332. package/common/utils/visualizationTheme.d.ts.map +1 -0
  333. package/common/utils/visualizationTheme.js +72 -0
  334. package/common/utils/visualizationTheme.js.map +7 -0
  335. package/common/withDashboardViz.d.ts +3 -1
  336. package/common/withDashboardViz.d.ts.map +1 -1
  337. package/common/withDashboardViz.js +216 -105
  338. package/common/withDashboardViz.js.map +4 -4
  339. package/docs-llm/INDEX.md +1 -0
  340. package/docs-llm/area/options.md +84 -84
  341. package/docs-llm/bar/options.md +77 -77
  342. package/docs-llm/bubble/options.md +51 -51
  343. package/docs-llm/choropleth-svg/options.md +5 -5
  344. package/docs-llm/column/options.md +82 -82
  345. package/docs-llm/ellipse/options.md +6 -6
  346. package/docs-llm/events/options.md +6 -6
  347. package/docs-llm/filler-gauge/options.md +16 -16
  348. package/docs-llm/image/options.md +3 -3
  349. package/docs-llm/line/options.md +82 -82
  350. package/docs-llm/link-graph/options.md +16 -16
  351. package/docs-llm/map/options.md +12 -12
  352. package/docs-llm/markdown/options.md +7 -7
  353. package/docs-llm/marker-gauge/options.md +16 -16
  354. package/docs-llm/network-graph/options.md +39 -39
  355. package/docs-llm/parallel-coordinates/options.md +4 -4
  356. package/docs-llm/pie/examples-json.md +195 -0
  357. package/docs-llm/pie/examples-react.md +123 -0
  358. package/docs-llm/pie/options.md +23 -23
  359. package/docs-llm/process-tree/options.md +23 -22
  360. package/docs-llm/punchcard/options.md +23 -23
  361. package/docs-llm/pure-rich-text/options.md +6 -5
  362. package/docs-llm/rectangle/options.md +9 -9
  363. package/docs-llm/rich-text/options.md +6 -5
  364. package/docs-llm/sankey/options.md +9 -9
  365. package/docs-llm/scatter/options.md +57 -57
  366. package/docs-llm/single-value/options.md +39 -39
  367. package/docs-llm/single-value-icon/options.md +33 -33
  368. package/docs-llm/single-value-radial/options.md +31 -31
  369. package/docs-llm/table/options.md +14 -13
  370. package/docs-llm/timeline/options.md +17 -17
  371. package/docs-llm/treemap/examples-json.md +5 -0
  372. package/docs-llm/treemap/examples-react.md +5 -0
  373. package/docs-llm/treemap/options.md +26 -0
  374. package/docs-llm/treemap/overview.md +27 -0
  375. package/package.json +31 -30
package/MarkerGauge.js CHANGED
@@ -218,13 +218,17 @@ var getGaugeBarLength = ({ gaugeLength, value, min, max }) => {
218
218
  if (max < min) {
219
219
  return null;
220
220
  }
221
- if (value >= max) {
221
+ const numericValue = Number(value);
222
+ if (!Number.isFinite(numericValue)) {
223
+ return 0;
224
+ }
225
+ if (numericValue >= max) {
222
226
  return gaugeLength;
223
227
  }
224
- if (value < min) {
228
+ if (numericValue < min) {
225
229
  return 0;
226
230
  }
227
- return gaugeLength * (value - min) / (max - min);
231
+ return gaugeLength * (numericValue - min) / (max - min);
228
232
  };
229
233
  var getGaugeBarStartPositions = ({
230
234
  gaugeStartX,
@@ -346,8 +350,10 @@ var getGradientStops = ({ ranges, orientation }) => {
346
350
  const stopColors = getGradientStopColors({ ranges, orientation });
347
351
  stops.push({ offset: `${offsets[0]}%`, stopColor: stopColors[0] });
348
352
  for (let i = 1; i < ranges.length; i += 1) {
349
- stops.push({ offset: `${offsets[i - 1]}%`, stopColor: stopColors[i] });
350
- stops.push({ offset: `${offsets[i]}%`, stopColor: stopColors[i] });
353
+ stops.push(
354
+ { offset: `${offsets[i - 1]}%`, stopColor: stopColors[i] },
355
+ { offset: `${offsets[i]}%`, stopColor: stopColors[i] }
356
+ );
351
357
  }
352
358
  return stops;
353
359
  };
@@ -795,6 +801,7 @@ var positionLabel = ({ x, y, length, orientation, alignCenter = false }) => {
795
801
  labelRectX = x + length;
796
802
  labelRectY = alignCenter ? y - MARKER_LABEL_HEIGHT / 2 : y - (MARKER_LABEL_HEIGHT - MARKER_THICKNESS) / 2;
797
803
  }
804
+ labelRectY = Math.max(0, labelRectY);
798
805
  const labelX = labelRectX + MARKER_LABEL_WIDTH / 2;
799
806
  const labelY = labelRectY + MARKER_LABEL_HEIGHT / 2;
800
807
  return { labelRectX, labelRectY, labelX, labelY };
@@ -1820,7 +1827,10 @@ var useSortingParams = ({ requestParams, onRequestParamsChange }) => {
1820
1827
  onSort = (e, { sortKey, sortDir }) => {
1821
1828
  if (typeof sortKey === "string") {
1822
1829
  const nextSortDir = (0, lodash_exports.has)(nextSortDirMap, sortDir) ? nextSortDirMap[sortDir] : "none";
1823
- onRequestParamsChange(__spreadValues(__spreadValues({}, requestParams), { offset: 0, sort: { [sortKey]: nextSortDir } }));
1830
+ onRequestParamsChange(__spreadProps(__spreadValues({}, requestParams), {
1831
+ offset: 0,
1832
+ sort: { [sortKey]: nextSortDir }
1833
+ }));
1824
1834
  } else {
1825
1835
  onRequestParamsChange(requestParams);
1826
1836
  }
@@ -1937,7 +1947,7 @@ var Cover = styled_components_default.div`
1937
1947
  bottom: 0;
1938
1948
  `;
1939
1949
  var Blocker = styled_components_default.div.attrs({
1940
- "data-splunk-visualization-version": "28.7.0 - d7b18cab6"
1950
+ "data-splunk-visualization-version": "28.9.0 - 96b03188d"
1941
1951
  })`
1942
1952
  position: relative;
1943
1953
  width: 100%;
@@ -1963,6 +1973,15 @@ var defaultImport28 = __toESM(require("@splunk/visualizations-shared/colorUtils"
1963
1973
  __reExport(colorUtils_exports, require("@splunk/visualizations-shared/colorUtils"));
1964
1974
  var colorUtils_default = "default" in defaultImport28 ? defaultImport28.default : defaultImport28;
1965
1975
 
1976
+ // esm-externals:@splunk/themes
1977
+ var themes_exports = {};
1978
+ __export(themes_exports, {
1979
+ default: () => themes_default
1980
+ });
1981
+ var defaultImport29 = __toESM(require("@splunk/themes"));
1982
+ __reExport(themes_exports, require("@splunk/themes"));
1983
+ var themes_default = "default" in defaultImport29 ? defaultImport29.default : defaultImport29;
1984
+
1966
1985
  // src/common/hocs/FixedSizeContainer.tsx
1967
1986
  var Item = styled_components_default.div.attrs(({ width }) => ({
1968
1987
  style: {
@@ -2018,7 +2037,7 @@ var withFixedSizeContainer = (Viz) => {
2018
2037
  FixSizeItem,
2019
2038
  {
2020
2039
  "data-test": "fix-size-item",
2021
- "data-splunk-visualization-version": "28.7.0 - d7b18cab6",
2040
+ "data-splunk-visualization-version": "28.9.0 - 96b03188d",
2022
2041
  width,
2023
2042
  height,
2024
2043
  backgroundColor
@@ -2039,6 +2058,14 @@ var shouldShowIconPlaceholder = (dataSources, loading = false) => {
2039
2058
  const noFields = fields === void 0;
2040
2059
  return loading || noData || noFields;
2041
2060
  };
2061
+ var PlaceholderContainer = styled_components_default.div`
2062
+ /* The inline token color wins when supported. Older browsers discard an
2063
+ unsupported oklch value and retain this inherited fallback instead. */
2064
+ color: ${(0, themes_exports.pick)({
2065
+ dark: "#fafafa",
2066
+ light: "#2c2c2c"
2067
+ })};
2068
+ `;
2042
2069
  var IconPlaceholder = (props) => {
2043
2070
  const {
2044
2071
  width = SplunkVisualization_default.defaults.width,
@@ -2053,7 +2080,6 @@ var IconPlaceholder = (props) => {
2053
2080
  style: {
2054
2081
  left: "50%",
2055
2082
  top: "50%",
2056
- color: iconColor,
2057
2083
  opacity: 0.15,
2058
2084
  position: "absolute",
2059
2085
  transform: "translate(-50%, -50%)"
@@ -2063,7 +2089,14 @@ var IconPlaceholder = (props) => {
2063
2089
  "data-test": "icon-placeholder"
2064
2090
  });
2065
2091
  }
2066
- return /* @__PURE__ */ react_exports.createElement("div", { style: { width, height, background: backgroundColor } }, content);
2092
+ return /* @__PURE__ */ react_exports.createElement(
2093
+ PlaceholderContainer,
2094
+ {
2095
+ "data-test": "icon-placeholder-container",
2096
+ style: { width, height, background: backgroundColor, color: iconColor }
2097
+ },
2098
+ content
2099
+ );
2067
2100
  };
2068
2101
  var IconPlaceholder_default = FixedSizeContainer_default(IconPlaceholder);
2069
2102
 
@@ -2128,7 +2161,7 @@ var largestTriangleThreeBuckets = (data, threshold, preferredDownsampleIndices)
2128
2161
  let avgY = 0;
2129
2162
  let avgRangeStart = Math.floor((i + 1) * every) + 1;
2130
2163
  let avgRangeEnd = Math.floor((i + 2) * every) + 1;
2131
- avgRangeEnd = avgRangeEnd < dataLength ? avgRangeEnd : dataLength;
2164
+ avgRangeEnd = Math.min(avgRangeEnd, dataLength);
2132
2165
  const avgRangeLength = avgRangeEnd - avgRangeStart;
2133
2166
  for (; avgRangeStart < avgRangeEnd; avgRangeStart++) {
2134
2167
  avgX += Number(data[avgRangeStart][0]);
@@ -2163,9 +2196,9 @@ var largestTriangleThreeBuckets = (data, threshold, preferredDownsampleIndices)
2163
2196
  };
2164
2197
  var strictlyCoerceYColumn = (column, options) => {
2165
2198
  const isNullCoercionEnabled = options.nullValueDisplay === "zero";
2166
- const canLooselyCoerceSomeValues = column.findIndex(
2199
+ const canLooselyCoerceSomeValues = column.some(
2167
2200
  (value) => (0, numberUtils_exports.startsWithNumber)(`${value}`) || isNullCoercionEnabled && value === null
2168
- ) >= 0;
2201
+ );
2169
2202
  const coercedColumn = [];
2170
2203
  const canDownsampleColumn = !column.some((value) => {
2171
2204
  const coercedValue = Number(value);
@@ -2184,7 +2217,7 @@ var strictlyCoerceYColumn = (column, options) => {
2184
2217
  };
2185
2218
  var strictlyCoerceXColumn = (column, fieldType) => {
2186
2219
  if (fieldType === "number") {
2187
- const coercedXColumn = column.map((xValue) => Number(xValue));
2220
+ const coercedXColumn = column.map(Number);
2188
2221
  if (isColumnStrictlyIncreasing(coercedXColumn, fieldType)) {
2189
2222
  return coercedXColumn;
2190
2223
  }
@@ -2483,16 +2516,16 @@ var FeatureFlags_exports = {};
2483
2516
  __export(FeatureFlags_exports, {
2484
2517
  default: () => FeatureFlags_default
2485
2518
  });
2486
- var defaultImport29 = __toESM(require("@splunk/visualization-context/FeatureFlags"));
2519
+ var defaultImport30 = __toESM(require("@splunk/visualization-context/FeatureFlags"));
2487
2520
  __reExport(FeatureFlags_exports, require("@splunk/visualization-context/FeatureFlags"));
2488
- var FeatureFlags_default = "default" in defaultImport29 ? defaultImport29.default : defaultImport29;
2521
+ var FeatureFlags_default = "default" in defaultImport30 ? defaultImport30.default : defaultImport30;
2489
2522
 
2490
2523
  // src/common/utils/featureFlagUtils.ts
2491
2524
  var getFeatureFlag = (context, flagName) => {
2492
- if (context && Object.keys(context).find((key) => key === flagName)) {
2525
+ if (context && Object.keys(context).includes(flagName)) {
2493
2526
  return context[flagName];
2494
2527
  }
2495
- if (Object.keys(FeatureFlags_default).find((key) => key === flagName)) {
2528
+ if (Object.keys(FeatureFlags_default).includes(flagName)) {
2496
2529
  return FeatureFlags_default[flagName];
2497
2530
  }
2498
2531
  return false;
@@ -2503,9 +2536,9 @@ var trellisUtils_exports = {};
2503
2536
  __export(trellisUtils_exports, {
2504
2537
  default: () => trellisUtils_default
2505
2538
  });
2506
- var defaultImport30 = __toESM(require("@splunk/visualizations-shared/trellisUtils"));
2539
+ var defaultImport31 = __toESM(require("@splunk/visualizations-shared/trellisUtils"));
2507
2540
  __reExport(trellisUtils_exports, require("@splunk/visualizations-shared/trellisUtils"));
2508
- var trellisUtils_default = "default" in defaultImport30 ? defaultImport30.default : defaultImport30;
2541
+ var trellisUtils_default = "default" in defaultImport31 ? defaultImport31.default : defaultImport31;
2509
2542
 
2510
2543
  // src/common/utils/trellisUtils.ts
2511
2544
  var AGGREGATIONS = "aggregations";
@@ -2726,7 +2759,7 @@ var dataSourcesSplitByModeChart = (dataSource, splitBy) => {
2726
2759
  splitByFields = (0, trellisUtils_exports.extractSplitByFieldsChartFields)(fields);
2727
2760
  }
2728
2761
  if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
2729
- const splitByFieldIdx = splitByFields.findIndex((f) => f === splitBy);
2762
+ const splitByFieldIdx = splitByFields.indexOf(splitBy);
2730
2763
  const otherSplitBy = splitByFields.filter((f) => f !== splitBy);
2731
2764
  const dataSourceKeys = (0, trellisUtils_exports.extractDataSourceAggregationKeysChart)(fields);
2732
2765
  const nonDataSourceAggregations = [];
@@ -2760,17 +2793,17 @@ var dataSourcesSplitByModeStatsorUnknown = (dataSource, splitBy, splitMode) => {
2760
2793
  let splitByFields = [];
2761
2794
  let errorCode = null;
2762
2795
  if (fields.length > 0) {
2763
- splitByFields = splitMode !== trellisUtils_exports.UNKNOWN ? (0, trellisUtils_exports.extractSplitByFieldsForStats)(fields) : (0, trellisUtils_exports.extractSplitByFieldsForUnknown)(fields);
2796
+ splitByFields = splitMode === trellisUtils_exports.UNKNOWN ? (0, trellisUtils_exports.extractSplitByFieldsForUnknown)(fields) : (0, trellisUtils_exports.extractSplitByFieldsForStats)(fields);
2764
2797
  }
2765
2798
  const splitByIndex = fields.findIndex((field) => field.name === splitBy);
2766
2799
  if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
2767
2800
  const splitByColumn = (_f = (_e = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _e.data) == null ? void 0 : _f.columns[splitByIndex];
2768
2801
  splitDataSources = {};
2769
2802
  splitByColumn.forEach((val, idx) => {
2770
- if (!splitDataSources[val]) {
2771
- splitDataSources[val] = [idx];
2772
- } else {
2803
+ if (splitDataSources[val]) {
2773
2804
  splitDataSources[val].push(idx);
2805
+ } else {
2806
+ splitDataSources[val] = [idx];
2774
2807
  }
2775
2808
  });
2776
2809
  const cloneFields = (0, lodash_exports.cloneDeep)(fields);
@@ -2821,27 +2854,28 @@ var turnOffLegendDisplayWhenTrellisIsOn = (isTrellisOn, options) => {
2821
2854
  }
2822
2855
  return {};
2823
2856
  };
2857
+ var extendMinMaxWithColumn = (column, range2) => column.reduce((acc, point) => {
2858
+ const pointNumber = Number(point);
2859
+ if (Number.isNaN(pointNumber)) {
2860
+ return acc;
2861
+ }
2862
+ return {
2863
+ min: Math.min(pointNumber, acc.min),
2864
+ max: Math.max(pointNumber, acc.max)
2865
+ };
2866
+ }, range2);
2824
2867
  var calculateSharedMinMax = (splitData) => {
2825
- let max = -Infinity;
2826
- let min = Infinity;
2868
+ let range2 = { min: Infinity, max: -Infinity };
2827
2869
  Object.keys(splitData).forEach((splitByKey) => {
2828
2870
  const datasources = splitData[splitByKey];
2829
2871
  Object.keys(datasources).forEach((datasourceName) => {
2830
2872
  const dataColumns = datasources[datasourceName].data.columns;
2831
2873
  dataColumns.forEach((column) => {
2832
- column.forEach((point) => {
2833
- const pointNumber = Number(point);
2834
- if (pointNumber > max) {
2835
- max = pointNumber;
2836
- }
2837
- if (pointNumber < min) {
2838
- min = pointNumber;
2839
- }
2840
- });
2874
+ range2 = extendMinMaxWithColumn(column, range2);
2841
2875
  });
2842
2876
  });
2843
2877
  });
2844
- return [min, max];
2878
+ return [range2.min, range2.max];
2845
2879
  };
2846
2880
  var determineMinMax = (splitData, trellisSharedScale, yAxisMin, yAxisMax, stackMode) => {
2847
2881
  if (!trellisSharedScale || stackMode === "stacked100" || yAxisMin !== "auto" && yAxisMax !== "auto")
@@ -2857,9 +2891,9 @@ var visualization_canvas_exports = {};
2857
2891
  __export(visualization_canvas_exports, {
2858
2892
  default: () => visualization_canvas_default
2859
2893
  });
2860
- var defaultImport31 = __toESM(require("@splunk/visualization-canvas"));
2894
+ var defaultImport32 = __toESM(require("@splunk/visualization-canvas"));
2861
2895
  __reExport(visualization_canvas_exports, require("@splunk/visualization-canvas"));
2862
- var visualization_canvas_default = "default" in defaultImport31 ? defaultImport31.default : defaultImport31;
2896
+ var visualization_canvas_default = "default" in defaultImport32 ? defaultImport32.default : defaultImport32;
2863
2897
 
2864
2898
  // src/common/components/VizStyleWrapper.jsx
2865
2899
  var VizStyleWrapper = styled_components_default.div.attrs(({ dataTestKey }) => ({
@@ -2881,27 +2915,27 @@ var Triangle_exports = {};
2881
2915
  __export(Triangle_exports, {
2882
2916
  default: () => Triangle_default
2883
2917
  });
2884
- var defaultImport32 = __toESM(require("@splunk/react-icons/Triangle"));
2918
+ var defaultImport33 = __toESM(require("@splunk/react-icons/Triangle"));
2885
2919
  __reExport(Triangle_exports, require("@splunk/react-icons/Triangle"));
2886
- var Triangle_default = "default" in defaultImport32 ? defaultImport32.default : defaultImport32;
2920
+ var Triangle_default = "default" in defaultImport33 ? defaultImport33.default : defaultImport33;
2887
2921
 
2888
2922
  // esm-externals:@splunk/visualizations-shared/propUtils
2889
2923
  var propUtils_exports = {};
2890
2924
  __export(propUtils_exports, {
2891
2925
  default: () => propUtils_default
2892
2926
  });
2893
- var defaultImport33 = __toESM(require("@splunk/visualizations-shared/propUtils"));
2927
+ var defaultImport34 = __toESM(require("@splunk/visualizations-shared/propUtils"));
2894
2928
  __reExport(propUtils_exports, require("@splunk/visualizations-shared/propUtils"));
2895
- var propUtils_default = "default" in defaultImport33 ? defaultImport33.default : defaultImport33;
2929
+ var propUtils_default = "default" in defaultImport34 ? defaultImport34.default : defaultImport34;
2896
2930
 
2897
2931
  // esm-externals:@splunk/visualizations-shared/simpleXMLOptions
2898
2932
  var simpleXMLOptions_exports = {};
2899
2933
  __export(simpleXMLOptions_exports, {
2900
2934
  default: () => simpleXMLOptions_default
2901
2935
  });
2902
- var defaultImport34 = __toESM(require("@splunk/visualizations-shared/simpleXMLOptions"));
2936
+ var defaultImport35 = __toESM(require("@splunk/visualizations-shared/simpleXMLOptions"));
2903
2937
  __reExport(simpleXMLOptions_exports, require("@splunk/visualizations-shared/simpleXMLOptions"));
2904
- var simpleXMLOptions_default = "default" in defaultImport34 ? defaultImport34.default : defaultImport34;
2938
+ var simpleXMLOptions_default = "default" in defaultImport35 ? defaultImport35.default : defaultImport35;
2905
2939
 
2906
2940
  // src/common/chartingUtils.ts
2907
2941
  var DEFAULT_LINE_WIDTH = 2;
@@ -2940,9 +2974,9 @@ var shouldEnableSearchZoom = (eventHandlers = [], xField = "") => {
2940
2974
  const xAxisIsTime = xField === "_time";
2941
2975
  return !!rangeSelectEventHandler && xAxisIsTime;
2942
2976
  };
2943
- var canvasSupportedTimeSeriesCharts = ["splunk.line", "splunk.area"];
2977
+ var canvasSupportedTimeSeriesCharts = /* @__PURE__ */ new Set(["splunk.line", "splunk.area"]);
2944
2978
  var isTimeSeriesCanvasRenderSupported = (vizConfigKey) => {
2945
- return canvasSupportedTimeSeriesCharts.includes(vizConfigKey);
2979
+ return canvasSupportedTimeSeriesCharts.has(vizConfigKey);
2946
2980
  };
2947
2981
  var filterChartDataFromInternalFields = (chartData) => {
2948
2982
  const { fields, columns } = chartData;
@@ -2958,7 +2992,7 @@ var filterChartDataFromInternalFields = (chartData) => {
2958
2992
  return { fields: filteredFields, columns: filteredColumns };
2959
2993
  };
2960
2994
  var convert2DArrayToNumbers = (arr) => {
2961
- return arr.map((subArray) => subArray.map((element) => parseFloat(element)));
2995
+ return arr.map((subArray) => subArray.map((element) => Number.parseFloat(element)));
2962
2996
  };
2963
2997
  var parseAxisValue = (val) => {
2964
2998
  if (val === void 0 || val === null || val === "auto" || val === "") {
@@ -2996,6 +3030,7 @@ var getLegend = (props) => {
2996
3030
  return (0, visualization_canvas_exports.TopLegendFactory)(__spreadValues({
2997
3031
  wrap: true
2998
3032
  }, commonLegendProps));
3033
+ // Note: By default, use right legend
2999
3034
  default:
3000
3035
  return (0, visualization_canvas_exports.SideLegendFactory)(__spreadValues({}, commonLegendProps));
3001
3036
  }
@@ -3128,10 +3163,10 @@ var getSeriesOverrides = (opts) => {
3128
3163
  let spanGaps;
3129
3164
  if (nullValueMode === "gaps") {
3130
3165
  spanGaps = false;
3131
- } else if (nullValueMode != null) {
3132
- spanGaps = true;
3133
- } else {
3166
+ } else if (nullValueMode == null) {
3134
3167
  spanGaps = void 0;
3168
+ } else {
3169
+ spanGaps = true;
3135
3170
  }
3136
3171
  const replaceNullsWithZero = nullValueMode === "zero" ? true : void 0;
3137
3172
  const isAreaChart = type === "area";
@@ -3501,11 +3536,11 @@ var TimeSeriesChartWrapper = (props) => {
3501
3536
  y2AxisMajorUnitFromSimpleXML,
3502
3537
  y2AxisMajorTickInterval
3503
3538
  );
3504
- const xAxisMajorTickSizeNum = xAxisMajorTickSize != null ? Number(xAxisMajorTickSize) : void 0;
3505
- const yAxisMajorTickSizeNum = yAxisMajorTickSize != null ? Number(yAxisMajorTickSize) : void 0;
3506
- const y2AxisMajorTickSizeNum = y2AxisMajorTickSize != null ? Number(y2AxisMajorTickSize) : void 0;
3507
- const yAxisMinorTickSizeNum = yAxisMinorTickSize != null ? Number(yAxisMinorTickSize) : void 0;
3508
- const y2AxisMinorTickSizeNum = y2AxisMinorTickSize != null ? Number(y2AxisMinorTickSize) : void 0;
3539
+ const xAxisMajorTickSizeNum = xAxisMajorTickSize == null ? void 0 : Number(xAxisMajorTickSize);
3540
+ const yAxisMajorTickSizeNum = yAxisMajorTickSize == null ? void 0 : Number(yAxisMajorTickSize);
3541
+ const y2AxisMajorTickSizeNum = y2AxisMajorTickSize == null ? void 0 : Number(y2AxisMajorTickSize);
3542
+ const yAxisMinorTickSizeNum = yAxisMinorTickSize == null ? void 0 : Number(yAxisMinorTickSize);
3543
+ const y2AxisMinorTickSizeNum = y2AxisMinorTickSize == null ? void 0 : Number(y2AxisMinorTickSize);
3509
3544
  const areaOpacityForCanvas = getAreaOpacityForCanvas(areaOpacity);
3510
3545
  const seriesColors = seriesColorsStr ? JSON.parse(seriesColorsStr) : void 0;
3511
3546
  const seriesColorsByField = fieldColors ? JSON.parse(fieldColors) : void 0;
@@ -3917,6 +3952,76 @@ var buildEventCallbackProps = (supportedEvents, evaluatedOptionsToUse, onEventTr
3917
3952
  });
3918
3953
  return result;
3919
3954
  };
3955
+ var buildAllEventCallbackProps = (events, evaluatedOptionsToUse, onEventTrigger, { supportsEvents, hasEventHandlers, mode }) => {
3956
+ if (!supportsEvents) return {};
3957
+ const defaultEvents = {};
3958
+ const userEvents = {};
3959
+ Object.entries(events || {}).forEach(([eventKey, eventConfig]) => {
3960
+ (eventConfig.source === "default" ? defaultEvents : userEvents)[eventKey] = eventConfig;
3961
+ });
3962
+ const userProps = hasEventHandlers && mode === "view" ? buildEventCallbackProps(userEvents, evaluatedOptionsToUse, onEventTrigger) : {};
3963
+ return __spreadValues(__spreadValues({}, userProps), buildEventCallbackProps(defaultEvents, evaluatedOptionsToUse, onEventTrigger));
3964
+ };
3965
+ var applyContextTimezone = (localeContext) => {
3966
+ if (localeContext.serializedTimezone && !moment_default.getDefaultSplunkTimezone()) {
3967
+ moment_default.setDefaultSplunkTimezone(localeContext.serializedTimezone);
3968
+ }
3969
+ };
3970
+ var getAsyncOptionsEvaluationParams = ({
3971
+ visualizationID,
3972
+ props,
3973
+ optionsToEvaluate,
3974
+ downsampledDataSources,
3975
+ vizConfig,
3976
+ bypassCloneDeepOptionScope,
3977
+ lazyLoadingDataFrame
3978
+ }) => {
3979
+ return {
3980
+ visualizationID,
3981
+ props,
3982
+ options: __spreadValues({}, optionsToEvaluate),
3983
+ dataSources: downsampledDataSources,
3984
+ theme: vizConfig.themes,
3985
+ bypassCloneDeepOptionScope,
3986
+ lazyLoadingDataFrame
3987
+ };
3988
+ };
3989
+ var evaluateOptionsSync = ({
3990
+ optionsToEvaluate,
3991
+ downsampledDataSources,
3992
+ dataSourcesInState,
3993
+ dataFramesInState,
3994
+ setDataSourcesInState,
3995
+ setDataFramesInState,
3996
+ computeDataFrames,
3997
+ featureFlagContext,
3998
+ themeFunc
3999
+ }) => {
4000
+ let dataFrames = dataFramesInState;
4001
+ if (downsampledDataSources !== dataSourcesInState) {
4002
+ setDataSourcesInState(downsampledDataSources);
4003
+ dataFrames = Options_exports.Options.dataFrameFromDataSource(
4004
+ downsampledDataSources,
4005
+ getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
4006
+ );
4007
+ setDataFramesInState(dataFrames);
4008
+ }
4009
+ let mergedFrames = dataFrames;
4010
+ if (computeDataFrames && dataFrames) {
4011
+ const derivedFrames = computeDataFrames({
4012
+ dataSources: downsampledDataSources,
4013
+ options: optionsToEvaluate.options
4014
+ });
4015
+ mergedFrames = __spreadValues(__spreadValues({}, dataFrames), derivedFrames);
4016
+ }
4017
+ return Options_exports.Options.evaluate(
4018
+ optionsToEvaluate,
4019
+ downsampledDataSources,
4020
+ themeFunc,
4021
+ mergedFrames,
4022
+ getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
4023
+ );
4024
+ };
3920
4025
  var withDashboardViz = (opts) => {
3921
4026
  const {
3922
4027
  ReactViz,
@@ -3948,11 +4053,7 @@ var withDashboardViz = (opts) => {
3948
4053
  onRequestParamsChange = lodash_exports.noop
3949
4054
  } = props;
3950
4055
  const localeContext = react_exports.useContext(TimezoneContext_default);
3951
- if (localeContext.serializedTimezone) {
3952
- if (!moment_default.getDefaultSplunkTimezone()) {
3953
- moment_default.setDefaultSplunkTimezone(localeContext.serializedTimezone);
3954
- }
3955
- }
4056
+ applyContextTimezone(localeContext);
3956
4057
  const themeFunc = (themeVar) => {
3957
4058
  var _a2, _b;
3958
4059
  return (_b = (_a2 = vizConfig.themes)[themeVar]) == null ? void 0 : _b.call(_a2, props);
@@ -3980,7 +4081,12 @@ var withDashboardViz = (opts) => {
3980
4081
  featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableAcceleratedRender
3981
4082
  );
3982
4083
  const isAcceleratedRenderOn = isAcceleratedRenderFeatureFlagOn && isTimeSeriesCanvasRenderSupported(vizConfig.key) && (options == null ? void 0 : options.acceleratedRender) === true;
3983
- const isMounted = react_exports.useRef(true);
4084
+ const bypassCloneDeepOptionScope = Boolean(
4085
+ getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
4086
+ );
4087
+ const lazyLoadingDataFrame = Boolean(
4088
+ getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
4089
+ );
3984
4090
  const optionsToEvaluate = react_exports.useMemo(() => {
3985
4091
  var _a2;
3986
4092
  const legendDisplay = turnOffLegendDisplayWhenTrellisIsOn(isTrellisOn, options);
@@ -4019,63 +4125,74 @@ var withDashboardViz = (opts) => {
4019
4125
  threshold,
4020
4126
  isDownsamplingEnabled
4021
4127
  });
4022
- evaluatedOptions = useDeepMemo(() => {
4128
+ const asyncOptionsEvaluationParams = useDeepMemo(
4129
+ () => getAsyncOptionsEvaluationParams({
4130
+ visualizationID,
4131
+ props,
4132
+ optionsToEvaluate,
4133
+ downsampledDataSources,
4134
+ vizConfig,
4135
+ bypassCloneDeepOptionScope,
4136
+ lazyLoadingDataFrame
4137
+ }),
4138
+ [
4139
+ visualizationID,
4140
+ optionsToEvaluate,
4141
+ downsampledDataSources,
4142
+ vizConfig,
4143
+ bypassCloneDeepOptionScope,
4144
+ lazyLoadingDataFrame,
4145
+ currentThemeFamily,
4146
+ currentThemeColorScheme,
4147
+ currentThemeDensity,
4148
+ localeContext.serializedTimezone
4149
+ ]
4150
+ );
4151
+ react_exports.useEffect(() => {
4152
+ if (!useAsyncEvaluatedOptions) {
4153
+ return void 0;
4154
+ }
4155
+ let ownsEvaluation = true;
4023
4156
  try {
4024
- if (useAsyncEvaluatedOptions) {
4025
- const asyncDynamicOptionsEvaluatorParams = {
4026
- visualizationID,
4027
- props,
4028
- options: optionsToEvaluate,
4029
- dataSources: downsampledDataSources,
4030
- theme: vizConfig.themes,
4031
- bypassCloneDeepOptionScope: Boolean(
4032
- getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
4033
- ),
4034
- lazyLoadingDataFrame: Boolean(
4035
- getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
4036
- )
4037
- };
4038
- async_dynamic_options_evaluator_default.evaluate(asyncDynamicOptionsEvaluatorParams).then((results) => {
4157
+ async_dynamic_options_evaluator_default.evaluate(asyncOptionsEvaluationParams).then((results) => {
4158
+ if (ownsEvaluation) {
4039
4159
  setEvaluatedOptionsAsync(results.results);
4040
- }).catch(() => {
4041
- if (isMounted.current) {
4042
- setUseAsyncEvaluatedOptions(false);
4043
- }
4044
- });
4045
- } else {
4046
- let dataFrames = dataFramesInState;
4047
- if (downsampledDataSources !== dataSourcesInState) {
4048
- setDataSourcesInState(downsampledDataSources);
4049
- dataFrames = Options_exports.Options.dataFrameFromDataSource(
4050
- downsampledDataSources,
4051
- getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
4052
- );
4053
- setDataFramesInState(dataFrames);
4054
4160
  }
4055
- let mergedFrames = dataFrames;
4056
- if (computeDataFrames && dataFrames) {
4057
- const derivedFrames = computeDataFrames({
4058
- dataSources: downsampledDataSources,
4059
- options: optionsToEvaluate.options
4060
- });
4061
- mergedFrames = __spreadValues(__spreadValues({}, dataFrames), derivedFrames);
4161
+ }).catch(() => {
4162
+ if (ownsEvaluation) {
4163
+ setUseAsyncEvaluatedOptions(false);
4062
4164
  }
4063
- const result = Options_exports.Options.evaluate(
4064
- optionsToEvaluate,
4065
- downsampledDataSources,
4066
- themeFunc,
4067
- mergedFrames,
4068
- getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
4069
- );
4070
- return result;
4165
+ });
4166
+ } catch (e) {
4167
+ setUseAsyncEvaluatedOptions(false);
4168
+ }
4169
+ return () => {
4170
+ ownsEvaluation = false;
4171
+ async_dynamic_options_evaluator_default.reset(visualizationID);
4172
+ };
4173
+ }, [asyncOptionsEvaluationParams, useAsyncEvaluatedOptions, visualizationID]);
4174
+ evaluatedOptions = useDeepMemo(() => {
4175
+ try {
4176
+ if (useAsyncEvaluatedOptions) {
4177
+ return {};
4071
4178
  }
4179
+ return evaluateOptionsSync({
4180
+ optionsToEvaluate,
4181
+ downsampledDataSources,
4182
+ dataSourcesInState,
4183
+ dataFramesInState,
4184
+ setDataSourcesInState,
4185
+ setDataFramesInState,
4186
+ computeDataFrames,
4187
+ featureFlagContext,
4188
+ themeFunc
4189
+ });
4072
4190
  } catch (e) {
4073
4191
  if (e instanceof Error) {
4074
4192
  console.error(`unexpected error evaluating options: ${e.message}`);
4075
4193
  }
4076
4194
  return {};
4077
4195
  }
4078
- return {};
4079
4196
  }, [
4080
4197
  currentThemeFamily,
4081
4198
  currentThemeColorScheme,
@@ -4085,7 +4202,7 @@ var withDashboardViz = (opts) => {
4085
4202
  localeContext.serializedTimezone,
4086
4203
  useAsyncEvaluatedOptions
4087
4204
  ]);
4088
- const evaluatedOptionsToUse = !useAsyncEvaluatedOptions ? evaluatedOptions : evaluatedOptionsAsync;
4205
+ const evaluatedOptionsToUse = useAsyncEvaluatedOptions ? evaluatedOptionsAsync : evaluatedOptions;
4089
4206
  let dataSourceMetadata = {};
4090
4207
  const OptionKey = "paginateDataSourceKey";
4091
4208
  const optsKey = (0, lodash_exports.has)(evaluatedOptionsToUse, OptionKey) && evaluatedOptionsToUse[OptionKey];
@@ -4107,7 +4224,7 @@ var withDashboardViz = (opts) => {
4107
4224
  sortParams,
4108
4225
  paginatorParams
4109
4226
  };
4110
- if (vizConfig.supports.indexOf("page-and-sort" /* PAGE_AND_SORT */) === -1 && !(0, lodash_exports.has)(dataSources, paginateDataSourceKey)) {
4227
+ if (!vizConfig.supports.includes("page-and-sort" /* PAGE_AND_SORT */) && !(0, lodash_exports.has)(dataSources, paginateDataSourceKey)) {
4111
4228
  dataSourceMetadata = {};
4112
4229
  }
4113
4230
  const clonedEvaluatedOptions = __spreadValues({}, evaluatedOptionsToUse);
@@ -4117,14 +4234,6 @@ var withDashboardViz = (opts) => {
4117
4234
  react_exports.useEffect(() => {
4118
4235
  onComputedProps(clonedEvaluatedOptions);
4119
4236
  });
4120
- react_exports.useEffect(() => {
4121
- return () => {
4122
- if (useAsyncEvaluatedOptions) {
4123
- isMounted.current = false;
4124
- async_dynamic_options_evaluator_default.reset(visualizationID);
4125
- }
4126
- };
4127
- }, []);
4128
4237
  const { requiredProps = [], supports } = vizConfig;
4129
4238
  const missing = missingKeys(requiredProps, evaluatedOptionsToUse);
4130
4239
  if (missing.length > 0 && supports.includes("placeholder" /* PLACEHOLDER */) && vizConfig.key !== "splunk.singlevalue") {
@@ -4139,7 +4248,16 @@ var withDashboardViz = (opts) => {
4139
4248
  }
4140
4249
  );
4141
4250
  }
4142
- const eventCallbackProps = hasEventHandlers && mode === "view" && vizConfig.supports.includes("events" /* EVENTS */) ? buildEventCallbackProps(vizConfig.events, evaluatedOptionsToUse, onEventTrigger) : {};
4251
+ const eventCallbackProps = buildAllEventCallbackProps(
4252
+ vizConfig.events,
4253
+ evaluatedOptionsToUse,
4254
+ onEventTrigger,
4255
+ {
4256
+ supportsEvents: vizConfig.supports.includes("events" /* EVENTS */),
4257
+ hasEventHandlers,
4258
+ mode
4259
+ }
4260
+ );
4143
4261
  const computedVizProps = computeVizProps2(__spreadProps(__spreadValues(__spreadProps(__spreadValues(__spreadValues({}, props), evaluatedOptionsToUse), {
4144
4262
  // Align option transformation with the actual renderer selected below.
4145
4263
  // This prevents canvas-only option preservation from leaking into Highcharts mode.
@@ -4167,8 +4285,9 @@ var withDashboardViz = (opts) => {
4167
4285
  onEventTrigger: SplunkVisualization_default.defaults.onEventTrigger
4168
4286
  });
4169
4287
  DashboardViz.config = vizConfig;
4170
- return (0, styled_components_exports.withTheme)(
4171
- withPlaceholder_default(withEditModeCover_default(DashboardViz, disableEditModeCover), useIconPlaceholder)
4288
+ return Object.assign(
4289
+ (0, styled_components_exports.withTheme)(withPlaceholder_default(withEditModeCover_default(DashboardViz, disableEditModeCover), useIconPlaceholder)),
4290
+ { config: vizConfig }
4172
4291
  );
4173
4292
  };
4174
4293
  var withDashboardViz_default = withDashboardViz;
@@ -4178,18 +4297,9 @@ var Paginator_exports = {};
4178
4297
  __export(Paginator_exports, {
4179
4298
  default: () => Paginator_default
4180
4299
  });
4181
- var defaultImport35 = __toESM(require("@splunk/react-ui/Paginator"));
4300
+ var defaultImport36 = __toESM(require("@splunk/react-ui/Paginator"));
4182
4301
  __reExport(Paginator_exports, require("@splunk/react-ui/Paginator"));
4183
- var Paginator_default = "default" in defaultImport35 ? defaultImport35.default : defaultImport35;
4184
-
4185
- // esm-externals:@splunk/themes
4186
- var themes_exports = {};
4187
- __export(themes_exports, {
4188
- default: () => themes_default
4189
- });
4190
- var defaultImport36 = __toESM(require("@splunk/themes"));
4191
- __reExport(themes_exports, require("@splunk/themes"));
4192
- var themes_default = "default" in defaultImport36 ? defaultImport36.default : defaultImport36;
4302
+ var Paginator_default = "default" in defaultImport36 ? defaultImport36.default : defaultImport36;
4193
4303
 
4194
4304
  // esm-externals:@splunk/themes/useSplunkTheme
4195
4305
  var useSplunkTheme_exports = {};
@@ -4221,7 +4331,7 @@ var sortTrellisKeys = (keys, trellisSortBy, trellisSortOrder, modifiedDataSource
4221
4331
  if (trellisSortBy === "trend") {
4222
4332
  optionKey = "trendValue";
4223
4333
  } else {
4224
- optionKey = mergedOptions.value !== void 0 ? "value" : "majorValue";
4334
+ optionKey = mergedOptions.value === void 0 ? "majorValue" : "value";
4225
4335
  }
4226
4336
  keys.sort((a, b) => {
4227
4337
  const valA = evaluatePanelOption(
@@ -4373,13 +4483,13 @@ var withTrellis = (Viz) => {
4373
4483
  const noColumns = columns === void 0;
4374
4484
  const noFields = fields === void 0;
4375
4485
  const updateDataDisplay = (currPage) => {
4376
- if (!showPaginator) {
4377
- setPagedData(splitByKeys);
4378
- setPageNum(1);
4379
- } else {
4486
+ if (showPaginator) {
4380
4487
  const startIdx = pageCount * (currPage - 1);
4381
4488
  const paged = splitByKeys.slice(startIdx, startIdx + pageCount);
4382
4489
  setPagedData(paged);
4490
+ } else {
4491
+ setPagedData(splitByKeys);
4492
+ setPageNum(1);
4383
4493
  }
4384
4494
  };
4385
4495
  (0, react_exports.useEffect)(() => {