@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/Line.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) => {
@@ -1553,10 +1550,8 @@ var AxesChartDataDisplayColumn = {
1553
1550
  };
1554
1551
  var AxesChartDataDisplayLine = {
1555
1552
  label: AxesChartDataDisplayBase.label,
1556
- layout: [
1557
- // remove stacked mode editor
1558
- ...AxesChartDataDisplayBase.layout.slice(1)
1559
- ]
1553
+ // remove stacked mode editor
1554
+ layout: AxesChartDataDisplayBase.layout.slice(1)
1560
1555
  };
1561
1556
 
1562
1557
  // src/common/editorConfig/BackgroundColor.ts
@@ -2724,7 +2719,10 @@ var useSortingParams = ({ requestParams, onRequestParamsChange }) => {
2724
2719
  onSort = (e, { sortKey, sortDir }) => {
2725
2720
  if (typeof sortKey === "string") {
2726
2721
  const nextSortDir = (0, lodash_exports.has)(nextSortDirMap, sortDir) ? nextSortDirMap[sortDir] : "none";
2727
- onRequestParamsChange(__spreadValues(__spreadValues({}, requestParams), { offset: 0, sort: { [sortKey]: nextSortDir } }));
2722
+ onRequestParamsChange(__spreadProps(__spreadValues({}, requestParams), {
2723
+ offset: 0,
2724
+ sort: { [sortKey]: nextSortDir }
2725
+ }));
2728
2726
  } else {
2729
2727
  onRequestParamsChange(requestParams);
2730
2728
  }
@@ -2850,7 +2848,7 @@ var Cover = styled_components_default.div`
2850
2848
  bottom: 0;
2851
2849
  `;
2852
2850
  var Blocker = styled_components_default.div.attrs({
2853
- "data-splunk-visualization-version": "28.7.0 - d7b18cab6"
2851
+ "data-splunk-visualization-version": "28.9.0 - 96b03188d"
2854
2852
  })`
2855
2853
  position: relative;
2856
2854
  width: 100%;
@@ -2876,6 +2874,15 @@ var defaultImport31 = __toESM(require("@splunk/visualizations-shared/colorUtils"
2876
2874
  __reExport(colorUtils_exports, require("@splunk/visualizations-shared/colorUtils"));
2877
2875
  var colorUtils_default = "default" in defaultImport31 ? defaultImport31.default : defaultImport31;
2878
2876
 
2877
+ // esm-externals:@splunk/themes
2878
+ var themes_exports = {};
2879
+ __export(themes_exports, {
2880
+ default: () => themes_default
2881
+ });
2882
+ var defaultImport32 = __toESM(require("@splunk/themes"));
2883
+ __reExport(themes_exports, require("@splunk/themes"));
2884
+ var themes_default = "default" in defaultImport32 ? defaultImport32.default : defaultImport32;
2885
+
2879
2886
  // src/common/hocs/FixedSizeContainer.tsx
2880
2887
  var Item = styled_components_default.div.attrs(({ width }) => ({
2881
2888
  style: {
@@ -2931,7 +2938,7 @@ var withFixedSizeContainer = (Viz) => {
2931
2938
  FixSizeItem,
2932
2939
  {
2933
2940
  "data-test": "fix-size-item",
2934
- "data-splunk-visualization-version": "28.7.0 - d7b18cab6",
2941
+ "data-splunk-visualization-version": "28.9.0 - 96b03188d",
2935
2942
  width,
2936
2943
  height,
2937
2944
  backgroundColor
@@ -2952,6 +2959,14 @@ var shouldShowIconPlaceholder = (dataSources, loading = false) => {
2952
2959
  const noFields = fields === void 0;
2953
2960
  return loading || noData || noFields;
2954
2961
  };
2962
+ var PlaceholderContainer = styled_components_default.div`
2963
+ /* The inline token color wins when supported. Older browsers discard an
2964
+ unsupported oklch value and retain this inherited fallback instead. */
2965
+ color: ${(0, themes_exports.pick)({
2966
+ dark: "#fafafa",
2967
+ light: "#2c2c2c"
2968
+ })};
2969
+ `;
2955
2970
  var IconPlaceholder = (props) => {
2956
2971
  const {
2957
2972
  width = SplunkVisualization_default.defaults.width,
@@ -2966,7 +2981,6 @@ var IconPlaceholder = (props) => {
2966
2981
  style: {
2967
2982
  left: "50%",
2968
2983
  top: "50%",
2969
- color: iconColor,
2970
2984
  opacity: 0.15,
2971
2985
  position: "absolute",
2972
2986
  transform: "translate(-50%, -50%)"
@@ -2976,7 +2990,14 @@ var IconPlaceholder = (props) => {
2976
2990
  "data-test": "icon-placeholder"
2977
2991
  });
2978
2992
  }
2979
- return /* @__PURE__ */ react_exports.createElement("div", { style: { width, height, background: backgroundColor } }, content);
2993
+ return /* @__PURE__ */ react_exports.createElement(
2994
+ PlaceholderContainer,
2995
+ {
2996
+ "data-test": "icon-placeholder-container",
2997
+ style: { width, height, background: backgroundColor, color: iconColor }
2998
+ },
2999
+ content
3000
+ );
2980
3001
  };
2981
3002
  var IconPlaceholder_default = FixedSizeContainer_default(IconPlaceholder);
2982
3003
 
@@ -3179,16 +3200,16 @@ var FeatureFlags_exports = {};
3179
3200
  __export(FeatureFlags_exports, {
3180
3201
  default: () => FeatureFlags_default
3181
3202
  });
3182
- var defaultImport32 = __toESM(require("@splunk/visualization-context/FeatureFlags"));
3203
+ var defaultImport33 = __toESM(require("@splunk/visualization-context/FeatureFlags"));
3183
3204
  __reExport(FeatureFlags_exports, require("@splunk/visualization-context/FeatureFlags"));
3184
- var FeatureFlags_default = "default" in defaultImport32 ? defaultImport32.default : defaultImport32;
3205
+ var FeatureFlags_default = "default" in defaultImport33 ? defaultImport33.default : defaultImport33;
3185
3206
 
3186
3207
  // src/common/utils/featureFlagUtils.ts
3187
3208
  var getFeatureFlag = (context, flagName) => {
3188
- if (context && Object.keys(context).find((key) => key === flagName)) {
3209
+ if (context && Object.keys(context).includes(flagName)) {
3189
3210
  return context[flagName];
3190
3211
  }
3191
- if (Object.keys(FeatureFlags_default).find((key) => key === flagName)) {
3212
+ if (Object.keys(FeatureFlags_default).includes(flagName)) {
3192
3213
  return FeatureFlags_default[flagName];
3193
3214
  }
3194
3215
  return false;
@@ -3199,9 +3220,9 @@ var trellisUtils_exports = {};
3199
3220
  __export(trellisUtils_exports, {
3200
3221
  default: () => trellisUtils_default
3201
3222
  });
3202
- var defaultImport33 = __toESM(require("@splunk/visualizations-shared/trellisUtils"));
3223
+ var defaultImport34 = __toESM(require("@splunk/visualizations-shared/trellisUtils"));
3203
3224
  __reExport(trellisUtils_exports, require("@splunk/visualizations-shared/trellisUtils"));
3204
- var trellisUtils_default = "default" in defaultImport33 ? defaultImport33.default : defaultImport33;
3225
+ var trellisUtils_default = "default" in defaultImport34 ? defaultImport34.default : defaultImport34;
3205
3226
 
3206
3227
  // src/common/utils/trellisUtils.ts
3207
3228
  var AGGREGATIONS = "aggregations";
@@ -3422,7 +3443,7 @@ var dataSourcesSplitByModeChart = (dataSource, splitBy) => {
3422
3443
  splitByFields = (0, trellisUtils_exports.extractSplitByFieldsChartFields)(fields);
3423
3444
  }
3424
3445
  if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
3425
- const splitByFieldIdx = splitByFields.findIndex((f) => f === splitBy);
3446
+ const splitByFieldIdx = splitByFields.indexOf(splitBy);
3426
3447
  const otherSplitBy = splitByFields.filter((f) => f !== splitBy);
3427
3448
  const dataSourceKeys = (0, trellisUtils_exports.extractDataSourceAggregationKeysChart)(fields);
3428
3449
  const nonDataSourceAggregations = [];
@@ -3456,17 +3477,17 @@ var dataSourcesSplitByModeStatsorUnknown = (dataSource, splitBy, splitMode) => {
3456
3477
  let splitByFields = [];
3457
3478
  let errorCode = null;
3458
3479
  if (fields.length > 0) {
3459
- splitByFields = splitMode !== trellisUtils_exports.UNKNOWN ? (0, trellisUtils_exports.extractSplitByFieldsForStats)(fields) : (0, trellisUtils_exports.extractSplitByFieldsForUnknown)(fields);
3480
+ splitByFields = splitMode === trellisUtils_exports.UNKNOWN ? (0, trellisUtils_exports.extractSplitByFieldsForUnknown)(fields) : (0, trellisUtils_exports.extractSplitByFieldsForStats)(fields);
3460
3481
  }
3461
3482
  const splitByIndex = fields.findIndex((field) => field.name === splitBy);
3462
3483
  if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
3463
3484
  const splitByColumn = (_f = (_e = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _e.data) == null ? void 0 : _f.columns[splitByIndex];
3464
3485
  splitDataSources = {};
3465
3486
  splitByColumn.forEach((val, idx) => {
3466
- if (!splitDataSources[val]) {
3467
- splitDataSources[val] = [idx];
3468
- } else {
3487
+ if (splitDataSources[val]) {
3469
3488
  splitDataSources[val].push(idx);
3489
+ } else {
3490
+ splitDataSources[val] = [idx];
3470
3491
  }
3471
3492
  });
3472
3493
  const cloneFields = (0, lodash_exports.cloneDeep)(fields);
@@ -3517,27 +3538,28 @@ var turnOffLegendDisplayWhenTrellisIsOn = (isTrellisOn, options) => {
3517
3538
  }
3518
3539
  return {};
3519
3540
  };
3541
+ var extendMinMaxWithColumn = (column, range2) => column.reduce((acc, point) => {
3542
+ const pointNumber = Number(point);
3543
+ if (Number.isNaN(pointNumber)) {
3544
+ return acc;
3545
+ }
3546
+ return {
3547
+ min: Math.min(pointNumber, acc.min),
3548
+ max: Math.max(pointNumber, acc.max)
3549
+ };
3550
+ }, range2);
3520
3551
  var calculateSharedMinMax = (splitData) => {
3521
- let max = -Infinity;
3522
- let min = Infinity;
3552
+ let range2 = { min: Infinity, max: -Infinity };
3523
3553
  Object.keys(splitData).forEach((splitByKey) => {
3524
3554
  const datasources = splitData[splitByKey];
3525
3555
  Object.keys(datasources).forEach((datasourceName) => {
3526
3556
  const dataColumns = datasources[datasourceName].data.columns;
3527
3557
  dataColumns.forEach((column) => {
3528
- column.forEach((point) => {
3529
- const pointNumber = Number(point);
3530
- if (pointNumber > max) {
3531
- max = pointNumber;
3532
- }
3533
- if (pointNumber < min) {
3534
- min = pointNumber;
3535
- }
3536
- });
3558
+ range2 = extendMinMaxWithColumn(column, range2);
3537
3559
  });
3538
3560
  });
3539
3561
  });
3540
- return [min, max];
3562
+ return [range2.min, range2.max];
3541
3563
  };
3542
3564
  var determineMinMax = (splitData, trellisSharedScale, yAxisMin, yAxisMax, stackMode) => {
3543
3565
  if (!trellisSharedScale || stackMode === "stacked100" || yAxisMin !== "auto" && yAxisMax !== "auto")
@@ -3553,9 +3575,9 @@ var visualization_canvas_exports = {};
3553
3575
  __export(visualization_canvas_exports, {
3554
3576
  default: () => visualization_canvas_default
3555
3577
  });
3556
- var defaultImport34 = __toESM(require("@splunk/visualization-canvas"));
3578
+ var defaultImport35 = __toESM(require("@splunk/visualization-canvas"));
3557
3579
  __reExport(visualization_canvas_exports, require("@splunk/visualization-canvas"));
3558
- var visualization_canvas_default = "default" in defaultImport34 ? defaultImport34.default : defaultImport34;
3580
+ var visualization_canvas_default = "default" in defaultImport35 ? defaultImport35.default : defaultImport35;
3559
3581
 
3560
3582
  // src/common/components/VizStyleWrapper.jsx
3561
3583
  var VizStyleWrapper = styled_components_default.div.attrs(({ dataTestKey }) => ({
@@ -3577,27 +3599,27 @@ var Triangle_exports = {};
3577
3599
  __export(Triangle_exports, {
3578
3600
  default: () => Triangle_default
3579
3601
  });
3580
- var defaultImport35 = __toESM(require("@splunk/react-icons/Triangle"));
3602
+ var defaultImport36 = __toESM(require("@splunk/react-icons/Triangle"));
3581
3603
  __reExport(Triangle_exports, require("@splunk/react-icons/Triangle"));
3582
- var Triangle_default = "default" in defaultImport35 ? defaultImport35.default : defaultImport35;
3604
+ var Triangle_default = "default" in defaultImport36 ? defaultImport36.default : defaultImport36;
3583
3605
 
3584
3606
  // esm-externals:@splunk/visualizations-shared/propUtils
3585
3607
  var propUtils_exports = {};
3586
3608
  __export(propUtils_exports, {
3587
3609
  default: () => propUtils_default
3588
3610
  });
3589
- var defaultImport36 = __toESM(require("@splunk/visualizations-shared/propUtils"));
3611
+ var defaultImport37 = __toESM(require("@splunk/visualizations-shared/propUtils"));
3590
3612
  __reExport(propUtils_exports, require("@splunk/visualizations-shared/propUtils"));
3591
- var propUtils_default = "default" in defaultImport36 ? defaultImport36.default : defaultImport36;
3613
+ var propUtils_default = "default" in defaultImport37 ? defaultImport37.default : defaultImport37;
3592
3614
 
3593
3615
  // esm-externals:@splunk/visualizations-shared/simpleXMLOptions
3594
3616
  var simpleXMLOptions_exports = {};
3595
3617
  __export(simpleXMLOptions_exports, {
3596
3618
  default: () => simpleXMLOptions_default
3597
3619
  });
3598
- var defaultImport37 = __toESM(require("@splunk/visualizations-shared/simpleXMLOptions"));
3620
+ var defaultImport38 = __toESM(require("@splunk/visualizations-shared/simpleXMLOptions"));
3599
3621
  __reExport(simpleXMLOptions_exports, require("@splunk/visualizations-shared/simpleXMLOptions"));
3600
- var simpleXMLOptions_default = "default" in defaultImport37 ? defaultImport37.default : defaultImport37;
3622
+ var simpleXMLOptions_default = "default" in defaultImport38 ? defaultImport38.default : defaultImport38;
3601
3623
 
3602
3624
  // src/common/chartingUtils.ts
3603
3625
  var SHARED_AXIS_CHART_CANVAS_SPECIFIC_PROPS = [
@@ -3684,7 +3706,7 @@ var truncateData = (dataSet, truncationLimit) => {
3684
3706
  if (!dataSet) {
3685
3707
  return null;
3686
3708
  }
3687
- const limit = parseInt(truncationLimit, 10);
3709
+ const limit = Number.parseInt(truncationLimit, 10);
3688
3710
  if (!limit || limit <= 0) {
3689
3711
  return dataSet;
3690
3712
  }
@@ -3716,7 +3738,7 @@ var constructFieldsAndColumns = ({
3716
3738
  const y2FieldsArray = toArrayForSeries(y2, y2Fields);
3717
3739
  const y2AsArray = toArrayForSeries(y2, y2).map((series) => series == null ? void 0 : series.map(String));
3718
3740
  y2FieldsArray.forEach((y2Field, index) => {
3719
- if (yFieldsArray.indexOf(y2Field) === -1 && y2AsArray[index]) {
3741
+ if (!yFieldsArray.includes(y2Field) && y2AsArray[index]) {
3720
3742
  fields.push({
3721
3743
  name: y2Field
3722
3744
  });
@@ -3808,9 +3830,9 @@ var shouldEnableSearchZoom = (eventHandlers = [], xField = "") => {
3808
3830
  const xAxisIsTime = xField === "_time";
3809
3831
  return !!rangeSelectEventHandler && xAxisIsTime;
3810
3832
  };
3811
- var canvasSupportedTimeSeriesCharts = ["splunk.line", "splunk.area"];
3833
+ var canvasSupportedTimeSeriesCharts = /* @__PURE__ */ new Set(["splunk.line", "splunk.area"]);
3812
3834
  var isTimeSeriesCanvasRenderSupported = (vizConfigKey) => {
3813
- return canvasSupportedTimeSeriesCharts.includes(vizConfigKey);
3835
+ return canvasSupportedTimeSeriesCharts.has(vizConfigKey);
3814
3836
  };
3815
3837
  var filterChartDataFromInternalFields = (chartData) => {
3816
3838
  const { fields, columns } = chartData;
@@ -3826,7 +3848,7 @@ var filterChartDataFromInternalFields = (chartData) => {
3826
3848
  return { fields: filteredFields, columns: filteredColumns };
3827
3849
  };
3828
3850
  var convert2DArrayToNumbers = (arr) => {
3829
- return arr.map((subArray) => subArray.map((element) => parseFloat(element)));
3851
+ return arr.map((subArray) => subArray.map((element) => Number.parseFloat(element)));
3830
3852
  };
3831
3853
  var parseAxisValue = (val) => {
3832
3854
  if (val === void 0 || val === null || val === "auto" || val === "") {
@@ -3864,6 +3886,7 @@ var getLegend = (props) => {
3864
3886
  return (0, visualization_canvas_exports.TopLegendFactory)(__spreadValues({
3865
3887
  wrap: true
3866
3888
  }, commonLegendProps));
3889
+ // Note: By default, use right legend
3867
3890
  default:
3868
3891
  return (0, visualization_canvas_exports.SideLegendFactory)(__spreadValues({}, commonLegendProps));
3869
3892
  }
@@ -3996,10 +4019,10 @@ var getSeriesOverrides = (opts) => {
3996
4019
  let spanGaps;
3997
4020
  if (nullValueMode === "gaps") {
3998
4021
  spanGaps = false;
3999
- } else if (nullValueMode != null) {
4000
- spanGaps = true;
4001
- } else {
4022
+ } else if (nullValueMode == null) {
4002
4023
  spanGaps = void 0;
4024
+ } else {
4025
+ spanGaps = true;
4003
4026
  }
4004
4027
  const replaceNullsWithZero = nullValueMode === "zero" ? true : void 0;
4005
4028
  const isAreaChart = type === "area";
@@ -4369,11 +4392,11 @@ var TimeSeriesChartWrapper = (props) => {
4369
4392
  y2AxisMajorUnitFromSimpleXML,
4370
4393
  y2AxisMajorTickInterval
4371
4394
  );
4372
- const xAxisMajorTickSizeNum = xAxisMajorTickSize != null ? Number(xAxisMajorTickSize) : void 0;
4373
- const yAxisMajorTickSizeNum = yAxisMajorTickSize != null ? Number(yAxisMajorTickSize) : void 0;
4374
- const y2AxisMajorTickSizeNum = y2AxisMajorTickSize != null ? Number(y2AxisMajorTickSize) : void 0;
4375
- const yAxisMinorTickSizeNum = yAxisMinorTickSize != null ? Number(yAxisMinorTickSize) : void 0;
4376
- const y2AxisMinorTickSizeNum = y2AxisMinorTickSize != null ? Number(y2AxisMinorTickSize) : void 0;
4395
+ const xAxisMajorTickSizeNum = xAxisMajorTickSize == null ? void 0 : Number(xAxisMajorTickSize);
4396
+ const yAxisMajorTickSizeNum = yAxisMajorTickSize == null ? void 0 : Number(yAxisMajorTickSize);
4397
+ const y2AxisMajorTickSizeNum = y2AxisMajorTickSize == null ? void 0 : Number(y2AxisMajorTickSize);
4398
+ const yAxisMinorTickSizeNum = yAxisMinorTickSize == null ? void 0 : Number(yAxisMinorTickSize);
4399
+ const y2AxisMinorTickSizeNum = y2AxisMinorTickSize == null ? void 0 : Number(y2AxisMinorTickSize);
4377
4400
  const areaOpacityForCanvas = getAreaOpacityForCanvas(areaOpacity);
4378
4401
  const seriesColors = seriesColorsStr ? JSON.parse(seriesColorsStr) : void 0;
4379
4402
  const seriesColorsByField = fieldColors ? JSON.parse(fieldColors) : void 0;
@@ -4785,6 +4808,76 @@ var buildEventCallbackProps = (supportedEvents, evaluatedOptionsToUse, onEventTr
4785
4808
  });
4786
4809
  return result;
4787
4810
  };
4811
+ var buildAllEventCallbackProps = (events, evaluatedOptionsToUse, onEventTrigger, { supportsEvents, hasEventHandlers, mode }) => {
4812
+ if (!supportsEvents) return {};
4813
+ const defaultEvents = {};
4814
+ const userEvents = {};
4815
+ Object.entries(events || {}).forEach(([eventKey, eventConfig]) => {
4816
+ (eventConfig.source === "default" ? defaultEvents : userEvents)[eventKey] = eventConfig;
4817
+ });
4818
+ const userProps = hasEventHandlers && mode === "view" ? buildEventCallbackProps(userEvents, evaluatedOptionsToUse, onEventTrigger) : {};
4819
+ return __spreadValues(__spreadValues({}, userProps), buildEventCallbackProps(defaultEvents, evaluatedOptionsToUse, onEventTrigger));
4820
+ };
4821
+ var applyContextTimezone = (localeContext) => {
4822
+ if (localeContext.serializedTimezone && !moment_default.getDefaultSplunkTimezone()) {
4823
+ moment_default.setDefaultSplunkTimezone(localeContext.serializedTimezone);
4824
+ }
4825
+ };
4826
+ var getAsyncOptionsEvaluationParams = ({
4827
+ visualizationID,
4828
+ props,
4829
+ optionsToEvaluate,
4830
+ downsampledDataSources,
4831
+ vizConfig,
4832
+ bypassCloneDeepOptionScope,
4833
+ lazyLoadingDataFrame
4834
+ }) => {
4835
+ return {
4836
+ visualizationID,
4837
+ props,
4838
+ options: __spreadValues({}, optionsToEvaluate),
4839
+ dataSources: downsampledDataSources,
4840
+ theme: vizConfig.themes,
4841
+ bypassCloneDeepOptionScope,
4842
+ lazyLoadingDataFrame
4843
+ };
4844
+ };
4845
+ var evaluateOptionsSync = ({
4846
+ optionsToEvaluate,
4847
+ downsampledDataSources,
4848
+ dataSourcesInState,
4849
+ dataFramesInState,
4850
+ setDataSourcesInState,
4851
+ setDataFramesInState,
4852
+ computeDataFrames,
4853
+ featureFlagContext,
4854
+ themeFunc
4855
+ }) => {
4856
+ let dataFrames = dataFramesInState;
4857
+ if (downsampledDataSources !== dataSourcesInState) {
4858
+ setDataSourcesInState(downsampledDataSources);
4859
+ dataFrames = Options_exports.Options.dataFrameFromDataSource(
4860
+ downsampledDataSources,
4861
+ getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
4862
+ );
4863
+ setDataFramesInState(dataFrames);
4864
+ }
4865
+ let mergedFrames = dataFrames;
4866
+ if (computeDataFrames && dataFrames) {
4867
+ const derivedFrames = computeDataFrames({
4868
+ dataSources: downsampledDataSources,
4869
+ options: optionsToEvaluate.options
4870
+ });
4871
+ mergedFrames = __spreadValues(__spreadValues({}, dataFrames), derivedFrames);
4872
+ }
4873
+ return Options_exports.Options.evaluate(
4874
+ optionsToEvaluate,
4875
+ downsampledDataSources,
4876
+ themeFunc,
4877
+ mergedFrames,
4878
+ getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
4879
+ );
4880
+ };
4788
4881
  var withDashboardViz = (opts) => {
4789
4882
  const {
4790
4883
  ReactViz,
@@ -4816,11 +4909,7 @@ var withDashboardViz = (opts) => {
4816
4909
  onRequestParamsChange = lodash_exports.noop
4817
4910
  } = props;
4818
4911
  const localeContext = react_exports.useContext(TimezoneContext_default);
4819
- if (localeContext.serializedTimezone) {
4820
- if (!moment_default.getDefaultSplunkTimezone()) {
4821
- moment_default.setDefaultSplunkTimezone(localeContext.serializedTimezone);
4822
- }
4823
- }
4912
+ applyContextTimezone(localeContext);
4824
4913
  const themeFunc = (themeVar) => {
4825
4914
  var _a2, _b;
4826
4915
  return (_b = (_a2 = vizConfig.themes)[themeVar]) == null ? void 0 : _b.call(_a2, props);
@@ -4848,7 +4937,12 @@ var withDashboardViz = (opts) => {
4848
4937
  featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableAcceleratedRender
4849
4938
  );
4850
4939
  const isAcceleratedRenderOn = isAcceleratedRenderFeatureFlagOn2 && isTimeSeriesCanvasRenderSupported(vizConfig.key) && (options == null ? void 0 : options.acceleratedRender) === true;
4851
- const isMounted = react_exports.useRef(true);
4940
+ const bypassCloneDeepOptionScope = Boolean(
4941
+ getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
4942
+ );
4943
+ const lazyLoadingDataFrame = Boolean(
4944
+ getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
4945
+ );
4852
4946
  const optionsToEvaluate = react_exports.useMemo(() => {
4853
4947
  var _a2;
4854
4948
  const legendDisplay = turnOffLegendDisplayWhenTrellisIsOn(isTrellisOn, options);
@@ -4887,63 +4981,74 @@ var withDashboardViz = (opts) => {
4887
4981
  threshold,
4888
4982
  isDownsamplingEnabled
4889
4983
  });
4890
- evaluatedOptions = useDeepMemo(() => {
4984
+ const asyncOptionsEvaluationParams = useDeepMemo(
4985
+ () => getAsyncOptionsEvaluationParams({
4986
+ visualizationID,
4987
+ props,
4988
+ optionsToEvaluate,
4989
+ downsampledDataSources,
4990
+ vizConfig,
4991
+ bypassCloneDeepOptionScope,
4992
+ lazyLoadingDataFrame
4993
+ }),
4994
+ [
4995
+ visualizationID,
4996
+ optionsToEvaluate,
4997
+ downsampledDataSources,
4998
+ vizConfig,
4999
+ bypassCloneDeepOptionScope,
5000
+ lazyLoadingDataFrame,
5001
+ currentThemeFamily,
5002
+ currentThemeColorScheme,
5003
+ currentThemeDensity,
5004
+ localeContext.serializedTimezone
5005
+ ]
5006
+ );
5007
+ react_exports.useEffect(() => {
5008
+ if (!useAsyncEvaluatedOptions) {
5009
+ return void 0;
5010
+ }
5011
+ let ownsEvaluation = true;
4891
5012
  try {
4892
- if (useAsyncEvaluatedOptions) {
4893
- const asyncDynamicOptionsEvaluatorParams = {
4894
- visualizationID,
4895
- props,
4896
- options: optionsToEvaluate,
4897
- dataSources: downsampledDataSources,
4898
- theme: vizConfig.themes,
4899
- bypassCloneDeepOptionScope: Boolean(
4900
- getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
4901
- ),
4902
- lazyLoadingDataFrame: Boolean(
4903
- getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
4904
- )
4905
- };
4906
- async_dynamic_options_evaluator_default.evaluate(asyncDynamicOptionsEvaluatorParams).then((results) => {
5013
+ async_dynamic_options_evaluator_default.evaluate(asyncOptionsEvaluationParams).then((results) => {
5014
+ if (ownsEvaluation) {
4907
5015
  setEvaluatedOptionsAsync(results.results);
4908
- }).catch(() => {
4909
- if (isMounted.current) {
4910
- setUseAsyncEvaluatedOptions(false);
4911
- }
4912
- });
4913
- } else {
4914
- let dataFrames = dataFramesInState;
4915
- if (downsampledDataSources !== dataSourcesInState) {
4916
- setDataSourcesInState(downsampledDataSources);
4917
- dataFrames = Options_exports.Options.dataFrameFromDataSource(
4918
- downsampledDataSources,
4919
- getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
4920
- );
4921
- setDataFramesInState(dataFrames);
4922
5016
  }
4923
- let mergedFrames = dataFrames;
4924
- if (computeDataFrames && dataFrames) {
4925
- const derivedFrames = computeDataFrames({
4926
- dataSources: downsampledDataSources,
4927
- options: optionsToEvaluate.options
4928
- });
4929
- mergedFrames = __spreadValues(__spreadValues({}, dataFrames), derivedFrames);
5017
+ }).catch(() => {
5018
+ if (ownsEvaluation) {
5019
+ setUseAsyncEvaluatedOptions(false);
4930
5020
  }
4931
- const result = Options_exports.Options.evaluate(
4932
- optionsToEvaluate,
4933
- downsampledDataSources,
4934
- themeFunc,
4935
- mergedFrames,
4936
- getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
4937
- );
4938
- return result;
5021
+ });
5022
+ } catch (e) {
5023
+ setUseAsyncEvaluatedOptions(false);
5024
+ }
5025
+ return () => {
5026
+ ownsEvaluation = false;
5027
+ async_dynamic_options_evaluator_default.reset(visualizationID);
5028
+ };
5029
+ }, [asyncOptionsEvaluationParams, useAsyncEvaluatedOptions, visualizationID]);
5030
+ evaluatedOptions = useDeepMemo(() => {
5031
+ try {
5032
+ if (useAsyncEvaluatedOptions) {
5033
+ return {};
4939
5034
  }
5035
+ return evaluateOptionsSync({
5036
+ optionsToEvaluate,
5037
+ downsampledDataSources,
5038
+ dataSourcesInState,
5039
+ dataFramesInState,
5040
+ setDataSourcesInState,
5041
+ setDataFramesInState,
5042
+ computeDataFrames,
5043
+ featureFlagContext,
5044
+ themeFunc
5045
+ });
4940
5046
  } catch (e) {
4941
5047
  if (e instanceof Error) {
4942
5048
  console.error(`unexpected error evaluating options: ${e.message}`);
4943
5049
  }
4944
5050
  return {};
4945
5051
  }
4946
- return {};
4947
5052
  }, [
4948
5053
  currentThemeFamily,
4949
5054
  currentThemeColorScheme,
@@ -4953,7 +5058,7 @@ var withDashboardViz = (opts) => {
4953
5058
  localeContext.serializedTimezone,
4954
5059
  useAsyncEvaluatedOptions
4955
5060
  ]);
4956
- const evaluatedOptionsToUse = !useAsyncEvaluatedOptions ? evaluatedOptions : evaluatedOptionsAsync;
5061
+ const evaluatedOptionsToUse = useAsyncEvaluatedOptions ? evaluatedOptionsAsync : evaluatedOptions;
4957
5062
  let dataSourceMetadata = {};
4958
5063
  const OptionKey = "paginateDataSourceKey";
4959
5064
  const optsKey = (0, lodash_exports.has)(evaluatedOptionsToUse, OptionKey) && evaluatedOptionsToUse[OptionKey];
@@ -4975,7 +5080,7 @@ var withDashboardViz = (opts) => {
4975
5080
  sortParams,
4976
5081
  paginatorParams
4977
5082
  };
4978
- if (vizConfig.supports.indexOf("page-and-sort" /* PAGE_AND_SORT */) === -1 && !(0, lodash_exports.has)(dataSources, paginateDataSourceKey)) {
5083
+ if (!vizConfig.supports.includes("page-and-sort" /* PAGE_AND_SORT */) && !(0, lodash_exports.has)(dataSources, paginateDataSourceKey)) {
4979
5084
  dataSourceMetadata = {};
4980
5085
  }
4981
5086
  const clonedEvaluatedOptions = __spreadValues({}, evaluatedOptionsToUse);
@@ -4985,14 +5090,6 @@ var withDashboardViz = (opts) => {
4985
5090
  react_exports.useEffect(() => {
4986
5091
  onComputedProps(clonedEvaluatedOptions);
4987
5092
  });
4988
- react_exports.useEffect(() => {
4989
- return () => {
4990
- if (useAsyncEvaluatedOptions) {
4991
- isMounted.current = false;
4992
- async_dynamic_options_evaluator_default.reset(visualizationID);
4993
- }
4994
- };
4995
- }, []);
4996
5093
  const { requiredProps = [], supports } = vizConfig;
4997
5094
  const missing = missingKeys(requiredProps, evaluatedOptionsToUse);
4998
5095
  if (missing.length > 0 && supports.includes("placeholder" /* PLACEHOLDER */) && vizConfig.key !== "splunk.singlevalue") {
@@ -5007,7 +5104,16 @@ var withDashboardViz = (opts) => {
5007
5104
  }
5008
5105
  );
5009
5106
  }
5010
- const eventCallbackProps = hasEventHandlers && mode === "view" && vizConfig.supports.includes("events" /* EVENTS */) ? buildEventCallbackProps(vizConfig.events, evaluatedOptionsToUse, onEventTrigger) : {};
5107
+ const eventCallbackProps = buildAllEventCallbackProps(
5108
+ vizConfig.events,
5109
+ evaluatedOptionsToUse,
5110
+ onEventTrigger,
5111
+ {
5112
+ supportsEvents: vizConfig.supports.includes("events" /* EVENTS */),
5113
+ hasEventHandlers,
5114
+ mode
5115
+ }
5116
+ );
5011
5117
  const computedVizProps = computeVizProps2(__spreadProps(__spreadValues(__spreadProps(__spreadValues(__spreadValues({}, props), evaluatedOptionsToUse), {
5012
5118
  // Align option transformation with the actual renderer selected below.
5013
5119
  // This prevents canvas-only option preservation from leaking into Highcharts mode.
@@ -5035,8 +5141,9 @@ var withDashboardViz = (opts) => {
5035
5141
  onEventTrigger: SplunkVisualization_default.defaults.onEventTrigger
5036
5142
  });
5037
5143
  DashboardViz.config = vizConfig;
5038
- return (0, styled_components_exports.withTheme)(
5039
- withPlaceholder_default(withEditModeCover_default(DashboardViz, disableEditModeCover), useIconPlaceholder)
5144
+ return Object.assign(
5145
+ (0, styled_components_exports.withTheme)(withPlaceholder_default(withEditModeCover_default(DashboardViz, disableEditModeCover), useIconPlaceholder)),
5146
+ { config: vizConfig }
5040
5147
  );
5041
5148
  };
5042
5149
  var withDashboardViz_default = withDashboardViz;
@@ -5152,18 +5259,9 @@ var Paginator_exports = {};
5152
5259
  __export(Paginator_exports, {
5153
5260
  default: () => Paginator_default
5154
5261
  });
5155
- var defaultImport38 = __toESM(require("@splunk/react-ui/Paginator"));
5262
+ var defaultImport39 = __toESM(require("@splunk/react-ui/Paginator"));
5156
5263
  __reExport(Paginator_exports, require("@splunk/react-ui/Paginator"));
5157
- var Paginator_default = "default" in defaultImport38 ? defaultImport38.default : defaultImport38;
5158
-
5159
- // esm-externals:@splunk/themes
5160
- var themes_exports = {};
5161
- __export(themes_exports, {
5162
- default: () => themes_default
5163
- });
5164
- var defaultImport39 = __toESM(require("@splunk/themes"));
5165
- __reExport(themes_exports, require("@splunk/themes"));
5166
- var themes_default = "default" in defaultImport39 ? defaultImport39.default : defaultImport39;
5264
+ var Paginator_default = "default" in defaultImport39 ? defaultImport39.default : defaultImport39;
5167
5265
 
5168
5266
  // src/common/hocs/withTrellis.tsx
5169
5267
  var evaluatePanelOption = (panelDataSources, allOptions, optionKey, vizContext) => {
@@ -5186,7 +5284,7 @@ var sortTrellisKeys = (keys, trellisSortBy, trellisSortOrder, modifiedDataSource
5186
5284
  if (trellisSortBy === "trend") {
5187
5285
  optionKey = "trendValue";
5188
5286
  } else {
5189
- optionKey = mergedOptions.value !== void 0 ? "value" : "majorValue";
5287
+ optionKey = mergedOptions.value === void 0 ? "majorValue" : "value";
5190
5288
  }
5191
5289
  keys.sort((a, b) => {
5192
5290
  const valA = evaluatePanelOption(
@@ -5338,13 +5436,13 @@ var withTrellis = (Viz) => {
5338
5436
  const noColumns = columns === void 0;
5339
5437
  const noFields = fields === void 0;
5340
5438
  const updateDataDisplay = (currPage) => {
5341
- if (!showPaginator) {
5342
- setPagedData(splitByKeys);
5343
- setPageNum(1);
5344
- } else {
5439
+ if (showPaginator) {
5345
5440
  const startIdx = pageCount * (currPage - 1);
5346
5441
  const paged = splitByKeys.slice(startIdx, startIdx + pageCount);
5347
5442
  setPagedData(paged);
5443
+ } else {
5444
+ setPagedData(splitByKeys);
5445
+ setPageNum(1);
5348
5446
  }
5349
5447
  };
5350
5448
  (0, react_exports.useEffect)(() => {