@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/Bar.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) => {
@@ -1562,10 +1559,8 @@ var AxesChartDataDisplayColumn = {
1562
1559
  };
1563
1560
  var AxesChartDataDisplayLine = {
1564
1561
  label: AxesChartDataDisplayBase.label,
1565
- layout: [
1566
- // remove stacked mode editor
1567
- ...AxesChartDataDisplayBase.layout.slice(1)
1568
- ]
1562
+ // remove stacked mode editor
1563
+ layout: AxesChartDataDisplayBase.layout.slice(1)
1569
1564
  };
1570
1565
 
1571
1566
  // src/common/editorConfig/AxesChartXGridAndLabels.ts
@@ -2740,7 +2735,10 @@ var useSortingParams = ({ requestParams, onRequestParamsChange }) => {
2740
2735
  onSort = (e, { sortKey, sortDir }) => {
2741
2736
  if (typeof sortKey === "string") {
2742
2737
  const nextSortDir = (0, lodash_exports.has)(nextSortDirMap, sortDir) ? nextSortDirMap[sortDir] : "none";
2743
- onRequestParamsChange(__spreadValues(__spreadValues({}, requestParams), { offset: 0, sort: { [sortKey]: nextSortDir } }));
2738
+ onRequestParamsChange(__spreadProps(__spreadValues({}, requestParams), {
2739
+ offset: 0,
2740
+ sort: { [sortKey]: nextSortDir }
2741
+ }));
2744
2742
  } else {
2745
2743
  onRequestParamsChange(requestParams);
2746
2744
  }
@@ -2866,7 +2864,7 @@ var Cover = styled_components_default.div`
2866
2864
  bottom: 0;
2867
2865
  `;
2868
2866
  var Blocker = styled_components_default.div.attrs({
2869
- "data-splunk-visualization-version": "28.7.0 - d7b18cab6"
2867
+ "data-splunk-visualization-version": "28.9.0 - 96b03188d"
2870
2868
  })`
2871
2869
  position: relative;
2872
2870
  width: 100%;
@@ -2892,6 +2890,15 @@ var defaultImport32 = __toESM(require("@splunk/visualizations-shared/colorUtils"
2892
2890
  __reExport(colorUtils_exports, require("@splunk/visualizations-shared/colorUtils"));
2893
2891
  var colorUtils_default = "default" in defaultImport32 ? defaultImport32.default : defaultImport32;
2894
2892
 
2893
+ // esm-externals:@splunk/themes
2894
+ var themes_exports = {};
2895
+ __export(themes_exports, {
2896
+ default: () => themes_default
2897
+ });
2898
+ var defaultImport33 = __toESM(require("@splunk/themes"));
2899
+ __reExport(themes_exports, require("@splunk/themes"));
2900
+ var themes_default = "default" in defaultImport33 ? defaultImport33.default : defaultImport33;
2901
+
2895
2902
  // src/common/hocs/FixedSizeContainer.tsx
2896
2903
  var Item = styled_components_default.div.attrs(({ width }) => ({
2897
2904
  style: {
@@ -2947,7 +2954,7 @@ var withFixedSizeContainer = (Viz) => {
2947
2954
  FixSizeItem,
2948
2955
  {
2949
2956
  "data-test": "fix-size-item",
2950
- "data-splunk-visualization-version": "28.7.0 - d7b18cab6",
2957
+ "data-splunk-visualization-version": "28.9.0 - 96b03188d",
2951
2958
  width,
2952
2959
  height,
2953
2960
  backgroundColor
@@ -2968,6 +2975,14 @@ var shouldShowIconPlaceholder = (dataSources, loading = false) => {
2968
2975
  const noFields = fields === void 0;
2969
2976
  return loading || noData || noFields;
2970
2977
  };
2978
+ var PlaceholderContainer = styled_components_default.div`
2979
+ /* The inline token color wins when supported. Older browsers discard an
2980
+ unsupported oklch value and retain this inherited fallback instead. */
2981
+ color: ${(0, themes_exports.pick)({
2982
+ dark: "#fafafa",
2983
+ light: "#2c2c2c"
2984
+ })};
2985
+ `;
2971
2986
  var IconPlaceholder = (props) => {
2972
2987
  const {
2973
2988
  width = SplunkVisualization_default.defaults.width,
@@ -2982,7 +2997,6 @@ var IconPlaceholder = (props) => {
2982
2997
  style: {
2983
2998
  left: "50%",
2984
2999
  top: "50%",
2985
- color: iconColor,
2986
3000
  opacity: 0.15,
2987
3001
  position: "absolute",
2988
3002
  transform: "translate(-50%, -50%)"
@@ -2992,7 +3006,14 @@ var IconPlaceholder = (props) => {
2992
3006
  "data-test": "icon-placeholder"
2993
3007
  });
2994
3008
  }
2995
- return /* @__PURE__ */ react_exports.createElement("div", { style: { width, height, background: backgroundColor } }, content);
3009
+ return /* @__PURE__ */ react_exports.createElement(
3010
+ PlaceholderContainer,
3011
+ {
3012
+ "data-test": "icon-placeholder-container",
3013
+ style: { width, height, background: backgroundColor, color: iconColor }
3014
+ },
3015
+ content
3016
+ );
2996
3017
  };
2997
3018
  var IconPlaceholder_default = FixedSizeContainer_default(IconPlaceholder);
2998
3019
 
@@ -3195,16 +3216,16 @@ var FeatureFlags_exports = {};
3195
3216
  __export(FeatureFlags_exports, {
3196
3217
  default: () => FeatureFlags_default
3197
3218
  });
3198
- var defaultImport33 = __toESM(require("@splunk/visualization-context/FeatureFlags"));
3219
+ var defaultImport34 = __toESM(require("@splunk/visualization-context/FeatureFlags"));
3199
3220
  __reExport(FeatureFlags_exports, require("@splunk/visualization-context/FeatureFlags"));
3200
- var FeatureFlags_default = "default" in defaultImport33 ? defaultImport33.default : defaultImport33;
3221
+ var FeatureFlags_default = "default" in defaultImport34 ? defaultImport34.default : defaultImport34;
3201
3222
 
3202
3223
  // src/common/utils/featureFlagUtils.ts
3203
3224
  var getFeatureFlag = (context, flagName) => {
3204
- if (context && Object.keys(context).find((key) => key === flagName)) {
3225
+ if (context && Object.keys(context).includes(flagName)) {
3205
3226
  return context[flagName];
3206
3227
  }
3207
- if (Object.keys(FeatureFlags_default).find((key) => key === flagName)) {
3228
+ if (Object.keys(FeatureFlags_default).includes(flagName)) {
3208
3229
  return FeatureFlags_default[flagName];
3209
3230
  }
3210
3231
  return false;
@@ -3215,9 +3236,9 @@ var trellisUtils_exports = {};
3215
3236
  __export(trellisUtils_exports, {
3216
3237
  default: () => trellisUtils_default
3217
3238
  });
3218
- var defaultImport34 = __toESM(require("@splunk/visualizations-shared/trellisUtils"));
3239
+ var defaultImport35 = __toESM(require("@splunk/visualizations-shared/trellisUtils"));
3219
3240
  __reExport(trellisUtils_exports, require("@splunk/visualizations-shared/trellisUtils"));
3220
- var trellisUtils_default = "default" in defaultImport34 ? defaultImport34.default : defaultImport34;
3241
+ var trellisUtils_default = "default" in defaultImport35 ? defaultImport35.default : defaultImport35;
3221
3242
 
3222
3243
  // src/common/utils/trellisUtils.ts
3223
3244
  var AGGREGATIONS = "aggregations";
@@ -3438,7 +3459,7 @@ var dataSourcesSplitByModeChart = (dataSource, splitBy) => {
3438
3459
  splitByFields = (0, trellisUtils_exports.extractSplitByFieldsChartFields)(fields);
3439
3460
  }
3440
3461
  if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
3441
- const splitByFieldIdx = splitByFields.findIndex((f) => f === splitBy);
3462
+ const splitByFieldIdx = splitByFields.indexOf(splitBy);
3442
3463
  const otherSplitBy = splitByFields.filter((f) => f !== splitBy);
3443
3464
  const dataSourceKeys = (0, trellisUtils_exports.extractDataSourceAggregationKeysChart)(fields);
3444
3465
  const nonDataSourceAggregations = [];
@@ -3472,17 +3493,17 @@ var dataSourcesSplitByModeStatsorUnknown = (dataSource, splitBy, splitMode) => {
3472
3493
  let splitByFields = [];
3473
3494
  let errorCode = null;
3474
3495
  if (fields.length > 0) {
3475
- splitByFields = splitMode !== trellisUtils_exports.UNKNOWN ? (0, trellisUtils_exports.extractSplitByFieldsForStats)(fields) : (0, trellisUtils_exports.extractSplitByFieldsForUnknown)(fields);
3496
+ splitByFields = splitMode === trellisUtils_exports.UNKNOWN ? (0, trellisUtils_exports.extractSplitByFieldsForUnknown)(fields) : (0, trellisUtils_exports.extractSplitByFieldsForStats)(fields);
3476
3497
  }
3477
3498
  const splitByIndex = fields.findIndex((field) => field.name === splitBy);
3478
3499
  if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
3479
3500
  const splitByColumn = (_f = (_e = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _e.data) == null ? void 0 : _f.columns[splitByIndex];
3480
3501
  splitDataSources = {};
3481
3502
  splitByColumn.forEach((val, idx) => {
3482
- if (!splitDataSources[val]) {
3483
- splitDataSources[val] = [idx];
3484
- } else {
3503
+ if (splitDataSources[val]) {
3485
3504
  splitDataSources[val].push(idx);
3505
+ } else {
3506
+ splitDataSources[val] = [idx];
3486
3507
  }
3487
3508
  });
3488
3509
  const cloneFields = (0, lodash_exports.cloneDeep)(fields);
@@ -3533,27 +3554,28 @@ var turnOffLegendDisplayWhenTrellisIsOn = (isTrellisOn, options) => {
3533
3554
  }
3534
3555
  return {};
3535
3556
  };
3557
+ var extendMinMaxWithColumn = (column, range2) => column.reduce((acc, point) => {
3558
+ const pointNumber = Number(point);
3559
+ if (Number.isNaN(pointNumber)) {
3560
+ return acc;
3561
+ }
3562
+ return {
3563
+ min: Math.min(pointNumber, acc.min),
3564
+ max: Math.max(pointNumber, acc.max)
3565
+ };
3566
+ }, range2);
3536
3567
  var calculateSharedMinMax = (splitData) => {
3537
- let max = -Infinity;
3538
- let min = Infinity;
3568
+ let range2 = { min: Infinity, max: -Infinity };
3539
3569
  Object.keys(splitData).forEach((splitByKey) => {
3540
3570
  const datasources = splitData[splitByKey];
3541
3571
  Object.keys(datasources).forEach((datasourceName) => {
3542
3572
  const dataColumns = datasources[datasourceName].data.columns;
3543
3573
  dataColumns.forEach((column) => {
3544
- column.forEach((point) => {
3545
- const pointNumber = Number(point);
3546
- if (pointNumber > max) {
3547
- max = pointNumber;
3548
- }
3549
- if (pointNumber < min) {
3550
- min = pointNumber;
3551
- }
3552
- });
3574
+ range2 = extendMinMaxWithColumn(column, range2);
3553
3575
  });
3554
3576
  });
3555
3577
  });
3556
- return [min, max];
3578
+ return [range2.min, range2.max];
3557
3579
  };
3558
3580
  var determineMinMax = (splitData, trellisSharedScale, yAxisMin, yAxisMax, stackMode) => {
3559
3581
  if (!trellisSharedScale || stackMode === "stacked100" || yAxisMin !== "auto" && yAxisMax !== "auto")
@@ -3569,9 +3591,9 @@ var visualization_canvas_exports = {};
3569
3591
  __export(visualization_canvas_exports, {
3570
3592
  default: () => visualization_canvas_default
3571
3593
  });
3572
- var defaultImport35 = __toESM(require("@splunk/visualization-canvas"));
3594
+ var defaultImport36 = __toESM(require("@splunk/visualization-canvas"));
3573
3595
  __reExport(visualization_canvas_exports, require("@splunk/visualization-canvas"));
3574
- var visualization_canvas_default = "default" in defaultImport35 ? defaultImport35.default : defaultImport35;
3596
+ var visualization_canvas_default = "default" in defaultImport36 ? defaultImport36.default : defaultImport36;
3575
3597
 
3576
3598
  // src/common/components/VizStyleWrapper.jsx
3577
3599
  var VizStyleWrapper = styled_components_default.div.attrs(({ dataTestKey }) => ({
@@ -3593,18 +3615,18 @@ var Triangle_exports = {};
3593
3615
  __export(Triangle_exports, {
3594
3616
  default: () => Triangle_default
3595
3617
  });
3596
- var defaultImport36 = __toESM(require("@splunk/react-icons/Triangle"));
3618
+ var defaultImport37 = __toESM(require("@splunk/react-icons/Triangle"));
3597
3619
  __reExport(Triangle_exports, require("@splunk/react-icons/Triangle"));
3598
- var Triangle_default = "default" in defaultImport36 ? defaultImport36.default : defaultImport36;
3620
+ var Triangle_default = "default" in defaultImport37 ? defaultImport37.default : defaultImport37;
3599
3621
 
3600
3622
  // esm-externals:@splunk/visualizations-shared/propUtils
3601
3623
  var propUtils_exports = {};
3602
3624
  __export(propUtils_exports, {
3603
3625
  default: () => propUtils_default
3604
3626
  });
3605
- var defaultImport37 = __toESM(require("@splunk/visualizations-shared/propUtils"));
3627
+ var defaultImport38 = __toESM(require("@splunk/visualizations-shared/propUtils"));
3606
3628
  __reExport(propUtils_exports, require("@splunk/visualizations-shared/propUtils"));
3607
- var propUtils_default = "default" in defaultImport37 ? defaultImport37.default : defaultImport37;
3629
+ var propUtils_default = "default" in defaultImport38 ? defaultImport38.default : defaultImport38;
3608
3630
 
3609
3631
  // src/common/chartingUtils.ts
3610
3632
  var DEFAULT_LINE_WIDTH = 2;
@@ -3637,7 +3659,7 @@ var truncateData = (dataSet, truncationLimit) => {
3637
3659
  if (!dataSet) {
3638
3660
  return null;
3639
3661
  }
3640
- const limit = parseInt(truncationLimit, 10);
3662
+ const limit = Number.parseInt(truncationLimit, 10);
3641
3663
  if (!limit || limit <= 0) {
3642
3664
  return dataSet;
3643
3665
  }
@@ -3668,7 +3690,7 @@ var convertY2AxisOptions = (_a) => {
3668
3690
  const convertedOptions = __spreadValues({}, originalOptions);
3669
3691
  if (y2Fields) {
3670
3692
  convertedOptions["axisY2.enabled"] = true;
3671
- convertedOptions["axisY2.fields"] = (0, lodash_exports.isArray)(y2Fields) ? y2Fields.filter((name) => name).join(",") : y2Fields;
3693
+ convertedOptions["axisY2.fields"] = (0, lodash_exports.isArray)(y2Fields) ? y2Fields.filter(Boolean).join(",") : y2Fields;
3672
3694
  }
3673
3695
  return convertedOptions;
3674
3696
  };
@@ -3676,7 +3698,7 @@ var convertOverlayFields = (originalOptions) => {
3676
3698
  const convertedOptions = __spreadValues({}, originalOptions);
3677
3699
  const { overlayFields } = originalOptions;
3678
3700
  if (overlayFields) {
3679
- convertedOptions.overlayFields = Array.isArray(overlayFields) ? overlayFields.filter((field) => field).map((field) => field.trim()).join(",") : overlayFields;
3701
+ convertedOptions.overlayFields = Array.isArray(overlayFields) ? overlayFields.filter(Boolean).map((field) => field.trim()).join(",") : overlayFields;
3680
3702
  }
3681
3703
  return convertedOptions;
3682
3704
  };
@@ -3702,7 +3724,7 @@ var constructFieldsAndColumns = ({
3702
3724
  const y2FieldsArray = toArrayForSeries(y2, y2Fields);
3703
3725
  const y2AsArray = toArrayForSeries(y2, y2).map((series) => series == null ? void 0 : series.map(String));
3704
3726
  y2FieldsArray.forEach((y2Field, index) => {
3705
- if (yFieldsArray.indexOf(y2Field) === -1 && y2AsArray[index]) {
3727
+ if (!yFieldsArray.includes(y2Field) && y2AsArray[index]) {
3706
3728
  fields.push({
3707
3729
  name: y2Field
3708
3730
  });
@@ -3735,9 +3757,9 @@ var shouldEnableSearchZoom = (eventHandlers = [], xField = "") => {
3735
3757
  const xAxisIsTime = xField === "_time";
3736
3758
  return !!rangeSelectEventHandler && xAxisIsTime;
3737
3759
  };
3738
- var canvasSupportedTimeSeriesCharts = ["splunk.line", "splunk.area"];
3760
+ var canvasSupportedTimeSeriesCharts = /* @__PURE__ */ new Set(["splunk.line", "splunk.area"]);
3739
3761
  var isTimeSeriesCanvasRenderSupported = (vizConfigKey) => {
3740
- return canvasSupportedTimeSeriesCharts.includes(vizConfigKey);
3762
+ return canvasSupportedTimeSeriesCharts.has(vizConfigKey);
3741
3763
  };
3742
3764
  var filterChartDataFromInternalFields = (chartData) => {
3743
3765
  const { fields, columns } = chartData;
@@ -3753,7 +3775,7 @@ var filterChartDataFromInternalFields = (chartData) => {
3753
3775
  return { fields: filteredFields, columns: filteredColumns };
3754
3776
  };
3755
3777
  var convert2DArrayToNumbers = (arr) => {
3756
- return arr.map((subArray) => subArray.map((element) => parseFloat(element)));
3778
+ return arr.map((subArray) => subArray.map((element) => Number.parseFloat(element)));
3757
3779
  };
3758
3780
  var parseAxisValue = (val) => {
3759
3781
  if (val === void 0 || val === null || val === "auto" || val === "") {
@@ -3791,6 +3813,7 @@ var getLegend = (props) => {
3791
3813
  return (0, visualization_canvas_exports.TopLegendFactory)(__spreadValues({
3792
3814
  wrap: true
3793
3815
  }, commonLegendProps));
3816
+ // Note: By default, use right legend
3794
3817
  default:
3795
3818
  return (0, visualization_canvas_exports.SideLegendFactory)(__spreadValues({}, commonLegendProps));
3796
3819
  }
@@ -3923,10 +3946,10 @@ var getSeriesOverrides = (opts) => {
3923
3946
  let spanGaps;
3924
3947
  if (nullValueMode === "gaps") {
3925
3948
  spanGaps = false;
3926
- } else if (nullValueMode != null) {
3927
- spanGaps = true;
3928
- } else {
3949
+ } else if (nullValueMode == null) {
3929
3950
  spanGaps = void 0;
3951
+ } else {
3952
+ spanGaps = true;
3930
3953
  }
3931
3954
  const replaceNullsWithZero = nullValueMode === "zero" ? true : void 0;
3932
3955
  const isAreaChart = type === "area";
@@ -4296,11 +4319,11 @@ var TimeSeriesChartWrapper = (props) => {
4296
4319
  y2AxisMajorUnitFromSimpleXML,
4297
4320
  y2AxisMajorTickInterval
4298
4321
  );
4299
- const xAxisMajorTickSizeNum = xAxisMajorTickSize != null ? Number(xAxisMajorTickSize) : void 0;
4300
- const yAxisMajorTickSizeNum = yAxisMajorTickSize != null ? Number(yAxisMajorTickSize) : void 0;
4301
- const y2AxisMajorTickSizeNum = y2AxisMajorTickSize != null ? Number(y2AxisMajorTickSize) : void 0;
4302
- const yAxisMinorTickSizeNum = yAxisMinorTickSize != null ? Number(yAxisMinorTickSize) : void 0;
4303
- const y2AxisMinorTickSizeNum = y2AxisMinorTickSize != null ? Number(y2AxisMinorTickSize) : void 0;
4322
+ const xAxisMajorTickSizeNum = xAxisMajorTickSize == null ? void 0 : Number(xAxisMajorTickSize);
4323
+ const yAxisMajorTickSizeNum = yAxisMajorTickSize == null ? void 0 : Number(yAxisMajorTickSize);
4324
+ const y2AxisMajorTickSizeNum = y2AxisMajorTickSize == null ? void 0 : Number(y2AxisMajorTickSize);
4325
+ const yAxisMinorTickSizeNum = yAxisMinorTickSize == null ? void 0 : Number(yAxisMinorTickSize);
4326
+ const y2AxisMinorTickSizeNum = y2AxisMinorTickSize == null ? void 0 : Number(y2AxisMinorTickSize);
4304
4327
  const areaOpacityForCanvas = getAreaOpacityForCanvas(areaOpacity);
4305
4328
  const seriesColors = seriesColorsStr ? JSON.parse(seriesColorsStr) : void 0;
4306
4329
  const seriesColorsByField = fieldColors ? JSON.parse(fieldColors) : void 0;
@@ -4712,6 +4735,76 @@ var buildEventCallbackProps = (supportedEvents, evaluatedOptionsToUse, onEventTr
4712
4735
  });
4713
4736
  return result;
4714
4737
  };
4738
+ var buildAllEventCallbackProps = (events, evaluatedOptionsToUse, onEventTrigger, { supportsEvents, hasEventHandlers, mode }) => {
4739
+ if (!supportsEvents) return {};
4740
+ const defaultEvents = {};
4741
+ const userEvents = {};
4742
+ Object.entries(events || {}).forEach(([eventKey, eventConfig]) => {
4743
+ (eventConfig.source === "default" ? defaultEvents : userEvents)[eventKey] = eventConfig;
4744
+ });
4745
+ const userProps = hasEventHandlers && mode === "view" ? buildEventCallbackProps(userEvents, evaluatedOptionsToUse, onEventTrigger) : {};
4746
+ return __spreadValues(__spreadValues({}, userProps), buildEventCallbackProps(defaultEvents, evaluatedOptionsToUse, onEventTrigger));
4747
+ };
4748
+ var applyContextTimezone = (localeContext) => {
4749
+ if (localeContext.serializedTimezone && !moment_default.getDefaultSplunkTimezone()) {
4750
+ moment_default.setDefaultSplunkTimezone(localeContext.serializedTimezone);
4751
+ }
4752
+ };
4753
+ var getAsyncOptionsEvaluationParams = ({
4754
+ visualizationID,
4755
+ props,
4756
+ optionsToEvaluate,
4757
+ downsampledDataSources,
4758
+ vizConfig,
4759
+ bypassCloneDeepOptionScope,
4760
+ lazyLoadingDataFrame
4761
+ }) => {
4762
+ return {
4763
+ visualizationID,
4764
+ props,
4765
+ options: __spreadValues({}, optionsToEvaluate),
4766
+ dataSources: downsampledDataSources,
4767
+ theme: vizConfig.themes,
4768
+ bypassCloneDeepOptionScope,
4769
+ lazyLoadingDataFrame
4770
+ };
4771
+ };
4772
+ var evaluateOptionsSync = ({
4773
+ optionsToEvaluate,
4774
+ downsampledDataSources,
4775
+ dataSourcesInState,
4776
+ dataFramesInState,
4777
+ setDataSourcesInState,
4778
+ setDataFramesInState,
4779
+ computeDataFrames,
4780
+ featureFlagContext,
4781
+ themeFunc
4782
+ }) => {
4783
+ let dataFrames = dataFramesInState;
4784
+ if (downsampledDataSources !== dataSourcesInState) {
4785
+ setDataSourcesInState(downsampledDataSources);
4786
+ dataFrames = Options_exports.Options.dataFrameFromDataSource(
4787
+ downsampledDataSources,
4788
+ getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
4789
+ );
4790
+ setDataFramesInState(dataFrames);
4791
+ }
4792
+ let mergedFrames = dataFrames;
4793
+ if (computeDataFrames && dataFrames) {
4794
+ const derivedFrames = computeDataFrames({
4795
+ dataSources: downsampledDataSources,
4796
+ options: optionsToEvaluate.options
4797
+ });
4798
+ mergedFrames = __spreadValues(__spreadValues({}, dataFrames), derivedFrames);
4799
+ }
4800
+ return Options_exports.Options.evaluate(
4801
+ optionsToEvaluate,
4802
+ downsampledDataSources,
4803
+ themeFunc,
4804
+ mergedFrames,
4805
+ getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
4806
+ );
4807
+ };
4715
4808
  var withDashboardViz = (opts) => {
4716
4809
  const {
4717
4810
  ReactViz,
@@ -4743,11 +4836,7 @@ var withDashboardViz = (opts) => {
4743
4836
  onRequestParamsChange = lodash_exports.noop
4744
4837
  } = props;
4745
4838
  const localeContext = react_exports.useContext(TimezoneContext_default);
4746
- if (localeContext.serializedTimezone) {
4747
- if (!moment_default.getDefaultSplunkTimezone()) {
4748
- moment_default.setDefaultSplunkTimezone(localeContext.serializedTimezone);
4749
- }
4750
- }
4839
+ applyContextTimezone(localeContext);
4751
4840
  const themeFunc = (themeVar) => {
4752
4841
  var _a2, _b;
4753
4842
  return (_b = (_a2 = vizConfig.themes)[themeVar]) == null ? void 0 : _b.call(_a2, props);
@@ -4775,7 +4864,12 @@ var withDashboardViz = (opts) => {
4775
4864
  featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableAcceleratedRender
4776
4865
  );
4777
4866
  const isAcceleratedRenderOn = isAcceleratedRenderFeatureFlagOn2 && isTimeSeriesCanvasRenderSupported(vizConfig.key) && (options == null ? void 0 : options.acceleratedRender) === true;
4778
- const isMounted = react_exports.useRef(true);
4867
+ const bypassCloneDeepOptionScope = Boolean(
4868
+ getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
4869
+ );
4870
+ const lazyLoadingDataFrame = Boolean(
4871
+ getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
4872
+ );
4779
4873
  const optionsToEvaluate = react_exports.useMemo(() => {
4780
4874
  var _a2;
4781
4875
  const legendDisplay = turnOffLegendDisplayWhenTrellisIsOn(isTrellisOn, options);
@@ -4814,63 +4908,74 @@ var withDashboardViz = (opts) => {
4814
4908
  threshold,
4815
4909
  isDownsamplingEnabled
4816
4910
  });
4817
- evaluatedOptions = useDeepMemo(() => {
4911
+ const asyncOptionsEvaluationParams = useDeepMemo(
4912
+ () => getAsyncOptionsEvaluationParams({
4913
+ visualizationID,
4914
+ props,
4915
+ optionsToEvaluate,
4916
+ downsampledDataSources,
4917
+ vizConfig,
4918
+ bypassCloneDeepOptionScope,
4919
+ lazyLoadingDataFrame
4920
+ }),
4921
+ [
4922
+ visualizationID,
4923
+ optionsToEvaluate,
4924
+ downsampledDataSources,
4925
+ vizConfig,
4926
+ bypassCloneDeepOptionScope,
4927
+ lazyLoadingDataFrame,
4928
+ currentThemeFamily,
4929
+ currentThemeColorScheme,
4930
+ currentThemeDensity,
4931
+ localeContext.serializedTimezone
4932
+ ]
4933
+ );
4934
+ react_exports.useEffect(() => {
4935
+ if (!useAsyncEvaluatedOptions) {
4936
+ return void 0;
4937
+ }
4938
+ let ownsEvaluation = true;
4818
4939
  try {
4819
- if (useAsyncEvaluatedOptions) {
4820
- const asyncDynamicOptionsEvaluatorParams = {
4821
- visualizationID,
4822
- props,
4823
- options: optionsToEvaluate,
4824
- dataSources: downsampledDataSources,
4825
- theme: vizConfig.themes,
4826
- bypassCloneDeepOptionScope: Boolean(
4827
- getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
4828
- ),
4829
- lazyLoadingDataFrame: Boolean(
4830
- getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
4831
- )
4832
- };
4833
- async_dynamic_options_evaluator_default.evaluate(asyncDynamicOptionsEvaluatorParams).then((results) => {
4940
+ async_dynamic_options_evaluator_default.evaluate(asyncOptionsEvaluationParams).then((results) => {
4941
+ if (ownsEvaluation) {
4834
4942
  setEvaluatedOptionsAsync(results.results);
4835
- }).catch(() => {
4836
- if (isMounted.current) {
4837
- setUseAsyncEvaluatedOptions(false);
4838
- }
4839
- });
4840
- } else {
4841
- let dataFrames = dataFramesInState;
4842
- if (downsampledDataSources !== dataSourcesInState) {
4843
- setDataSourcesInState(downsampledDataSources);
4844
- dataFrames = Options_exports.Options.dataFrameFromDataSource(
4845
- downsampledDataSources,
4846
- getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
4847
- );
4848
- setDataFramesInState(dataFrames);
4849
4943
  }
4850
- let mergedFrames = dataFrames;
4851
- if (computeDataFrames && dataFrames) {
4852
- const derivedFrames = computeDataFrames({
4853
- dataSources: downsampledDataSources,
4854
- options: optionsToEvaluate.options
4855
- });
4856
- mergedFrames = __spreadValues(__spreadValues({}, dataFrames), derivedFrames);
4944
+ }).catch(() => {
4945
+ if (ownsEvaluation) {
4946
+ setUseAsyncEvaluatedOptions(false);
4857
4947
  }
4858
- const result = Options_exports.Options.evaluate(
4859
- optionsToEvaluate,
4860
- downsampledDataSources,
4861
- themeFunc,
4862
- mergedFrames,
4863
- getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
4864
- );
4865
- return result;
4948
+ });
4949
+ } catch (e) {
4950
+ setUseAsyncEvaluatedOptions(false);
4951
+ }
4952
+ return () => {
4953
+ ownsEvaluation = false;
4954
+ async_dynamic_options_evaluator_default.reset(visualizationID);
4955
+ };
4956
+ }, [asyncOptionsEvaluationParams, useAsyncEvaluatedOptions, visualizationID]);
4957
+ evaluatedOptions = useDeepMemo(() => {
4958
+ try {
4959
+ if (useAsyncEvaluatedOptions) {
4960
+ return {};
4866
4961
  }
4962
+ return evaluateOptionsSync({
4963
+ optionsToEvaluate,
4964
+ downsampledDataSources,
4965
+ dataSourcesInState,
4966
+ dataFramesInState,
4967
+ setDataSourcesInState,
4968
+ setDataFramesInState,
4969
+ computeDataFrames,
4970
+ featureFlagContext,
4971
+ themeFunc
4972
+ });
4867
4973
  } catch (e) {
4868
4974
  if (e instanceof Error) {
4869
4975
  console.error(`unexpected error evaluating options: ${e.message}`);
4870
4976
  }
4871
4977
  return {};
4872
4978
  }
4873
- return {};
4874
4979
  }, [
4875
4980
  currentThemeFamily,
4876
4981
  currentThemeColorScheme,
@@ -4880,7 +4985,7 @@ var withDashboardViz = (opts) => {
4880
4985
  localeContext.serializedTimezone,
4881
4986
  useAsyncEvaluatedOptions
4882
4987
  ]);
4883
- const evaluatedOptionsToUse = !useAsyncEvaluatedOptions ? evaluatedOptions : evaluatedOptionsAsync;
4988
+ const evaluatedOptionsToUse = useAsyncEvaluatedOptions ? evaluatedOptionsAsync : evaluatedOptions;
4884
4989
  let dataSourceMetadata = {};
4885
4990
  const OptionKey = "paginateDataSourceKey";
4886
4991
  const optsKey = (0, lodash_exports.has)(evaluatedOptionsToUse, OptionKey) && evaluatedOptionsToUse[OptionKey];
@@ -4902,7 +5007,7 @@ var withDashboardViz = (opts) => {
4902
5007
  sortParams,
4903
5008
  paginatorParams
4904
5009
  };
4905
- if (vizConfig.supports.indexOf("page-and-sort" /* PAGE_AND_SORT */) === -1 && !(0, lodash_exports.has)(dataSources, paginateDataSourceKey)) {
5010
+ if (!vizConfig.supports.includes("page-and-sort" /* PAGE_AND_SORT */) && !(0, lodash_exports.has)(dataSources, paginateDataSourceKey)) {
4906
5011
  dataSourceMetadata = {};
4907
5012
  }
4908
5013
  const clonedEvaluatedOptions = __spreadValues({}, evaluatedOptionsToUse);
@@ -4912,14 +5017,6 @@ var withDashboardViz = (opts) => {
4912
5017
  react_exports.useEffect(() => {
4913
5018
  onComputedProps(clonedEvaluatedOptions);
4914
5019
  });
4915
- react_exports.useEffect(() => {
4916
- return () => {
4917
- if (useAsyncEvaluatedOptions) {
4918
- isMounted.current = false;
4919
- async_dynamic_options_evaluator_default.reset(visualizationID);
4920
- }
4921
- };
4922
- }, []);
4923
5020
  const { requiredProps = [], supports } = vizConfig;
4924
5021
  const missing = missingKeys(requiredProps, evaluatedOptionsToUse);
4925
5022
  if (missing.length > 0 && supports.includes("placeholder" /* PLACEHOLDER */) && vizConfig.key !== "splunk.singlevalue") {
@@ -4934,7 +5031,16 @@ var withDashboardViz = (opts) => {
4934
5031
  }
4935
5032
  );
4936
5033
  }
4937
- const eventCallbackProps = hasEventHandlers && mode === "view" && vizConfig.supports.includes("events" /* EVENTS */) ? buildEventCallbackProps(vizConfig.events, evaluatedOptionsToUse, onEventTrigger) : {};
5034
+ const eventCallbackProps = buildAllEventCallbackProps(
5035
+ vizConfig.events,
5036
+ evaluatedOptionsToUse,
5037
+ onEventTrigger,
5038
+ {
5039
+ supportsEvents: vizConfig.supports.includes("events" /* EVENTS */),
5040
+ hasEventHandlers,
5041
+ mode
5042
+ }
5043
+ );
4938
5044
  const computedVizProps = computeVizProps2(__spreadProps(__spreadValues(__spreadProps(__spreadValues(__spreadValues({}, props), evaluatedOptionsToUse), {
4939
5045
  // Align option transformation with the actual renderer selected below.
4940
5046
  // This prevents canvas-only option preservation from leaking into Highcharts mode.
@@ -4962,8 +5068,9 @@ var withDashboardViz = (opts) => {
4962
5068
  onEventTrigger: SplunkVisualization_default.defaults.onEventTrigger
4963
5069
  });
4964
5070
  DashboardViz.config = vizConfig;
4965
- return (0, styled_components_exports.withTheme)(
4966
- withPlaceholder_default(withEditModeCover_default(DashboardViz, disableEditModeCover), useIconPlaceholder)
5071
+ return Object.assign(
5072
+ (0, styled_components_exports.withTheme)(withPlaceholder_default(withEditModeCover_default(DashboardViz, disableEditModeCover), useIconPlaceholder)),
5073
+ { config: vizConfig }
4967
5074
  );
4968
5075
  };
4969
5076
  var withDashboardViz_default = withDashboardViz;
@@ -5044,18 +5151,9 @@ var Paginator_exports = {};
5044
5151
  __export(Paginator_exports, {
5045
5152
  default: () => Paginator_default
5046
5153
  });
5047
- var defaultImport38 = __toESM(require("@splunk/react-ui/Paginator"));
5154
+ var defaultImport39 = __toESM(require("@splunk/react-ui/Paginator"));
5048
5155
  __reExport(Paginator_exports, require("@splunk/react-ui/Paginator"));
5049
- var Paginator_default = "default" in defaultImport38 ? defaultImport38.default : defaultImport38;
5050
-
5051
- // esm-externals:@splunk/themes
5052
- var themes_exports = {};
5053
- __export(themes_exports, {
5054
- default: () => themes_default
5055
- });
5056
- var defaultImport39 = __toESM(require("@splunk/themes"));
5057
- __reExport(themes_exports, require("@splunk/themes"));
5058
- var themes_default = "default" in defaultImport39 ? defaultImport39.default : defaultImport39;
5156
+ var Paginator_default = "default" in defaultImport39 ? defaultImport39.default : defaultImport39;
5059
5157
 
5060
5158
  // src/common/hocs/withTrellis.tsx
5061
5159
  var evaluatePanelOption = (panelDataSources, allOptions, optionKey, vizContext) => {
@@ -5078,7 +5176,7 @@ var sortTrellisKeys = (keys, trellisSortBy, trellisSortOrder, modifiedDataSource
5078
5176
  if (trellisSortBy === "trend") {
5079
5177
  optionKey = "trendValue";
5080
5178
  } else {
5081
- optionKey = mergedOptions.value !== void 0 ? "value" : "majorValue";
5179
+ optionKey = mergedOptions.value === void 0 ? "majorValue" : "value";
5082
5180
  }
5083
5181
  keys.sort((a, b) => {
5084
5182
  const valA = evaluatePanelOption(
@@ -5230,13 +5328,13 @@ var withTrellis = (Viz) => {
5230
5328
  const noColumns = columns === void 0;
5231
5329
  const noFields = fields === void 0;
5232
5330
  const updateDataDisplay = (currPage) => {
5233
- if (!showPaginator) {
5234
- setPagedData(splitByKeys);
5235
- setPageNum(1);
5236
- } else {
5331
+ if (showPaginator) {
5237
5332
  const startIdx = pageCount * (currPage - 1);
5238
5333
  const paged = splitByKeys.slice(startIdx, startIdx + pageCount);
5239
5334
  setPagedData(paged);
5335
+ } else {
5336
+ setPagedData(splitByKeys);
5337
+ setPageNum(1);
5240
5338
  }
5241
5339
  };
5242
5340
  (0, react_exports.useEffect)(() => {