@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/Pie.js CHANGED
@@ -183,17 +183,18 @@ __reExport(themeUtils_exports, require("@splunk/visualizations-shared/themeUtils
183
183
  var themeUtils_default = "default" in defaultImport12 ? defaultImport12.default : defaultImport12;
184
184
 
185
185
  // src/common/ChartingApi.ts
186
+ var DEFAULT_HIGHLIGHT_POINT = { xValue: "", seriesName: "" };
186
187
  var ChartingApiFunctional = class {
187
188
  // eslint-disable-next-line no-useless-constructor
188
189
  constructor(chartRef) {
189
- this.chartRef = chartRef;
190
+ __publicField(this, "chartRef", chartRef);
190
191
  }
191
192
  /**
192
193
  * Allows users to programmatically highlight a point on the chart
193
194
  *
194
195
  * @memberof ChartingApiFunctional
195
196
  */
196
- highlight({ xValue, seriesName } = { xValue: "", seriesName: "" }) {
197
+ highlight({ xValue, seriesName } = DEFAULT_HIGHLIGHT_POINT) {
197
198
  this.getChart().highlight(xValue, seriesName);
198
199
  }
199
200
  /**
@@ -275,7 +276,7 @@ var largestTriangleThreeBuckets = (data, threshold, preferredDownsampleIndices)
275
276
  let avgY = 0;
276
277
  let avgRangeStart = Math.floor((i + 1) * every) + 1;
277
278
  let avgRangeEnd = Math.floor((i + 2) * every) + 1;
278
- avgRangeEnd = avgRangeEnd < dataLength ? avgRangeEnd : dataLength;
279
+ avgRangeEnd = Math.min(avgRangeEnd, dataLength);
279
280
  const avgRangeLength = avgRangeEnd - avgRangeStart;
280
281
  for (; avgRangeStart < avgRangeEnd; avgRangeStart++) {
281
282
  avgX += Number(data[avgRangeStart][0]);
@@ -310,9 +311,9 @@ var largestTriangleThreeBuckets = (data, threshold, preferredDownsampleIndices)
310
311
  };
311
312
  var strictlyCoerceYColumn = (column, options) => {
312
313
  const isNullCoercionEnabled = options.nullValueDisplay === "zero";
313
- const canLooselyCoerceSomeValues = column.findIndex(
314
+ const canLooselyCoerceSomeValues = column.some(
314
315
  (value) => (0, numberUtils_exports.startsWithNumber)(`${value}`) || isNullCoercionEnabled && value === null
315
- ) >= 0;
316
+ );
316
317
  const coercedColumn = [];
317
318
  const canDownsampleColumn = !column.some((value) => {
318
319
  const coercedValue = Number(value);
@@ -331,7 +332,7 @@ var strictlyCoerceYColumn = (column, options) => {
331
332
  };
332
333
  var strictlyCoerceXColumn = (column, fieldType) => {
333
334
  if (fieldType === "number") {
334
- const coercedXColumn = column.map((xValue) => Number(xValue));
335
+ const coercedXColumn = column.map(Number);
335
336
  if (isColumnStrictlyIncreasing(coercedXColumn, fieldType)) {
336
337
  return coercedXColumn;
337
338
  }
@@ -385,12 +386,8 @@ var calculateDownsamplingThreshold = ({
385
386
  }
386
387
  const fullSeries = (_c = primaryDataSource == null ? void 0 : primaryDataSource.data) == null ? void 0 : _c.columns[xFieldIndex];
387
388
  const downsampledSeries = currentTarget.dataSet.seriesList[downsampledXFieldIndex];
388
- const firstIndex = fullSeries.findIndex((x) => {
389
- return downsampledSeries[startXIndex] === x;
390
- });
391
- const lastIndex = fullSeries.findIndex((x) => {
392
- return downsampledSeries[endXIndex] === x;
393
- });
389
+ const firstIndex = fullSeries.indexOf(downsampledSeries[startXIndex]);
390
+ const lastIndex = fullSeries.indexOf(downsampledSeries[endXIndex]);
394
391
  if (firstIndex >= 0 && lastIndex >= 0 && firstIndex <= lastIndex) {
395
392
  return calculateThresholdOnRangeSelect({
396
393
  firstIndex,
@@ -882,7 +879,7 @@ var Charting = (props) => {
882
879
  const payload = appendTrellisToPayload(props, {
883
880
  width,
884
881
  height,
885
- currentTime: (/* @__PURE__ */ new Date()).getTime()
882
+ currentTime: Date.now()
886
883
  });
887
884
  chart.current.prepareAndDraw(chartData, updatedOptions, () => {
888
885
  onEventTrigger({
@@ -907,7 +904,7 @@ var Charting = (props) => {
907
904
  needsInit.current = false;
908
905
  needsRedraw.current = false;
909
906
  } catch (e) {
910
- window.console.error("Caught error rendering chart:", e);
907
+ globalThis.console.error("Caught error rendering chart:", e);
911
908
  }
912
909
  };
913
910
  const onContainerMount = (chartingContainer) => {
@@ -1325,9 +1322,11 @@ var editorConfig = [
1325
1322
  values: [
1326
1323
  { label: (0, i18n_exports._)("Values"), value: "values" },
1327
1324
  {
1328
- label: (0, i18n_exports._)("Values & Percent"),
1325
+ label: (0, i18n_exports._)("Values, percent"),
1329
1326
  value: "valuesAndPercentage"
1330
1327
  },
1328
+ { label: (0, i18n_exports._)("Values, count"), value: "valuesAndCount" },
1329
+ { label: (0, i18n_exports._)("Values, percent, count"), value: "all" },
1331
1330
  { label: (0, i18n_exports._)("Off"), value: "off" }
1332
1331
  ]
1333
1332
  }
@@ -1359,7 +1358,7 @@ var editorConfig = [
1359
1358
  max: 16,
1360
1359
  step: 1
1361
1360
  },
1362
- showEditor: ({ options }) => options.labelDisplay === "valuesAndPercentage"
1361
+ showEditor: ({ options }) => options.labelDisplay === "valuesAndPercentage" || options.labelDisplay === "all"
1363
1362
  }
1364
1363
  ],
1365
1364
  [
@@ -1648,7 +1647,10 @@ var useSortingParams = ({ requestParams, onRequestParamsChange }) => {
1648
1647
  onSort = (e, { sortKey, sortDir }) => {
1649
1648
  if (typeof sortKey === "string") {
1650
1649
  const nextSortDir = (0, lodash_exports.has)(nextSortDirMap, sortDir) ? nextSortDirMap[sortDir] : "none";
1651
- onRequestParamsChange(__spreadValues(__spreadValues({}, requestParams), { offset: 0, sort: { [sortKey]: nextSortDir } }));
1650
+ onRequestParamsChange(__spreadProps(__spreadValues({}, requestParams), {
1651
+ offset: 0,
1652
+ sort: { [sortKey]: nextSortDir }
1653
+ }));
1652
1654
  } else {
1653
1655
  onRequestParamsChange(requestParams);
1654
1656
  }
@@ -1774,7 +1776,7 @@ var Cover = styled_components_default.div`
1774
1776
  bottom: 0;
1775
1777
  `;
1776
1778
  var Blocker = styled_components_default.div.attrs({
1777
- "data-splunk-visualization-version": "28.7.0 - d7b18cab6"
1779
+ "data-splunk-visualization-version": "28.9.0 - 96b03188d"
1778
1780
  })`
1779
1781
  position: relative;
1780
1782
  width: 100%;
@@ -1855,7 +1857,7 @@ var withFixedSizeContainer = (Viz) => {
1855
1857
  FixSizeItem,
1856
1858
  {
1857
1859
  "data-test": "fix-size-item",
1858
- "data-splunk-visualization-version": "28.7.0 - d7b18cab6",
1860
+ "data-splunk-visualization-version": "28.9.0 - 96b03188d",
1859
1861
  width,
1860
1862
  height,
1861
1863
  backgroundColor
@@ -1876,6 +1878,14 @@ var shouldShowIconPlaceholder = (dataSources, loading = false) => {
1876
1878
  const noFields = fields === void 0;
1877
1879
  return loading || noData || noFields;
1878
1880
  };
1881
+ var PlaceholderContainer = styled_components_default.div`
1882
+ /* The inline token color wins when supported. Older browsers discard an
1883
+ unsupported oklch value and retain this inherited fallback instead. */
1884
+ color: ${(0, themes_exports.pick)({
1885
+ dark: "#fafafa",
1886
+ light: "#2c2c2c"
1887
+ })};
1888
+ `;
1879
1889
  var IconPlaceholder = (props) => {
1880
1890
  const {
1881
1891
  width = SplunkVisualization_default.defaults.width,
@@ -1890,7 +1900,6 @@ var IconPlaceholder = (props) => {
1890
1900
  style: {
1891
1901
  left: "50%",
1892
1902
  top: "50%",
1893
- color: iconColor,
1894
1903
  opacity: 0.15,
1895
1904
  position: "absolute",
1896
1905
  transform: "translate(-50%, -50%)"
@@ -1900,7 +1909,14 @@ var IconPlaceholder = (props) => {
1900
1909
  "data-test": "icon-placeholder"
1901
1910
  });
1902
1911
  }
1903
- return /* @__PURE__ */ react_exports.createElement("div", { style: { width, height, background: backgroundColor } }, content);
1912
+ return /* @__PURE__ */ react_exports.createElement(
1913
+ PlaceholderContainer,
1914
+ {
1915
+ "data-test": "icon-placeholder-container",
1916
+ style: { width, height, background: backgroundColor, color: iconColor }
1917
+ },
1918
+ content
1919
+ );
1904
1920
  };
1905
1921
  var IconPlaceholder_default = FixedSizeContainer_default(IconPlaceholder);
1906
1922
 
@@ -2109,10 +2125,10 @@ var FeatureFlags_default = "default" in defaultImport34 ? defaultImport34.defaul
2109
2125
 
2110
2126
  // src/common/utils/featureFlagUtils.ts
2111
2127
  var getFeatureFlag = (context, flagName) => {
2112
- if (context && Object.keys(context).find((key) => key === flagName)) {
2128
+ if (context && Object.keys(context).includes(flagName)) {
2113
2129
  return context[flagName];
2114
2130
  }
2115
- if (Object.keys(FeatureFlags_default).find((key) => key === flagName)) {
2131
+ if (Object.keys(FeatureFlags_default).includes(flagName)) {
2116
2132
  return FeatureFlags_default[flagName];
2117
2133
  }
2118
2134
  return false;
@@ -2346,7 +2362,7 @@ var dataSourcesSplitByModeChart = (dataSource, splitBy) => {
2346
2362
  splitByFields = (0, trellisUtils_exports.extractSplitByFieldsChartFields)(fields);
2347
2363
  }
2348
2364
  if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
2349
- const splitByFieldIdx = splitByFields.findIndex((f) => f === splitBy);
2365
+ const splitByFieldIdx = splitByFields.indexOf(splitBy);
2350
2366
  const otherSplitBy = splitByFields.filter((f) => f !== splitBy);
2351
2367
  const dataSourceKeys = (0, trellisUtils_exports.extractDataSourceAggregationKeysChart)(fields);
2352
2368
  const nonDataSourceAggregations = [];
@@ -2380,17 +2396,17 @@ var dataSourcesSplitByModeStatsorUnknown = (dataSource, splitBy, splitMode) => {
2380
2396
  let splitByFields = [];
2381
2397
  let errorCode = null;
2382
2398
  if (fields.length > 0) {
2383
- splitByFields = splitMode !== trellisUtils_exports.UNKNOWN ? (0, trellisUtils_exports.extractSplitByFieldsForStats)(fields) : (0, trellisUtils_exports.extractSplitByFieldsForUnknown)(fields);
2399
+ splitByFields = splitMode === trellisUtils_exports.UNKNOWN ? (0, trellisUtils_exports.extractSplitByFieldsForUnknown)(fields) : (0, trellisUtils_exports.extractSplitByFieldsForStats)(fields);
2384
2400
  }
2385
2401
  const splitByIndex = fields.findIndex((field) => field.name === splitBy);
2386
2402
  if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
2387
2403
  const splitByColumn = (_f = (_e = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _e.data) == null ? void 0 : _f.columns[splitByIndex];
2388
2404
  splitDataSources = {};
2389
2405
  splitByColumn.forEach((val, idx) => {
2390
- if (!splitDataSources[val]) {
2391
- splitDataSources[val] = [idx];
2392
- } else {
2406
+ if (splitDataSources[val]) {
2393
2407
  splitDataSources[val].push(idx);
2408
+ } else {
2409
+ splitDataSources[val] = [idx];
2394
2410
  }
2395
2411
  });
2396
2412
  const cloneFields = (0, lodash_exports.cloneDeep)(fields);
@@ -2441,27 +2457,28 @@ var turnOffLegendDisplayWhenTrellisIsOn = (isTrellisOn, options) => {
2441
2457
  }
2442
2458
  return {};
2443
2459
  };
2460
+ var extendMinMaxWithColumn = (column, range2) => column.reduce((acc, point) => {
2461
+ const pointNumber = Number(point);
2462
+ if (Number.isNaN(pointNumber)) {
2463
+ return acc;
2464
+ }
2465
+ return {
2466
+ min: Math.min(pointNumber, acc.min),
2467
+ max: Math.max(pointNumber, acc.max)
2468
+ };
2469
+ }, range2);
2444
2470
  var calculateSharedMinMax = (splitData) => {
2445
- let max = -Infinity;
2446
- let min = Infinity;
2471
+ let range2 = { min: Infinity, max: -Infinity };
2447
2472
  Object.keys(splitData).forEach((splitByKey) => {
2448
2473
  const datasources = splitData[splitByKey];
2449
2474
  Object.keys(datasources).forEach((datasourceName) => {
2450
2475
  const dataColumns = datasources[datasourceName].data.columns;
2451
2476
  dataColumns.forEach((column) => {
2452
- column.forEach((point) => {
2453
- const pointNumber = Number(point);
2454
- if (pointNumber > max) {
2455
- max = pointNumber;
2456
- }
2457
- if (pointNumber < min) {
2458
- min = pointNumber;
2459
- }
2460
- });
2477
+ range2 = extendMinMaxWithColumn(column, range2);
2461
2478
  });
2462
2479
  });
2463
2480
  });
2464
- return [min, max];
2481
+ return [range2.min, range2.max];
2465
2482
  };
2466
2483
  var determineMinMax = (splitData, trellisSharedScale, yAxisMin, yAxisMax, stackMode) => {
2467
2484
  if (!trellisSharedScale || stackMode === "stacked100" || yAxisMin !== "auto" && yAxisMax !== "auto")
@@ -2545,7 +2562,7 @@ var truncateData = (dataSet, truncationLimit) => {
2545
2562
  if (!dataSet) {
2546
2563
  return null;
2547
2564
  }
2548
- const limit = parseInt(truncationLimit, 10);
2565
+ const limit = Number.parseInt(truncationLimit, 10);
2549
2566
  if (!limit || limit <= 0) {
2550
2567
  return dataSet;
2551
2568
  }
@@ -2565,9 +2582,9 @@ var shouldEnableSearchZoom = (eventHandlers = [], xField = "") => {
2565
2582
  const xAxisIsTime = xField === "_time";
2566
2583
  return !!rangeSelectEventHandler && xAxisIsTime;
2567
2584
  };
2568
- var canvasSupportedTimeSeriesCharts = ["splunk.line", "splunk.area"];
2585
+ var canvasSupportedTimeSeriesCharts = /* @__PURE__ */ new Set(["splunk.line", "splunk.area"]);
2569
2586
  var isTimeSeriesCanvasRenderSupported = (vizConfigKey) => {
2570
- return canvasSupportedTimeSeriesCharts.includes(vizConfigKey);
2587
+ return canvasSupportedTimeSeriesCharts.has(vizConfigKey);
2571
2588
  };
2572
2589
  var filterChartDataFromInternalFields = (chartData) => {
2573
2590
  const { fields, columns } = chartData;
@@ -2583,7 +2600,7 @@ var filterChartDataFromInternalFields = (chartData) => {
2583
2600
  return { fields: filteredFields, columns: filteredColumns };
2584
2601
  };
2585
2602
  var convert2DArrayToNumbers = (arr) => {
2586
- return arr.map((subArray) => subArray.map((element) => parseFloat(element)));
2603
+ return arr.map((subArray) => subArray.map((element) => Number.parseFloat(element)));
2587
2604
  };
2588
2605
  var parseAxisValue = (val) => {
2589
2606
  if (val === void 0 || val === null || val === "auto" || val === "") {
@@ -2621,6 +2638,7 @@ var getLegend = (props) => {
2621
2638
  return (0, visualization_canvas_exports.TopLegendFactory)(__spreadValues({
2622
2639
  wrap: true
2623
2640
  }, commonLegendProps));
2641
+ // Note: By default, use right legend
2624
2642
  default:
2625
2643
  return (0, visualization_canvas_exports.SideLegendFactory)(__spreadValues({}, commonLegendProps));
2626
2644
  }
@@ -2753,10 +2771,10 @@ var getSeriesOverrides = (opts) => {
2753
2771
  let spanGaps;
2754
2772
  if (nullValueMode === "gaps") {
2755
2773
  spanGaps = false;
2756
- } else if (nullValueMode != null) {
2757
- spanGaps = true;
2758
- } else {
2774
+ } else if (nullValueMode == null) {
2759
2775
  spanGaps = void 0;
2776
+ } else {
2777
+ spanGaps = true;
2760
2778
  }
2761
2779
  const replaceNullsWithZero = nullValueMode === "zero" ? true : void 0;
2762
2780
  const isAreaChart = type === "area";
@@ -3126,11 +3144,11 @@ var TimeSeriesChartWrapper = (props) => {
3126
3144
  y2AxisMajorUnitFromSimpleXML,
3127
3145
  y2AxisMajorTickInterval
3128
3146
  );
3129
- const xAxisMajorTickSizeNum = xAxisMajorTickSize != null ? Number(xAxisMajorTickSize) : void 0;
3130
- const yAxisMajorTickSizeNum = yAxisMajorTickSize != null ? Number(yAxisMajorTickSize) : void 0;
3131
- const y2AxisMajorTickSizeNum = y2AxisMajorTickSize != null ? Number(y2AxisMajorTickSize) : void 0;
3132
- const yAxisMinorTickSizeNum = yAxisMinorTickSize != null ? Number(yAxisMinorTickSize) : void 0;
3133
- const y2AxisMinorTickSizeNum = y2AxisMinorTickSize != null ? Number(y2AxisMinorTickSize) : void 0;
3147
+ const xAxisMajorTickSizeNum = xAxisMajorTickSize == null ? void 0 : Number(xAxisMajorTickSize);
3148
+ const yAxisMajorTickSizeNum = yAxisMajorTickSize == null ? void 0 : Number(yAxisMajorTickSize);
3149
+ const y2AxisMajorTickSizeNum = y2AxisMajorTickSize == null ? void 0 : Number(y2AxisMajorTickSize);
3150
+ const yAxisMinorTickSizeNum = yAxisMinorTickSize == null ? void 0 : Number(yAxisMinorTickSize);
3151
+ const y2AxisMinorTickSizeNum = y2AxisMinorTickSize == null ? void 0 : Number(y2AxisMinorTickSize);
3134
3152
  const areaOpacityForCanvas = getAreaOpacityForCanvas(areaOpacity);
3135
3153
  const seriesColors = seriesColorsStr ? JSON.parse(seriesColorsStr) : void 0;
3136
3154
  const seriesColorsByField = fieldColors ? JSON.parse(fieldColors) : void 0;
@@ -3542,6 +3560,76 @@ var buildEventCallbackProps = (supportedEvents, evaluatedOptionsToUse, onEventTr
3542
3560
  });
3543
3561
  return result;
3544
3562
  };
3563
+ var buildAllEventCallbackProps = (events, evaluatedOptionsToUse, onEventTrigger, { supportsEvents, hasEventHandlers, mode }) => {
3564
+ if (!supportsEvents) return {};
3565
+ const defaultEvents = {};
3566
+ const userEvents = {};
3567
+ Object.entries(events || {}).forEach(([eventKey, eventConfig]) => {
3568
+ (eventConfig.source === "default" ? defaultEvents : userEvents)[eventKey] = eventConfig;
3569
+ });
3570
+ const userProps = hasEventHandlers && mode === "view" ? buildEventCallbackProps(userEvents, evaluatedOptionsToUse, onEventTrigger) : {};
3571
+ return __spreadValues(__spreadValues({}, userProps), buildEventCallbackProps(defaultEvents, evaluatedOptionsToUse, onEventTrigger));
3572
+ };
3573
+ var applyContextTimezone = (localeContext) => {
3574
+ if (localeContext.serializedTimezone && !moment_default.getDefaultSplunkTimezone()) {
3575
+ moment_default.setDefaultSplunkTimezone(localeContext.serializedTimezone);
3576
+ }
3577
+ };
3578
+ var getAsyncOptionsEvaluationParams = ({
3579
+ visualizationID,
3580
+ props,
3581
+ optionsToEvaluate,
3582
+ downsampledDataSources,
3583
+ vizConfig,
3584
+ bypassCloneDeepOptionScope,
3585
+ lazyLoadingDataFrame
3586
+ }) => {
3587
+ return {
3588
+ visualizationID,
3589
+ props,
3590
+ options: __spreadValues({}, optionsToEvaluate),
3591
+ dataSources: downsampledDataSources,
3592
+ theme: vizConfig.themes,
3593
+ bypassCloneDeepOptionScope,
3594
+ lazyLoadingDataFrame
3595
+ };
3596
+ };
3597
+ var evaluateOptionsSync = ({
3598
+ optionsToEvaluate,
3599
+ downsampledDataSources,
3600
+ dataSourcesInState,
3601
+ dataFramesInState,
3602
+ setDataSourcesInState,
3603
+ setDataFramesInState,
3604
+ computeDataFrames,
3605
+ featureFlagContext,
3606
+ themeFunc
3607
+ }) => {
3608
+ let dataFrames = dataFramesInState;
3609
+ if (downsampledDataSources !== dataSourcesInState) {
3610
+ setDataSourcesInState(downsampledDataSources);
3611
+ dataFrames = Options_exports.Options.dataFrameFromDataSource(
3612
+ downsampledDataSources,
3613
+ getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
3614
+ );
3615
+ setDataFramesInState(dataFrames);
3616
+ }
3617
+ let mergedFrames = dataFrames;
3618
+ if (computeDataFrames && dataFrames) {
3619
+ const derivedFrames = computeDataFrames({
3620
+ dataSources: downsampledDataSources,
3621
+ options: optionsToEvaluate.options
3622
+ });
3623
+ mergedFrames = __spreadValues(__spreadValues({}, dataFrames), derivedFrames);
3624
+ }
3625
+ return Options_exports.Options.evaluate(
3626
+ optionsToEvaluate,
3627
+ downsampledDataSources,
3628
+ themeFunc,
3629
+ mergedFrames,
3630
+ getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
3631
+ );
3632
+ };
3545
3633
  var withDashboardViz = (opts) => {
3546
3634
  const {
3547
3635
  ReactViz,
@@ -3573,11 +3661,7 @@ var withDashboardViz = (opts) => {
3573
3661
  onRequestParamsChange = lodash_exports.noop
3574
3662
  } = props;
3575
3663
  const localeContext = react_exports.useContext(TimezoneContext_default);
3576
- if (localeContext.serializedTimezone) {
3577
- if (!moment_default.getDefaultSplunkTimezone()) {
3578
- moment_default.setDefaultSplunkTimezone(localeContext.serializedTimezone);
3579
- }
3580
- }
3664
+ applyContextTimezone(localeContext);
3581
3665
  const themeFunc = (themeVar) => {
3582
3666
  var _a2, _b;
3583
3667
  return (_b = (_a2 = vizConfig.themes)[themeVar]) == null ? void 0 : _b.call(_a2, props);
@@ -3605,7 +3689,12 @@ var withDashboardViz = (opts) => {
3605
3689
  featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableAcceleratedRender
3606
3690
  );
3607
3691
  const isAcceleratedRenderOn = isAcceleratedRenderFeatureFlagOn && isTimeSeriesCanvasRenderSupported(vizConfig.key) && (options == null ? void 0 : options.acceleratedRender) === true;
3608
- const isMounted = react_exports.useRef(true);
3692
+ const bypassCloneDeepOptionScope = Boolean(
3693
+ getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
3694
+ );
3695
+ const lazyLoadingDataFrame = Boolean(
3696
+ getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
3697
+ );
3609
3698
  const optionsToEvaluate = react_exports.useMemo(() => {
3610
3699
  var _a2;
3611
3700
  const legendDisplay = turnOffLegendDisplayWhenTrellisIsOn(isTrellisOn, options);
@@ -3644,63 +3733,74 @@ var withDashboardViz = (opts) => {
3644
3733
  threshold,
3645
3734
  isDownsamplingEnabled
3646
3735
  });
3647
- evaluatedOptions = useDeepMemo(() => {
3736
+ const asyncOptionsEvaluationParams = useDeepMemo(
3737
+ () => getAsyncOptionsEvaluationParams({
3738
+ visualizationID,
3739
+ props,
3740
+ optionsToEvaluate,
3741
+ downsampledDataSources,
3742
+ vizConfig,
3743
+ bypassCloneDeepOptionScope,
3744
+ lazyLoadingDataFrame
3745
+ }),
3746
+ [
3747
+ visualizationID,
3748
+ optionsToEvaluate,
3749
+ downsampledDataSources,
3750
+ vizConfig,
3751
+ bypassCloneDeepOptionScope,
3752
+ lazyLoadingDataFrame,
3753
+ currentThemeFamily,
3754
+ currentThemeColorScheme,
3755
+ currentThemeDensity,
3756
+ localeContext.serializedTimezone
3757
+ ]
3758
+ );
3759
+ react_exports.useEffect(() => {
3760
+ if (!useAsyncEvaluatedOptions) {
3761
+ return void 0;
3762
+ }
3763
+ let ownsEvaluation = true;
3648
3764
  try {
3649
- if (useAsyncEvaluatedOptions) {
3650
- const asyncDynamicOptionsEvaluatorParams = {
3651
- visualizationID,
3652
- props,
3653
- options: optionsToEvaluate,
3654
- dataSources: downsampledDataSources,
3655
- theme: vizConfig.themes,
3656
- bypassCloneDeepOptionScope: Boolean(
3657
- getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
3658
- ),
3659
- lazyLoadingDataFrame: Boolean(
3660
- getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
3661
- )
3662
- };
3663
- async_dynamic_options_evaluator_default.evaluate(asyncDynamicOptionsEvaluatorParams).then((results) => {
3765
+ async_dynamic_options_evaluator_default.evaluate(asyncOptionsEvaluationParams).then((results) => {
3766
+ if (ownsEvaluation) {
3664
3767
  setEvaluatedOptionsAsync(results.results);
3665
- }).catch(() => {
3666
- if (isMounted.current) {
3667
- setUseAsyncEvaluatedOptions(false);
3668
- }
3669
- });
3670
- } else {
3671
- let dataFrames = dataFramesInState;
3672
- if (downsampledDataSources !== dataSourcesInState) {
3673
- setDataSourcesInState(downsampledDataSources);
3674
- dataFrames = Options_exports.Options.dataFrameFromDataSource(
3675
- downsampledDataSources,
3676
- getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
3677
- );
3678
- setDataFramesInState(dataFrames);
3679
3768
  }
3680
- let mergedFrames = dataFrames;
3681
- if (computeDataFrames && dataFrames) {
3682
- const derivedFrames = computeDataFrames({
3683
- dataSources: downsampledDataSources,
3684
- options: optionsToEvaluate.options
3685
- });
3686
- mergedFrames = __spreadValues(__spreadValues({}, dataFrames), derivedFrames);
3769
+ }).catch(() => {
3770
+ if (ownsEvaluation) {
3771
+ setUseAsyncEvaluatedOptions(false);
3687
3772
  }
3688
- const result = Options_exports.Options.evaluate(
3689
- optionsToEvaluate,
3690
- downsampledDataSources,
3691
- themeFunc,
3692
- mergedFrames,
3693
- getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
3694
- );
3695
- return result;
3773
+ });
3774
+ } catch (e) {
3775
+ setUseAsyncEvaluatedOptions(false);
3776
+ }
3777
+ return () => {
3778
+ ownsEvaluation = false;
3779
+ async_dynamic_options_evaluator_default.reset(visualizationID);
3780
+ };
3781
+ }, [asyncOptionsEvaluationParams, useAsyncEvaluatedOptions, visualizationID]);
3782
+ evaluatedOptions = useDeepMemo(() => {
3783
+ try {
3784
+ if (useAsyncEvaluatedOptions) {
3785
+ return {};
3696
3786
  }
3787
+ return evaluateOptionsSync({
3788
+ optionsToEvaluate,
3789
+ downsampledDataSources,
3790
+ dataSourcesInState,
3791
+ dataFramesInState,
3792
+ setDataSourcesInState,
3793
+ setDataFramesInState,
3794
+ computeDataFrames,
3795
+ featureFlagContext,
3796
+ themeFunc
3797
+ });
3697
3798
  } catch (e) {
3698
3799
  if (e instanceof Error) {
3699
3800
  console.error(`unexpected error evaluating options: ${e.message}`);
3700
3801
  }
3701
3802
  return {};
3702
3803
  }
3703
- return {};
3704
3804
  }, [
3705
3805
  currentThemeFamily,
3706
3806
  currentThemeColorScheme,
@@ -3710,7 +3810,7 @@ var withDashboardViz = (opts) => {
3710
3810
  localeContext.serializedTimezone,
3711
3811
  useAsyncEvaluatedOptions
3712
3812
  ]);
3713
- const evaluatedOptionsToUse = !useAsyncEvaluatedOptions ? evaluatedOptions : evaluatedOptionsAsync;
3813
+ const evaluatedOptionsToUse = useAsyncEvaluatedOptions ? evaluatedOptionsAsync : evaluatedOptions;
3714
3814
  let dataSourceMetadata = {};
3715
3815
  const OptionKey = "paginateDataSourceKey";
3716
3816
  const optsKey = (0, lodash_exports.has)(evaluatedOptionsToUse, OptionKey) && evaluatedOptionsToUse[OptionKey];
@@ -3732,7 +3832,7 @@ var withDashboardViz = (opts) => {
3732
3832
  sortParams,
3733
3833
  paginatorParams
3734
3834
  };
3735
- if (vizConfig.supports.indexOf("page-and-sort" /* PAGE_AND_SORT */) === -1 && !(0, lodash_exports.has)(dataSources, paginateDataSourceKey)) {
3835
+ if (!vizConfig.supports.includes("page-and-sort" /* PAGE_AND_SORT */) && !(0, lodash_exports.has)(dataSources, paginateDataSourceKey)) {
3736
3836
  dataSourceMetadata = {};
3737
3837
  }
3738
3838
  const clonedEvaluatedOptions = __spreadValues({}, evaluatedOptionsToUse);
@@ -3742,14 +3842,6 @@ var withDashboardViz = (opts) => {
3742
3842
  react_exports.useEffect(() => {
3743
3843
  onComputedProps(clonedEvaluatedOptions);
3744
3844
  });
3745
- react_exports.useEffect(() => {
3746
- return () => {
3747
- if (useAsyncEvaluatedOptions) {
3748
- isMounted.current = false;
3749
- async_dynamic_options_evaluator_default.reset(visualizationID);
3750
- }
3751
- };
3752
- }, []);
3753
3845
  const { requiredProps = [], supports } = vizConfig;
3754
3846
  const missing = missingKeys(requiredProps, evaluatedOptionsToUse);
3755
3847
  if (missing.length > 0 && supports.includes("placeholder" /* PLACEHOLDER */) && vizConfig.key !== "splunk.singlevalue") {
@@ -3764,7 +3856,16 @@ var withDashboardViz = (opts) => {
3764
3856
  }
3765
3857
  );
3766
3858
  }
3767
- const eventCallbackProps = hasEventHandlers && mode === "view" && vizConfig.supports.includes("events" /* EVENTS */) ? buildEventCallbackProps(vizConfig.events, evaluatedOptionsToUse, onEventTrigger) : {};
3859
+ const eventCallbackProps = buildAllEventCallbackProps(
3860
+ vizConfig.events,
3861
+ evaluatedOptionsToUse,
3862
+ onEventTrigger,
3863
+ {
3864
+ supportsEvents: vizConfig.supports.includes("events" /* EVENTS */),
3865
+ hasEventHandlers,
3866
+ mode
3867
+ }
3868
+ );
3768
3869
  const computedVizProps = computeVizProps2(__spreadProps(__spreadValues(__spreadProps(__spreadValues(__spreadValues({}, props), evaluatedOptionsToUse), {
3769
3870
  // Align option transformation with the actual renderer selected below.
3770
3871
  // This prevents canvas-only option preservation from leaking into Highcharts mode.
@@ -3792,8 +3893,9 @@ var withDashboardViz = (opts) => {
3792
3893
  onEventTrigger: SplunkVisualization_default.defaults.onEventTrigger
3793
3894
  });
3794
3895
  DashboardViz.config = vizConfig;
3795
- return (0, styled_components_exports.withTheme)(
3796
- withPlaceholder_default(withEditModeCover_default(DashboardViz, disableEditModeCover), useIconPlaceholder)
3896
+ return Object.assign(
3897
+ (0, styled_components_exports.withTheme)(withPlaceholder_default(withEditModeCover_default(DashboardViz, disableEditModeCover), useIconPlaceholder)),
3898
+ { config: vizConfig }
3797
3899
  );
3798
3900
  };
3799
3901
  var withDashboardViz_default = withDashboardViz;
@@ -3828,14 +3930,15 @@ var convertToStringValues = (options) => {
3828
3930
  };
3829
3931
  var mapLabelDisplay = (_a) => {
3830
3932
  var _b = _a, { labelDisplay } = _b, options = __objRest(_b, ["labelDisplay"]);
3933
+ const resolvedLabelDisplay = labelDisplay || "values";
3831
3934
  const convertedOptions = __spreadProps(__spreadValues({}, options), {
3832
- // default for labelDisplay option is 'values'
3935
+ "chart.labelDisplay": resolvedLabelDisplay,
3833
3936
  "chart.showLabels": true,
3834
3937
  "chart.showPercent": false
3835
3938
  });
3836
- if (labelDisplay === "valuesAndPercentage") {
3939
+ if (resolvedLabelDisplay === "valuesAndPercentage" || resolvedLabelDisplay === "all") {
3837
3940
  convertedOptions["chart.showPercent"] = true;
3838
- } else if (labelDisplay === "off") {
3941
+ } else if (resolvedLabelDisplay === "off") {
3839
3942
  convertedOptions["chart.showLabels"] = false;
3840
3943
  }
3841
3944
  return convertedOptions;
@@ -3935,7 +4038,7 @@ var sortTrellisKeys = (keys, trellisSortBy, trellisSortOrder, modifiedDataSource
3935
4038
  if (trellisSortBy === "trend") {
3936
4039
  optionKey = "trendValue";
3937
4040
  } else {
3938
- optionKey = mergedOptions.value !== void 0 ? "value" : "majorValue";
4041
+ optionKey = mergedOptions.value === void 0 ? "majorValue" : "value";
3939
4042
  }
3940
4043
  keys.sort((a, b) => {
3941
4044
  const valA = evaluatePanelOption(
@@ -4087,13 +4190,13 @@ var withTrellis = (Viz) => {
4087
4190
  const noColumns = columns === void 0;
4088
4191
  const noFields = fields === void 0;
4089
4192
  const updateDataDisplay = (currPage) => {
4090
- if (!showPaginator) {
4091
- setPagedData(splitByKeys);
4092
- setPageNum(1);
4093
- } else {
4193
+ if (showPaginator) {
4094
4194
  const startIdx = pageCount * (currPage - 1);
4095
4195
  const paged = splitByKeys.slice(startIdx, startIdx + pageCount);
4096
4196
  setPagedData(paged);
4197
+ } else {
4198
+ setPagedData(splitByKeys);
4199
+ setPageNum(1);
4097
4200
  }
4098
4201
  };
4099
4202
  (0, react_exports.useEffect)(() => {