@splunk/visualizations 28.5.3 → 28.7.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 (663) hide show
  1. package/Area/Area.d.ts.map +1 -1
  2. package/Area/areaUtils.d.ts +1 -1
  3. package/Area/areaUtils.d.ts.map +1 -1
  4. package/Area/config.d.ts.map +1 -1
  5. package/Area.config.js +93 -25
  6. package/Area.config.js.map +3 -3
  7. package/Area.js +708 -319
  8. package/Area.js.map +4 -4
  9. package/Bar/Bar.d.ts.map +1 -1
  10. package/Bar.config.js +81 -24
  11. package/Bar.config.js.map +3 -3
  12. package/Bar.js +528 -297
  13. package/Bar.js.map +4 -4
  14. package/Bubble.config.js +80 -23
  15. package/Bubble.config.js.map +2 -2
  16. package/Bubble.js +375 -208
  17. package/Bubble.js.map +4 -4
  18. package/CHANGELOG.external.md +75 -60
  19. package/ChoroplethSvg/PureChoroplethSvg/PureChoroplethSvg.d.ts +1 -0
  20. package/ChoroplethSvg/PureChoroplethSvg/PureChoroplethSvg.d.ts.map +1 -1
  21. package/ChoroplethSvg/PureChoroplethSvg/SvgChoroplethDynamic.d.ts +12 -25
  22. package/ChoroplethSvg/PureChoroplethSvg/SvgChoroplethDynamic.d.ts.map +1 -1
  23. package/ChoroplethSvg/PureChoroplethSvg/SvgMutator.d.ts +11 -4
  24. package/ChoroplethSvg/PureChoroplethSvg/SvgMutator.d.ts.map +1 -1
  25. package/ChoroplethSvg.js +1133 -253
  26. package/ChoroplethSvg.js.map +4 -4
  27. package/Column/Column.d.ts.map +1 -1
  28. package/Column.config.js +81 -24
  29. package/Column.config.js.map +3 -3
  30. package/Column.js +531 -300
  31. package/Column.js.map +4 -4
  32. package/Ellipse.config.js +1 -1
  33. package/Ellipse.config.js.map +2 -2
  34. package/Ellipse.js +277 -161
  35. package/Ellipse.js.map +4 -4
  36. package/Events/PureEvents/FieldSummaryTooltip.d.ts +8 -31
  37. package/Events/PureEvents/FieldSummaryTooltip.d.ts.map +1 -1
  38. package/Events/PureEvents/PureEvents.d.ts.map +1 -1
  39. package/Events/PureEvents/TimeControlsPopover.d.ts +6 -25
  40. package/Events/PureEvents/TimeControlsPopover.d.ts.map +1 -1
  41. package/Events/config.d.ts.map +1 -1
  42. package/Events.config.js +13 -3
  43. package/Events.config.js.map +2 -2
  44. package/Events.js +355 -293
  45. package/Events.js.map +4 -4
  46. package/FillerGauge/FillerGauge.d.ts.map +1 -1
  47. package/FillerGauge/config.d.ts.map +1 -1
  48. package/FillerGauge.config.js +76 -24
  49. package/FillerGauge.config.js.map +2 -2
  50. package/FillerGauge.js +512 -271
  51. package/FillerGauge.js.map +4 -4
  52. package/Image/config.d.ts.map +1 -1
  53. package/Image.config.js +7 -0
  54. package/Image.config.js.map +2 -2
  55. package/Image.js +282 -149
  56. package/Image.js.map +4 -4
  57. package/LICENSE +13 -0
  58. package/Line/Line.d.ts.map +1 -1
  59. package/Line/config.d.ts.map +1 -1
  60. package/Line/lineUtils.d.ts.map +1 -1
  61. package/Line/mockdata/LineData.d.ts +21 -0
  62. package/Line/mockdata/LineData.d.ts.map +1 -1
  63. package/Line.config.js +86 -25
  64. package/Line.config.js.map +3 -3
  65. package/Line.js +638 -382
  66. package/Line.js.map +4 -4
  67. package/LinkGraph/PureLinkGraph/PureLinkGraph.d.ts +47 -73
  68. package/LinkGraph/PureLinkGraph/PureLinkGraph.d.ts.map +1 -1
  69. package/LinkGraph/PureLinkGraph/PureLinkGraphUtils.d.ts +11 -2
  70. package/LinkGraph/PureLinkGraph/PureLinkGraphUtils.d.ts.map +1 -1
  71. package/LinkGraph/PureLinkGraph/components/Graph.d.ts +5 -5
  72. package/LinkGraph/PureLinkGraph/components/Node.d.ts +2 -2
  73. package/LinkGraph/PureLinkGraph/components/Nodes.d.ts +2 -2
  74. package/LinkGraph.js +886 -759
  75. package/LinkGraph.js.map +4 -4
  76. package/Map/Map.d.ts +1 -0
  77. package/Map/Map.d.ts.map +1 -1
  78. package/Map/PureMap/BubbleLayer.d.ts +22 -4
  79. package/Map/PureMap/BubbleLayer.d.ts.map +1 -1
  80. package/Map/PureMap/ChoroplethLayer.d.ts +9 -1
  81. package/Map/PureMap/ChoroplethLayer.d.ts.map +1 -1
  82. package/Map/PureMap/ClusterLayer.d.ts +3 -1
  83. package/Map/PureMap/ClusterLayer.d.ts.map +1 -1
  84. package/Map/PureMap/LocalChoroplethLayer.d.ts +1 -0
  85. package/Map/PureMap/LocalChoroplethLayer.d.ts.map +1 -1
  86. package/Map/PureMap/MapContext.d.ts +13 -0
  87. package/Map/PureMap/MapContext.d.ts.map +1 -0
  88. package/Map/PureMap/MarkerLayer.d.ts +19 -2
  89. package/Map/PureMap/MarkerLayer.d.ts.map +1 -1
  90. package/Map/PureMap/MarkerWrapper.d.ts +3 -2
  91. package/Map/PureMap/MarkerWrapper.d.ts.map +1 -1
  92. package/Map/PureMap/PureMap.d.ts +1 -0
  93. package/Map/PureMap/PureMap.d.ts.map +1 -1
  94. package/Map/PureMap/PureMapContainer.d.ts.map +1 -1
  95. package/Map/PureMap/Tooltip.d.ts +6 -1
  96. package/Map/PureMap/Tooltip.d.ts.map +1 -1
  97. package/Map/PureMap/keyboardConstants.d.ts +11 -0
  98. package/Map/PureMap/keyboardConstants.d.ts.map +1 -0
  99. package/Map/PureMap/useRovingTabindex.d.ts +18 -0
  100. package/Map/PureMap/useRovingTabindex.d.ts.map +1 -0
  101. package/Map/config.d.ts.map +1 -1
  102. package/Map.config.js +4 -1
  103. package/Map.config.js.map +2 -2
  104. package/Map.js +1594 -628
  105. package/Map.js.map +4 -4
  106. package/Markdown/Markdown.d.ts.map +1 -1
  107. package/Markdown.config.js.map +1 -1
  108. package/Markdown.js +304 -161
  109. package/Markdown.js.map +4 -4
  110. package/MarkerGauge/MarkerGauge.d.ts +1 -47
  111. package/MarkerGauge/MarkerGauge.d.ts.map +1 -1
  112. package/MarkerGauge/PureMarkerGauge/MarkerGauge.d.ts +22 -68
  113. package/MarkerGauge/PureMarkerGauge/MarkerGauge.d.ts.map +1 -1
  114. package/MarkerGauge/config.d.ts.map +1 -1
  115. package/MarkerGauge.config.js +75 -23
  116. package/MarkerGauge.config.js.map +2 -2
  117. package/MarkerGauge.js +560 -375
  118. package/MarkerGauge.js.map +4 -4
  119. package/NetworkGraph/NetworkGraph.d.ts +2 -5
  120. package/NetworkGraph/NetworkGraph.d.ts.map +1 -1
  121. package/NetworkGraph/PureNetworkGraph/PureNetworkGraph.d.ts.map +1 -1
  122. package/NetworkGraph/PureNetworkGraph/components/NetworkGraphSvg.d.ts +1 -0
  123. package/NetworkGraph/PureNetworkGraph/components/NetworkGraphSvg.d.ts.map +1 -1
  124. package/NetworkGraph/PureNetworkGraph/components/Node.d.ts +1 -0
  125. package/NetworkGraph/PureNetworkGraph/components/Node.d.ts.map +1 -1
  126. package/NetworkGraph/PureNetworkGraph/components/Tooltip.d.ts +1 -1
  127. package/NetworkGraph/PureNetworkGraph/components/Tooltip.d.ts.map +1 -1
  128. package/NetworkGraph/PureNetworkGraph/components/ZoomControls.d.ts +1 -0
  129. package/NetworkGraph/PureNetworkGraph/components/ZoomControls.d.ts.map +1 -1
  130. package/NetworkGraph/PureNetworkGraph/utils/networkGraphUtils.d.ts +23 -0
  131. package/NetworkGraph/PureNetworkGraph/utils/networkGraphUtils.d.ts.map +1 -1
  132. package/NetworkGraph.config.js +2 -0
  133. package/NetworkGraph.config.js.map +2 -2
  134. package/NetworkGraph.js +895 -455
  135. package/NetworkGraph.js.map +4 -4
  136. package/ParallelCoordinates.config.js.map +1 -1
  137. package/ParallelCoordinates.js +288 -172
  138. package/ParallelCoordinates.js.map +4 -4
  139. package/Pie/Pie.d.ts.map +1 -1
  140. package/Pie/pieUtils.d.ts +2 -2
  141. package/Pie.config.js +74 -22
  142. package/Pie.config.js.map +2 -2
  143. package/Pie.js +522 -296
  144. package/Pie.js.map +4 -4
  145. package/ProcessTree/ProcessTree.d.ts +23 -0
  146. package/ProcessTree/ProcessTree.d.ts.map +1 -0
  147. package/ProcessTree/PureProcessTree/PureProcessTree.d.ts +33 -0
  148. package/ProcessTree/PureProcessTree/PureProcessTree.d.ts.map +1 -0
  149. package/ProcessTree/PureProcessTree/components/DirectionalBytes.d.ts +8 -0
  150. package/ProcessTree/PureProcessTree/components/DirectionalBytes.d.ts.map +1 -0
  151. package/ProcessTree/PureProcessTree/components/ProcessTreeLeftPanel.d.ts +46 -0
  152. package/ProcessTree/PureProcessTree/components/ProcessTreeLeftPanel.d.ts.map +1 -0
  153. package/ProcessTree/PureProcessTree/components/ProcessTreeRightPanel.d.ts +20 -0
  154. package/ProcessTree/PureProcessTree/components/ProcessTreeRightPanel.d.ts.map +1 -0
  155. package/ProcessTree/PureProcessTree/hooks/useProcessTreeExpansionState.d.ts +20 -0
  156. package/ProcessTree/PureProcessTree/hooks/useProcessTreeExpansionState.d.ts.map +1 -0
  157. package/ProcessTree/PureProcessTree/hooks/useProcessTreeGraphData.d.ts +46 -0
  158. package/ProcessTree/PureProcessTree/hooks/useProcessTreeGraphData.d.ts.map +1 -0
  159. package/ProcessTree/PureProcessTree/hooks/useProcessTreeLinkOverlay.d.ts +23 -0
  160. package/ProcessTree/PureProcessTree/hooks/useProcessTreeLinkOverlay.d.ts.map +1 -0
  161. package/ProcessTree/PureProcessTree/mockdata/data.d.ts +235 -0
  162. package/ProcessTree/PureProcessTree/mockdata/data.d.ts.map +1 -0
  163. package/ProcessTree/PureProcessTree/utils/iconLoader.d.ts +9 -0
  164. package/ProcessTree/PureProcessTree/utils/iconLoader.d.ts.map +1 -0
  165. package/ProcessTree/PureProcessTree/utils/processTreeLinkOverlayUtils.d.ts +36 -0
  166. package/ProcessTree/PureProcessTree/utils/processTreeLinkOverlayUtils.d.ts.map +1 -0
  167. package/ProcessTree/PureProcessTree/utils/processTreeUtils.d.ts +82 -0
  168. package/ProcessTree/PureProcessTree/utils/processTreeUtils.d.ts.map +1 -0
  169. package/ProcessTree/config.d.ts +4 -0
  170. package/ProcessTree/config.d.ts.map +1 -0
  171. package/ProcessTree/index.d.ts +3 -0
  172. package/ProcessTree/index.d.ts.map +1 -0
  173. package/ProcessTree.config.js +192 -0
  174. package/ProcessTree.config.js.map +7 -0
  175. package/ProcessTree.js +5128 -0
  176. package/ProcessTree.js.map +7 -0
  177. package/Punchcard/Punchcard.d.ts +1 -5
  178. package/Punchcard/Punchcard.d.ts.map +1 -1
  179. package/Punchcard/PurePunchcard/Punchcard.d.ts +28 -32
  180. package/Punchcard/PurePunchcard/Punchcard.d.ts.map +1 -1
  181. package/Punchcard/PurePunchcard/src/PunchcardAxis.d.ts +7 -12
  182. package/Punchcard/PurePunchcard/src/PunchcardAxis.d.ts.map +1 -1
  183. package/Punchcard/PurePunchcard/src/PunchcardBubble.d.ts +14 -19
  184. package/Punchcard/PurePunchcard/src/PunchcardBubble.d.ts.map +1 -1
  185. package/Punchcard/PurePunchcard/src/PunchcardChartArea.d.ts +22 -27
  186. package/Punchcard/PurePunchcard/src/PunchcardChartArea.d.ts.map +1 -1
  187. package/Punchcard/PurePunchcard/src/PunchcardGridLines.d.ts +3 -8
  188. package/Punchcard/PurePunchcard/src/PunchcardGridLines.d.ts.map +1 -1
  189. package/Punchcard/PurePunchcard/src/PunchcardLegend.d.ts +9 -14
  190. package/Punchcard/PurePunchcard/src/PunchcardLegend.d.ts.map +1 -1
  191. package/Punchcard/PurePunchcard/src/PunchcardRow.d.ts.map +1 -1
  192. package/Punchcard.config.js.map +1 -1
  193. package/Punchcard.js +444 -631
  194. package/Punchcard.js.map +4 -4
  195. package/README.md +2 -0
  196. package/Rectangle.config.js +1 -1
  197. package/Rectangle.config.js.map +2 -2
  198. package/Rectangle.js +289 -173
  199. package/Rectangle.js.map +4 -4
  200. package/RichText/PureRichText/Editor/EditorPanel.d.ts +20 -0
  201. package/RichText/PureRichText/Editor/EditorPanel.d.ts.map +1 -0
  202. package/RichText/PureRichText/Editor/EditorPanelStyles.d.ts +17 -0
  203. package/RichText/PureRichText/Editor/EditorPanelStyles.d.ts.map +1 -0
  204. package/RichText/PureRichText/Editor/FontSelector.d.ts +15 -0
  205. package/RichText/PureRichText/Editor/FontSelector.d.ts.map +1 -0
  206. package/RichText/PureRichText/Editor/FormatButton.d.ts +23 -0
  207. package/RichText/PureRichText/Editor/FormatButton.d.ts.map +1 -0
  208. package/RichText/PureRichText/Editor/editorPanelUtils.d.ts +19 -0
  209. package/RichText/PureRichText/Editor/editorPanelUtils.d.ts.map +1 -0
  210. package/RichText/PureRichText/Editor/hooks/useLineSpacing.d.ts +11 -0
  211. package/RichText/PureRichText/Editor/hooks/useLineSpacing.d.ts.map +1 -0
  212. package/RichText/PureRichText/Editor/hooks/useLinkHandlers.d.ts +26 -0
  213. package/RichText/PureRichText/Editor/hooks/useLinkHandlers.d.ts.map +1 -0
  214. package/RichText/PureRichText/Editor/index.d.ts +9 -0
  215. package/RichText/PureRichText/Editor/index.d.ts.map +1 -0
  216. package/RichText/PureRichText/InnerEditor.d.ts +41 -0
  217. package/RichText/PureRichText/InnerEditor.d.ts.map +1 -0
  218. package/RichText/PureRichText/PureRichText.d.ts +19 -0
  219. package/RichText/PureRichText/PureRichText.d.ts.map +1 -0
  220. package/RichText/PureRichText/PureRichTextContext.d.ts +64 -0
  221. package/RichText/PureRichText/PureRichTextContext.d.ts.map +1 -0
  222. package/RichText/PureRichText/RichTextStyles.d.ts +25 -0
  223. package/RichText/PureRichText/RichTextStyles.d.ts.map +1 -0
  224. package/RichText/PureRichText/activeInstance.d.ts +23 -0
  225. package/RichText/PureRichText/activeInstance.d.ts.map +1 -0
  226. package/RichText/PureRichText/config.d.ts +17 -0
  227. package/RichText/PureRichText/config.d.ts.map +1 -0
  228. package/RichText/PureRichText/hooks/index.d.ts +12 -0
  229. package/RichText/PureRichText/hooks/index.d.ts.map +1 -0
  230. package/RichText/PureRichText/hooks/useContentSave.d.ts +25 -0
  231. package/RichText/PureRichText/hooks/useContentSave.d.ts.map +1 -0
  232. package/RichText/PureRichText/hooks/useContentSync.d.ts +28 -0
  233. package/RichText/PureRichText/hooks/useContentSync.d.ts.map +1 -0
  234. package/RichText/PureRichText/hooks/useDashboardKeyboardNav.d.ts +33 -0
  235. package/RichText/PureRichText/hooks/useDashboardKeyboardNav.d.ts.map +1 -0
  236. package/RichText/PureRichText/hooks/useEditModeEffect.d.ts +10 -0
  237. package/RichText/PureRichText/hooks/useEditModeEffect.d.ts.map +1 -0
  238. package/RichText/PureRichText/hooks/useEditorSetup.d.ts +36 -0
  239. package/RichText/PureRichText/hooks/useEditorSetup.d.ts.map +1 -0
  240. package/RichText/PureRichText/hooks/useFakeHighlight.d.ts +33 -0
  241. package/RichText/PureRichText/hooks/useFakeHighlight.d.ts.map +1 -0
  242. package/RichText/PureRichText/hooks/useFocusHandlers.d.ts +35 -0
  243. package/RichText/PureRichText/hooks/useFocusHandlers.d.ts.map +1 -0
  244. package/RichText/PureRichText/hooks/useKeyboardShortcuts.d.ts +18 -0
  245. package/RichText/PureRichText/hooks/useKeyboardShortcuts.d.ts.map +1 -0
  246. package/RichText/PureRichText/hooks/useMouseHandlers.d.ts +24 -0
  247. package/RichText/PureRichText/hooks/useMouseHandlers.d.ts.map +1 -0
  248. package/RichText/PureRichText/hooks/useRichTextState.d.ts +38 -0
  249. package/RichText/PureRichText/hooks/useRichTextState.d.ts.map +1 -0
  250. package/RichText/PureRichText/hooks/useStepFontSize.d.ts +17 -0
  251. package/RichText/PureRichText/hooks/useStepFontSize.d.ts.map +1 -0
  252. package/RichText/PureRichText/hooks/useStepLineSpacing.d.ts +18 -0
  253. package/RichText/PureRichText/hooks/useStepLineSpacing.d.ts.map +1 -0
  254. package/RichText/PureRichText/hooks/useTokenMap.d.ts +45 -0
  255. package/RichText/PureRichText/hooks/useTokenMap.d.ts.map +1 -0
  256. package/RichText/PureRichText/index.d.ts +16 -0
  257. package/RichText/PureRichText/index.d.ts.map +1 -0
  258. package/RichText/PureRichText/renderers/ElementRenderer.d.ts +8 -0
  259. package/RichText/PureRichText/renderers/ElementRenderer.d.ts.map +1 -0
  260. package/RichText/PureRichText/renderers/LeafRenderer.d.ts +8 -0
  261. package/RichText/PureRichText/renderers/LeafRenderer.d.ts.map +1 -0
  262. package/RichText/PureRichText/types.d.ts +111 -0
  263. package/RichText/PureRichText/types.d.ts.map +1 -0
  264. package/RichText/PureRichText/utils/a11yUtils.d.ts +9 -0
  265. package/RichText/PureRichText/utils/a11yUtils.d.ts.map +1 -0
  266. package/RichText/PureRichText/utils/fontSize.d.ts +6 -0
  267. package/RichText/PureRichText/utils/fontSize.d.ts.map +1 -0
  268. package/RichText/PureRichText/utils/slateUtils.d.ts +99 -0
  269. package/RichText/PureRichText/utils/slateUtils.d.ts.map +1 -0
  270. package/RichText/RichText.d.ts +17 -0
  271. package/RichText/RichText.d.ts.map +1 -0
  272. package/RichText/config.d.ts +4 -0
  273. package/RichText/config.d.ts.map +1 -0
  274. package/RichText/index.d.ts +7 -0
  275. package/RichText/index.d.ts.map +1 -0
  276. package/RichText.config.js +268 -0
  277. package/RichText.config.js.map +7 -0
  278. package/RichText.js +7674 -0
  279. package/RichText.js.map +7 -0
  280. package/Sankey/PureSankey/PureSankey.d.ts.map +1 -1
  281. package/Sankey/PureSankey/SankeyLink.d.ts.map +1 -1
  282. package/Sankey/PureSankey/SankeyNode.d.ts +10 -3
  283. package/Sankey/PureSankey/SankeyNode.d.ts.map +1 -1
  284. package/Sankey/PureSankey/SankeyTooltip.d.ts.map +1 -1
  285. package/Sankey/PureSankey/SankeyUtils.d.ts +10 -0
  286. package/Sankey/PureSankey/SankeyUtils.d.ts.map +1 -1
  287. package/Sankey.config.js.map +1 -1
  288. package/Sankey.js +562 -290
  289. package/Sankey.js.map +4 -4
  290. package/Scatter/Scatter.d.ts.map +1 -1
  291. package/Scatter.config.js +81 -24
  292. package/Scatter.config.js.map +3 -3
  293. package/Scatter.js +528 -297
  294. package/Scatter.js.map +4 -4
  295. package/SingleValue/SingleValue.d.ts.map +1 -1
  296. package/SingleValue/config.d.ts.map +1 -1
  297. package/SingleValue.config.js +76 -24
  298. package/SingleValue.config.js.map +2 -2
  299. package/SingleValue.js +896 -779
  300. package/SingleValue.js.map +4 -4
  301. package/SingleValueBasic.js.map +1 -1
  302. package/SingleValueIcon/SingleValueIcon.d.ts.map +1 -1
  303. package/SingleValueIcon/config.d.ts.map +1 -1
  304. package/SingleValueIcon.config.js +76 -24
  305. package/SingleValueIcon.config.js.map +2 -2
  306. package/SingleValueIcon.js +512 -287
  307. package/SingleValueIcon.js.map +4 -4
  308. package/SingleValueRadial/PureSingleValueRadial/utils/gaugeUtils.d.ts +0 -8
  309. package/SingleValueRadial/PureSingleValueRadial/utils/gaugeUtils.d.ts.map +1 -1
  310. package/SingleValueRadial/SingleValueRadial.d.ts.map +1 -1
  311. package/SingleValueRadial/config.d.ts.map +1 -1
  312. package/SingleValueRadial.config.js +76 -24
  313. package/SingleValueRadial.config.js.map +2 -2
  314. package/SingleValueRadial.js +543 -326
  315. package/SingleValueRadial.js.map +4 -4
  316. package/SparkLine/SparkLine.d.ts +57 -0
  317. package/SparkLine/SparkLine.d.ts.map +1 -0
  318. package/SparkLine/index.d.ts +1 -1
  319. package/SparkLine/index.d.ts.map +1 -1
  320. package/SparkLine.js +384 -485
  321. package/SparkLine.js.map +4 -4
  322. package/TRELLIS.md +48 -0
  323. package/Table/PureTable.d.ts +1 -0
  324. package/Table/PureTable.d.ts.map +1 -1
  325. package/Table/Table.d.ts.map +1 -1
  326. package/Table/cells/ArrayCell.d.ts.map +1 -1
  327. package/Table/config.d.ts.map +1 -1
  328. package/Table/hooks.d.ts +1 -1
  329. package/Table/hooks.d.ts.map +1 -1
  330. package/Table/tableUtils.d.ts +14 -0
  331. package/Table/tableUtils.d.ts.map +1 -0
  332. package/Table.config.js +4 -10
  333. package/Table.config.js.map +2 -2
  334. package/Table.js +1158 -846
  335. package/Table.js.map +4 -4
  336. package/Timeline/PureTimeline/src/TimelineYAxis.d.ts.map +1 -1
  337. package/Timeline/PureTimeline/src/utils/timelineUtils.d.ts +5 -0
  338. package/Timeline/PureTimeline/src/utils/timelineUtils.d.ts.map +1 -1
  339. package/Timeline/Timeline.d.ts +2 -0
  340. package/Timeline/Timeline.d.ts.map +1 -1
  341. package/Timeline/config.d.ts.map +1 -1
  342. package/Timeline/mockdata/timelineDataSource.d.ts +34 -0
  343. package/Timeline/mockdata/timelineDataSource.d.ts.map +1 -1
  344. package/Timeline.config.js +15 -0
  345. package/Timeline.config.js.map +2 -2
  346. package/Timeline.js +348 -186
  347. package/Timeline.js.map +4 -4
  348. package/common/Charting.d.ts.map +1 -1
  349. package/common/Charting.js +50 -28
  350. package/common/Charting.js.map +2 -2
  351. package/common/ChartingApi.d.ts +1 -1
  352. package/common/ChartingApi.d.ts.map +1 -1
  353. package/common/ChartingApi.js.map +2 -2
  354. package/common/DocExampleWithVizSandbox.js.map +1 -1
  355. package/common/OptionsDoc.js.map +1 -1
  356. package/common/OverviewDoc.js.map +1 -1
  357. package/common/SplunkVisualization.d.ts +1 -1
  358. package/common/SplunkVisualization.d.ts.map +1 -1
  359. package/common/SplunkVisualization.js +6 -4
  360. package/common/SplunkVisualization.js.map +2 -2
  361. package/common/StyledSkipLink.d.ts +2 -0
  362. package/common/StyledSkipLink.d.ts.map +1 -0
  363. package/common/StyledSkipLink.js +81 -0
  364. package/common/StyledSkipLink.js.map +7 -0
  365. package/common/TimeSeriesChartWrapper.d.ts.map +1 -1
  366. package/common/TimeSeriesChartWrapper.js +228 -107
  367. package/common/TimeSeriesChartWrapper.js.map +4 -4
  368. package/common/chartingUtils.d.ts +32 -6
  369. package/common/chartingUtils.d.ts.map +1 -1
  370. package/common/chartingUtils.js +166 -39
  371. package/common/chartingUtils.js.map +4 -4
  372. package/common/components/TrellisTitle.d.ts.map +1 -1
  373. package/common/docUtils.js +1 -1
  374. package/common/docUtils.js.map +2 -2
  375. package/common/editorConfig/AxesChartDataDisplay.d.ts.map +1 -1
  376. package/common/editorConfig/AxesChartYGridAndLabels.d.ts.map +1 -1
  377. package/common/editorConfig/BackgroundColor.d.ts +2 -2
  378. package/common/editorConfig/TrellisEditors.d.ts +33 -5
  379. package/common/editorConfig/TrellisEditors.d.ts.map +1 -1
  380. package/common/hocs/mockdata/trellisData.d.ts +54 -0
  381. package/common/hocs/mockdata/trellisData.d.ts.map +1 -1
  382. package/common/hocs/withTrellis.d.ts +9 -0
  383. package/common/hocs/withTrellis.d.ts.map +1 -1
  384. package/common/hooks/useSorting.d.ts +2 -2
  385. package/common/hooks/useSorting.d.ts.map +1 -1
  386. package/common/shapeUtils.d.ts +1 -1
  387. package/common/shapeUtils.d.ts.map +1 -1
  388. package/common/shapeUtils.js.map +2 -2
  389. package/common/utils/dataUtils.js +2 -1
  390. package/common/utils/dataUtils.js.map +2 -2
  391. package/common/utils/focusUtils.d.ts +4 -0
  392. package/common/utils/focusUtils.d.ts.map +1 -0
  393. package/common/utils/focusUtils.js +101 -0
  394. package/common/utils/focusUtils.js.map +7 -0
  395. package/common/utils/mapUtils.js +513 -184
  396. package/common/utils/mapUtils.js.map +4 -4
  397. package/common/utils/shadowDomUtils.d.ts +2 -0
  398. package/common/utils/shadowDomUtils.d.ts.map +1 -0
  399. package/common/utils/shadowDomUtils.js +39 -0
  400. package/common/utils/shadowDomUtils.js.map +7 -0
  401. package/common/utils/singleValueUtils.js +14 -26
  402. package/common/utils/singleValueUtils.js.map +2 -2
  403. package/common/utils/trellisUtils.d.ts.map +1 -1
  404. package/common/utils/trellisUtils.js +76 -70
  405. package/common/utils/trellisUtils.js.map +2 -2
  406. package/common/withDashboardViz.d.ts.map +1 -1
  407. package/common/withDashboardViz.js +276 -151
  408. package/common/withDashboardViz.js.map +4 -4
  409. package/docs-llm/INDEX.md +118 -0
  410. package/docs-llm/area/examples-json.md +3854 -0
  411. package/docs-llm/area/examples-react.md +2816 -0
  412. package/docs-llm/area/options.md +97 -0
  413. package/docs-llm/area/overview.md +27 -0
  414. package/docs-llm/bar/examples-json.md +3380 -0
  415. package/docs-llm/bar/examples-react.md +2352 -0
  416. package/docs-llm/bar/options.md +89 -0
  417. package/docs-llm/bar/overview.md +25 -0
  418. package/docs-llm/bubble/examples-json.md +4082 -0
  419. package/docs-llm/bubble/examples-react.md +3977 -0
  420. package/docs-llm/bubble/options.md +62 -0
  421. package/docs-llm/bubble/overview.md +26 -0
  422. package/docs-llm/choropleth-svg/examples-json.md +397 -0
  423. package/docs-llm/choropleth-svg/examples-react.md +389 -0
  424. package/docs-llm/choropleth-svg/options.md +15 -0
  425. package/docs-llm/choropleth-svg/overview.md +23 -0
  426. package/docs-llm/column/examples-json.md +3898 -0
  427. package/docs-llm/column/examples-react.md +2653 -0
  428. package/docs-llm/column/options.md +94 -0
  429. package/docs-llm/column/overview.md +31 -0
  430. package/docs-llm/dsl/examples-json.md +43 -0
  431. package/docs-llm/dsl/examples-react.md +78 -0
  432. package/docs-llm/dsl/formatters/format-by-type-examples-json.md +58 -0
  433. package/docs-llm/dsl/formatters/format-by-type-examples-react.md +43 -0
  434. package/docs-llm/dsl/formatters/format-by-type.md +38 -0
  435. package/docs-llm/dsl/formatters/frame-examples-json.md +42 -0
  436. package/docs-llm/dsl/formatters/frame-examples-react.md +24 -0
  437. package/docs-llm/dsl/formatters/frame.md +6 -0
  438. package/docs-llm/dsl/formatters/gradient-examples-json.md +98 -0
  439. package/docs-llm/dsl/formatters/gradient-examples-react.md +44 -0
  440. package/docs-llm/dsl/formatters/gradient.md +23 -0
  441. package/docs-llm/dsl/formatters/lerp-examples-json.md +40 -0
  442. package/docs-llm/dsl/formatters/lerp-examples-react.md +28 -0
  443. package/docs-llm/dsl/formatters/lerp.md +19 -0
  444. package/docs-llm/dsl/formatters/match-value-examples-json.md +65 -0
  445. package/docs-llm/dsl/formatters/match-value-examples-react.md +37 -0
  446. package/docs-llm/dsl/formatters/match-value.md +13 -0
  447. package/docs-llm/dsl/formatters/max-contrast-examples-json.md +39 -0
  448. package/docs-llm/dsl/formatters/max-contrast-examples-react.md +27 -0
  449. package/docs-llm/dsl/formatters/max-contrast.md +9 -0
  450. package/docs-llm/dsl/formatters/multi-format-examples-json.md +67 -0
  451. package/docs-llm/dsl/formatters/multi-format-examples-react.md +49 -0
  452. package/docs-llm/dsl/formatters/multi-format.md +12 -0
  453. package/docs-llm/dsl/formatters/objects-examples-json.md +49 -0
  454. package/docs-llm/dsl/formatters/objects-examples-react.md +37 -0
  455. package/docs-llm/dsl/formatters/objects.md +3 -0
  456. package/docs-llm/dsl/formatters/pick-examples-json.md +59 -0
  457. package/docs-llm/dsl/formatters/pick-examples-react.md +30 -0
  458. package/docs-llm/dsl/formatters/pick.md +9 -0
  459. package/docs-llm/dsl/formatters/prefix-examples-json.md +29 -0
  460. package/docs-llm/dsl/formatters/prefix-examples-react.md +19 -0
  461. package/docs-llm/dsl/formatters/prefix.md +3 -0
  462. package/docs-llm/dsl/formatters/prepend-examples-json.md +51 -0
  463. package/docs-llm/dsl/formatters/prepend-examples-react.md +33 -0
  464. package/docs-llm/dsl/formatters/prepend.md +9 -0
  465. package/docs-llm/dsl/formatters/range-value-examples-json.md +48 -0
  466. package/docs-llm/dsl/formatters/range-value-examples-react.md +34 -0
  467. package/docs-llm/dsl/formatters/range-value.md +15 -0
  468. package/docs-llm/dsl/formatters/set-color-channel-examples-json.md +40 -0
  469. package/docs-llm/dsl/formatters/set-color-channel-examples-react.md +31 -0
  470. package/docs-llm/dsl/formatters/set-color-channel.md +9 -0
  471. package/docs-llm/dsl/formatters/suffix-examples-json.md +29 -0
  472. package/docs-llm/dsl/formatters/suffix-examples-react.md +19 -0
  473. package/docs-llm/dsl/formatters/suffix.md +3 -0
  474. package/docs-llm/dsl/formatters/type-examples-json.md +37 -0
  475. package/docs-llm/dsl/formatters/type-examples-react.md +20 -0
  476. package/docs-llm/dsl/formatters/type.md +3 -0
  477. package/docs-llm/dsl/overview.md +41 -0
  478. package/docs-llm/dsl/selectors/abs.md +7 -0
  479. package/docs-llm/dsl/selectors/ceil.md +7 -0
  480. package/docs-llm/dsl/selectors/data-frame-average-examples-json.md +41 -0
  481. package/docs-llm/dsl/selectors/data-frame-average-examples-react.md +36 -0
  482. package/docs-llm/dsl/selectors/data-frame-average.md +7 -0
  483. package/docs-llm/dsl/selectors/data-frame-count-examples-json.md +41 -0
  484. package/docs-llm/dsl/selectors/data-frame-count-examples-react.md +36 -0
  485. package/docs-llm/dsl/selectors/data-frame-count.md +7 -0
  486. package/docs-llm/dsl/selectors/data-frame-examples-json.md +830 -0
  487. package/docs-llm/dsl/selectors/data-frame-examples-react.md +929 -0
  488. package/docs-llm/dsl/selectors/data-frame-get-field-examples-json.md +89 -0
  489. package/docs-llm/dsl/selectors/data-frame-get-field-examples-react.md +124 -0
  490. package/docs-llm/dsl/selectors/data-frame-get-field.md +5 -0
  491. package/docs-llm/dsl/selectors/data-frame-get-raw-value.md +5 -0
  492. package/docs-llm/dsl/selectors/data-frame-get-type.md +5 -0
  493. package/docs-llm/dsl/selectors/data-frame-get-value.md +5 -0
  494. package/docs-llm/dsl/selectors/data-frame-max-examples-json.md +51 -0
  495. package/docs-llm/dsl/selectors/data-frame-max-examples-react.md +41 -0
  496. package/docs-llm/dsl/selectors/data-frame-max.md +7 -0
  497. package/docs-llm/dsl/selectors/data-frame-min-examples-json.md +51 -0
  498. package/docs-llm/dsl/selectors/data-frame-min-examples-react.md +41 -0
  499. package/docs-llm/dsl/selectors/data-frame-min.md +7 -0
  500. package/docs-llm/dsl/selectors/data-frame-percentile-examples-json.md +41 -0
  501. package/docs-llm/dsl/selectors/data-frame-percentile-examples-react.md +36 -0
  502. package/docs-llm/dsl/selectors/data-frame-percentile.md +8 -0
  503. package/docs-llm/dsl/selectors/data-frame-set-value.md +5 -0
  504. package/docs-llm/dsl/selectors/data-frame-sum-examples-json.md +51 -0
  505. package/docs-llm/dsl/selectors/data-frame-sum-examples-react.md +41 -0
  506. package/docs-llm/dsl/selectors/data-frame-sum.md +7 -0
  507. package/docs-llm/dsl/selectors/data-frame.md +4 -0
  508. package/docs-llm/dsl/selectors/data-point-get-field.md +5 -0
  509. package/docs-llm/dsl/selectors/data-point-get-raw-value.md +4 -0
  510. package/docs-llm/dsl/selectors/data-point-get-type.md +5 -0
  511. package/docs-llm/dsl/selectors/data-point-get-value.md +5 -0
  512. package/docs-llm/dsl/selectors/data-point-set-value.md +4 -0
  513. package/docs-llm/dsl/selectors/data-point.md +5 -0
  514. package/docs-llm/dsl/selectors/data-series-average.md +22 -0
  515. package/docs-llm/dsl/selectors/data-series-count.md +14 -0
  516. package/docs-llm/dsl/selectors/data-series-get-field.md +5 -0
  517. package/docs-llm/dsl/selectors/data-series-get-raw-value.md +4 -0
  518. package/docs-llm/dsl/selectors/data-series-get-type.md +5 -0
  519. package/docs-llm/dsl/selectors/data-series-get-value.md +4 -0
  520. package/docs-llm/dsl/selectors/data-series-max.md +5 -0
  521. package/docs-llm/dsl/selectors/data-series-min.md +5 -0
  522. package/docs-llm/dsl/selectors/data-series-percentile.md +17 -0
  523. package/docs-llm/dsl/selectors/data-series-set-value.md +4 -0
  524. package/docs-llm/dsl/selectors/data-series-sum.md +24 -0
  525. package/docs-llm/dsl/selectors/data-series.md +4 -0
  526. package/docs-llm/dsl/selectors/delta.md +7 -0
  527. package/docs-llm/dsl/selectors/divide.md +8 -0
  528. package/docs-llm/dsl/selectors/first-point.md +5 -0
  529. package/docs-llm/dsl/selectors/floor.md +7 -0
  530. package/docs-llm/dsl/selectors/frame-by-series-index-range-examples-json.md +89 -0
  531. package/docs-llm/dsl/selectors/frame-by-series-index-range-examples-react.md +88 -0
  532. package/docs-llm/dsl/selectors/frame-by-series-index-range.md +10 -0
  533. package/docs-llm/dsl/selectors/frame-by-series-indexes-examples-json.md +88 -0
  534. package/docs-llm/dsl/selectors/frame-by-series-indexes-examples-react.md +87 -0
  535. package/docs-llm/dsl/selectors/frame-by-series-indexes.md +9 -0
  536. package/docs-llm/dsl/selectors/frame-by-series-names-examples-json.md +89 -0
  537. package/docs-llm/dsl/selectors/frame-by-series-names-examples-react.md +88 -0
  538. package/docs-llm/dsl/selectors/frame-by-series-names-or-indexes-examples-json.md +89 -0
  539. package/docs-llm/dsl/selectors/frame-by-series-names-or-indexes-examples-react.md +88 -0
  540. package/docs-llm/dsl/selectors/frame-by-series-names-or-indexes.md +9 -0
  541. package/docs-llm/dsl/selectors/frame-by-series-names.md +9 -0
  542. package/docs-llm/dsl/selectors/frame-by-series-types-examples-json.md +89 -0
  543. package/docs-llm/dsl/selectors/frame-by-series-types-examples-react.md +88 -0
  544. package/docs-llm/dsl/selectors/frame-by-series-types.md +9 -0
  545. package/docs-llm/dsl/selectors/frame-without-internal-fields-examples-json.md +137 -0
  546. package/docs-llm/dsl/selectors/frame-without-internal-fields-examples-react.md +135 -0
  547. package/docs-llm/dsl/selectors/frame-without-internal-fields-except-examples-json.md +157 -0
  548. package/docs-llm/dsl/selectors/frame-without-internal-fields-except-examples-react.md +155 -0
  549. package/docs-llm/dsl/selectors/frame-without-internal-fields-except.md +21 -0
  550. package/docs-llm/dsl/selectors/frame-without-internal-fields.md +17 -0
  551. package/docs-llm/dsl/selectors/frame-without-series-names.md +8 -0
  552. package/docs-llm/dsl/selectors/last-point.md +5 -0
  553. package/docs-llm/dsl/selectors/minus.md +8 -0
  554. package/docs-llm/dsl/selectors/multiply.md +8 -0
  555. package/docs-llm/dsl/selectors/plus.md +8 -0
  556. package/docs-llm/dsl/selectors/point-by-index.md +6 -0
  557. package/docs-llm/dsl/selectors/points-by-indexes.md +6 -0
  558. package/docs-llm/dsl/selectors/round.md +7 -0
  559. package/docs-llm/dsl/selectors/series-by-index-examples-json.md +49 -0
  560. package/docs-llm/dsl/selectors/series-by-index-examples-react.md +39 -0
  561. package/docs-llm/dsl/selectors/series-by-index.md +8 -0
  562. package/docs-llm/dsl/selectors/series-by-name-examples-json.md +49 -0
  563. package/docs-llm/dsl/selectors/series-by-name-examples-react.md +39 -0
  564. package/docs-llm/dsl/selectors/series-by-name.md +8 -0
  565. package/docs-llm/dsl/selectors/series-by-prioritized-types-examples-json.md +47 -0
  566. package/docs-llm/dsl/selectors/series-by-prioritized-types-examples-react.md +39 -0
  567. package/docs-llm/dsl/selectors/series-by-prioritized-types.md +10 -0
  568. package/docs-llm/dsl/selectors/series-by-type-examples-json.md +49 -0
  569. package/docs-llm/dsl/selectors/series-by-type-examples-react.md +39 -0
  570. package/docs-llm/dsl/selectors/series-by-type.md +10 -0
  571. package/docs-llm/dsl/selectors/series-by-types.md +6 -0
  572. package/docs-llm/ellipse/examples-json.md +5 -0
  573. package/docs-llm/ellipse/examples-react.md +5 -0
  574. package/docs-llm/ellipse/options.md +16 -0
  575. package/docs-llm/ellipse/overview.md +5 -0
  576. package/docs-llm/events/examples-json.md +705 -0
  577. package/docs-llm/events/examples-react.md +536 -0
  578. package/docs-llm/events/options.md +18 -0
  579. package/docs-llm/events/overview.md +5 -0
  580. package/docs-llm/filler-gauge/examples-json.md +376 -0
  581. package/docs-llm/filler-gauge/examples-react.md +274 -0
  582. package/docs-llm/filler-gauge/options.md +26 -0
  583. package/docs-llm/filler-gauge/overview.md +5 -0
  584. package/docs-llm/image/examples-json.md +39 -0
  585. package/docs-llm/image/examples-react.md +65 -0
  586. package/docs-llm/image/options.md +13 -0
  587. package/docs-llm/image/overview.md +5 -0
  588. package/docs-llm/line/examples-json.md +3724 -0
  589. package/docs-llm/line/examples-react.md +2683 -0
  590. package/docs-llm/line/options.md +95 -0
  591. package/docs-llm/line/overview.md +29 -0
  592. package/docs-llm/link-graph/examples-json.md +5 -0
  593. package/docs-llm/link-graph/examples-react.md +5 -0
  594. package/docs-llm/link-graph/options.md +26 -0
  595. package/docs-llm/link-graph/overview.md +16 -0
  596. package/docs-llm/map/examples-json.md +13973 -0
  597. package/docs-llm/map/examples-react.md +6154 -0
  598. package/docs-llm/map/options.md +22 -0
  599. package/docs-llm/map/overview.md +32 -0
  600. package/docs-llm/markdown/examples-json.md +63 -0
  601. package/docs-llm/markdown/examples-react.md +98 -0
  602. package/docs-llm/markdown/options.md +17 -0
  603. package/docs-llm/markdown/overview.md +5 -0
  604. package/docs-llm/marker-gauge/examples-json.md +436 -0
  605. package/docs-llm/marker-gauge/examples-react.md +367 -0
  606. package/docs-llm/marker-gauge/options.md +26 -0
  607. package/docs-llm/marker-gauge/overview.md +5 -0
  608. package/docs-llm/network-graph/examples-json.md +8843 -0
  609. package/docs-llm/network-graph/examples-react.md +7339 -0
  610. package/docs-llm/network-graph/options.md +50 -0
  611. package/docs-llm/network-graph/overview.md +28 -0
  612. package/docs-llm/parallel-coordinates/examples-json.md +8376 -0
  613. package/docs-llm/parallel-coordinates/examples-react.md +2771 -0
  614. package/docs-llm/parallel-coordinates/options.md +14 -0
  615. package/docs-llm/parallel-coordinates/overview.md +22 -0
  616. package/docs-llm/pie/examples-json.md +851 -0
  617. package/docs-llm/pie/examples-react.md +606 -0
  618. package/docs-llm/pie/options.md +34 -0
  619. package/docs-llm/pie/overview.md +23 -0
  620. package/docs-llm/process-tree/options.md +32 -0
  621. package/docs-llm/punchcard/examples-json.md +6134 -0
  622. package/docs-llm/punchcard/examples-react.md +4562 -0
  623. package/docs-llm/punchcard/options.md +33 -0
  624. package/docs-llm/punchcard/overview.md +5 -0
  625. package/docs-llm/pure-rich-text/options.md +28 -0
  626. package/docs-llm/rectangle/examples-json.md +5 -0
  627. package/docs-llm/rectangle/examples-react.md +5 -0
  628. package/docs-llm/rectangle/options.md +19 -0
  629. package/docs-llm/rectangle/overview.md +5 -0
  630. package/docs-llm/rich-text/examples-json.md +96 -0
  631. package/docs-llm/rich-text/examples-react.md +119 -0
  632. package/docs-llm/rich-text/options.md +28 -0
  633. package/docs-llm/rich-text/overview.md +5 -0
  634. package/docs-llm/sankey/examples-json.md +844 -0
  635. package/docs-llm/sankey/examples-react.md +546 -0
  636. package/docs-llm/sankey/options.md +19 -0
  637. package/docs-llm/sankey/overview.md +24 -0
  638. package/docs-llm/scatter/examples-json.md +4012 -0
  639. package/docs-llm/scatter/examples-react.md +3914 -0
  640. package/docs-llm/scatter/options.md +68 -0
  641. package/docs-llm/scatter/overview.md +25 -0
  642. package/docs-llm/single-value/examples-json.md +2613 -0
  643. package/docs-llm/single-value/examples-react.md +2296 -0
  644. package/docs-llm/single-value/options.md +49 -0
  645. package/docs-llm/single-value/overview.md +23 -0
  646. package/docs-llm/single-value-icon/examples-json.md +1686 -0
  647. package/docs-llm/single-value-icon/examples-react.md +1573 -0
  648. package/docs-llm/single-value-icon/options.md +43 -0
  649. package/docs-llm/single-value-icon/overview.md +5 -0
  650. package/docs-llm/single-value-radial/examples-json.md +1178 -0
  651. package/docs-llm/single-value-radial/examples-react.md +1028 -0
  652. package/docs-llm/single-value-radial/options.md +41 -0
  653. package/docs-llm/single-value-radial/overview.md +5 -0
  654. package/docs-llm/table/examples-json.md +5 -0
  655. package/docs-llm/table/examples-react.md +5 -0
  656. package/docs-llm/table/options.md +25 -0
  657. package/docs-llm/table/overview.md +24 -0
  658. package/docs-llm/timeline/examples-json.md +5 -0
  659. package/docs-llm/timeline/examples-react.md +5 -0
  660. package/docs-llm/timeline/options.md +27 -0
  661. package/docs-llm/timeline/overview.md +24 -0
  662. package/package.json +39 -30
  663. package/LICENSE.md +0 -449
package/Sankey.js CHANGED
@@ -12,6 +12,7 @@ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
12
12
  var __getProtoOf = Object.getPrototypeOf;
13
13
  var __hasOwnProp = Object.prototype.hasOwnProperty;
14
14
  var __propIsEnum = Object.prototype.propertyIsEnumerable;
15
+ var __pow = Math.pow;
15
16
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
16
17
  var __spreadValues = (a, b) => {
17
18
  for (var prop in b || (b = {}))
@@ -59,6 +60,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
59
60
  mod
60
61
  ));
61
62
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
63
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
62
64
 
63
65
  // src/Sankey/index.ts
64
66
  var Sankey_exports = {};
@@ -229,7 +231,7 @@ var DefaultVizActionHandler = class {
229
231
  var INITIAL_HEIGHT = 250;
230
232
  var SplunkVisualization = class {
231
233
  };
232
- SplunkVisualization.propTypes = {
234
+ __publicField(SplunkVisualization, "propTypes", {
233
235
  /**
234
236
  * display mode
235
237
  */
@@ -305,11 +307,11 @@ SplunkVisualization.propTypes = {
305
307
  * A callback to request new data with updated request params
306
308
  */
307
309
  onRequestParamsChange: prop_types_exports.func
308
- };
310
+ });
309
311
  /**
310
312
  *
311
313
  */
312
- SplunkVisualization.defaults = {
314
+ __publicField(SplunkVisualization, "defaults", {
313
315
  // BaseVisualization in dashboard-visualizations uses 100% for width but 250 for height
314
316
  width: "100%",
315
317
  height: INITIAL_HEIGHT,
@@ -324,7 +326,7 @@ SplunkVisualization.defaults = {
324
326
  onComputedProps: () => ({}),
325
327
  loading: false,
326
328
  onRequestParamsChange: lodash_exports.noop
327
- };
329
+ });
328
330
  var SplunkVisualization_default = SplunkVisualization;
329
331
 
330
332
  // src/common/interfaces/DataSource.ts
@@ -378,9 +380,9 @@ var usePaginationParams = ({
378
380
  meta,
379
381
  onRequestParamsChange
380
382
  }) => {
381
- const totalCount = meta && meta.totalCount || 0;
382
- const offset = requestParams && requestParams.offset || 0;
383
- const count = requestParams && requestParams.count;
383
+ const totalCount = (meta == null ? void 0 : meta.totalCount) || 0;
384
+ const offset = (requestParams == null ? void 0 : requestParams.offset) || 0;
385
+ const count = requestParams == null ? void 0 : requestParams.count;
384
386
  const totalPages = typeof count === "number" && count > 0 ? Math.ceil(totalCount / count) : 0;
385
387
  const current = typeof count === "number" && count > 0 ? Math.floor(offset / count) + 1 : 0;
386
388
  const isPaging = totalPages > 1 && typeof onRequestParamsChange === "function";
@@ -497,7 +499,7 @@ var Cover = styled_components_default.div`
497
499
  bottom: 0;
498
500
  `;
499
501
  var Blocker = styled_components_default.div.attrs({
500
- "data-splunk-visualization-version": "28.5.3 - 657435b86"
502
+ "data-splunk-visualization-version": "28.7.0 - d7b18cab6"
501
503
  })`
502
504
  position: relative;
503
505
  width: 100%;
@@ -587,7 +589,7 @@ var withFixedSizeContainer = (Viz) => {
587
589
  FixSizeItem,
588
590
  {
589
591
  "data-test": "fix-size-item",
590
- "data-splunk-visualization-version": "28.5.3 - 657435b86",
592
+ "data-splunk-visualization-version": "28.7.0 - d7b18cab6",
591
593
  width,
592
594
  height,
593
595
  backgroundColor
@@ -1128,6 +1130,24 @@ var defaultImport26 = __toESM(require("@splunk/react-icons/Triangle"));
1128
1130
  __reExport(Triangle_exports, require("@splunk/react-icons/Triangle"));
1129
1131
  var Triangle_default = "default" in defaultImport26 ? defaultImport26.default : defaultImport26;
1130
1132
 
1133
+ // esm-externals:@splunk/visualizations-shared/propUtils
1134
+ var propUtils_exports = {};
1135
+ __export(propUtils_exports, {
1136
+ default: () => propUtils_default
1137
+ });
1138
+ var defaultImport27 = __toESM(require("@splunk/visualizations-shared/propUtils"));
1139
+ __reExport(propUtils_exports, require("@splunk/visualizations-shared/propUtils"));
1140
+ var propUtils_default = "default" in defaultImport27 ? defaultImport27.default : defaultImport27;
1141
+
1142
+ // esm-externals:@splunk/visualizations-shared/simpleXMLOptions
1143
+ var simpleXMLOptions_exports = {};
1144
+ __export(simpleXMLOptions_exports, {
1145
+ default: () => simpleXMLOptions_default
1146
+ });
1147
+ var defaultImport28 = __toESM(require("@splunk/visualizations-shared/simpleXMLOptions"));
1148
+ __reExport(simpleXMLOptions_exports, require("@splunk/visualizations-shared/simpleXMLOptions"));
1149
+ var simpleXMLOptions_default = "default" in defaultImport28 ? defaultImport28.default : defaultImport28;
1150
+
1131
1151
  // src/common/chartingUtils.ts
1132
1152
  var DEFAULT_LINE_WIDTH = 2;
1133
1153
  var getAnnotationsForCanvas = ({
@@ -1165,9 +1185,9 @@ var shouldEnableSearchZoom = (eventHandlers = [], xField = "") => {
1165
1185
  const xAxisIsTime = xField === "_time";
1166
1186
  return !!rangeSelectEventHandler && xAxisIsTime;
1167
1187
  };
1168
- var canvasSupportedTimeSeriesCharts = ["splunk.line"];
1188
+ var canvasSupportedTimeSeriesCharts = ["splunk.line", "splunk.area"];
1169
1189
  var isTimeSeriesCanvasRenderSupported = (vizConfigKey) => {
1170
- return canvasSupportedTimeSeriesCharts.indexOf(vizConfigKey) > -1;
1190
+ return canvasSupportedTimeSeriesCharts.includes(vizConfigKey);
1171
1191
  };
1172
1192
  var filterChartDataFromInternalFields = (chartData) => {
1173
1193
  const { fields, columns } = chartData;
@@ -1322,46 +1342,66 @@ var getY2ScaleConfig = (label, axisAbbreviation, axisScale, roundAxisLabelsToInt
1322
1342
  }
1323
1343
  return y2Config;
1324
1344
  };
1325
- var getSeriesOverrides = (yfields, y2fields, lineWidth, overlayFields, y2Enabled, nullValueMode, markerDisplay, lineDashStyle, lineDashStylesByField, stepPosition, stepPositionsByField) => {
1345
+ var getSeriesType = (isOverlay, isAreaChart, isStacked) => {
1346
+ if (isOverlay) return "line";
1347
+ if (!isAreaChart) return void 0;
1348
+ return isStacked ? "stacked-area" : "area";
1349
+ };
1350
+ var getY2Scale = (field, y2fields, overlayFields) => {
1351
+ const assignToY2 = (y2fields == null ? void 0 : y2fields.length) > 0 && y2fields.includes(field) || !(y2fields == null ? void 0 : y2fields.length) && (overlayFields == null ? void 0 : overlayFields.includes(field));
1352
+ return assignToY2 ? "y2" : "y";
1353
+ };
1354
+ var getSeriesOverrides = (opts) => {
1355
+ var _a;
1356
+ const {
1357
+ yfields,
1358
+ y2fields,
1359
+ lineWidth,
1360
+ overlayFields,
1361
+ y2Enabled,
1362
+ nullValueMode,
1363
+ markerDisplay,
1364
+ lineDashStyle,
1365
+ lineDashStylesByField,
1366
+ stepPosition,
1367
+ stepPositionsByField,
1368
+ type,
1369
+ stackMode,
1370
+ showLines
1371
+ } = opts;
1326
1372
  const seriesConfig = {};
1327
1373
  let spanGaps;
1328
- let replaceNullsWithZero;
1329
1374
  if (nullValueMode === "gaps") {
1330
1375
  spanGaps = false;
1331
- } else if (nullValueMode === "connect" || nullValueMode === "zero") {
1376
+ } else if (nullValueMode != null) {
1332
1377
  spanGaps = true;
1333
- if (nullValueMode === "zero") {
1334
- replaceNullsWithZero = true;
1335
- }
1378
+ } else {
1379
+ spanGaps = void 0;
1336
1380
  }
1337
- yfields.forEach((field) => {
1381
+ const replaceNullsWithZero = nullValueMode === "zero" ? true : void 0;
1382
+ const isAreaChart = type === "area";
1383
+ const isStacked = isAreaChart && (stackMode === "stacked" || stackMode === "stacked100");
1384
+ const areaFields = isAreaChart ? yfields.filter((f) => !(overlayFields == null ? void 0 : overlayFields.includes(f))) : yfields;
1385
+ const overlayFieldsInOrder = (_a = overlayFields == null ? void 0 : overlayFields.filter((f) => yfields.includes(f))) != null ? _a : [];
1386
+ const orderedFields = isAreaChart ? [...areaFields, ...overlayFieldsInOrder] : yfields;
1387
+ orderedFields.forEach((field) => {
1388
+ var _a2;
1389
+ const isOverlay = (_a2 = overlayFields == null ? void 0 : overlayFields.includes(field)) != null ? _a2 : false;
1390
+ const isPercent = isAreaChart && stackMode === "stacked100" && !isOverlay;
1391
+ const shouldHideAreaOutline = isAreaChart && showLines === false && !isOverlay;
1338
1392
  seriesConfig[field] = {
1339
- overrides: { width: lineWidth != null ? lineWidth : DEFAULT_LINE_WIDTH }
1393
+ overrides: __spreadValues({
1394
+ width: shouldHideAreaOutline ? 0 : lineWidth != null ? lineWidth : DEFAULT_LINE_WIDTH
1395
+ }, isPercent ? { stacking: { mode: "percent", group: "A" } } : {})
1340
1396
  };
1341
- if (spanGaps !== void 0) {
1342
- seriesConfig[field].overrides.spanGaps = spanGaps;
1343
- }
1344
- if (y2Enabled) {
1345
- const shouldAssignToY2 = (
1346
- // If y2Fields are present, assign all y2Fields to y2 scale
1347
- (y2fields == null ? void 0 : y2fields.length) > 0 && y2fields.includes(field) || // Else, assign all overlayFields to y2 scale
1348
- (!y2fields || y2fields.length === 0) && (overlayFields == null ? void 0 : overlayFields.includes(field))
1349
- );
1350
- if (shouldAssignToY2) {
1351
- seriesConfig[field].overrides.scale = "y2";
1352
- } else {
1353
- seriesConfig[field].overrides.scale = "y";
1354
- }
1355
- }
1356
- if (overlayFields == null ? void 0 : overlayFields.includes(field)) {
1357
- seriesConfig[field].type = "line";
1358
- }
1359
- if (markerDisplay !== void 0) {
1360
- seriesConfig[field].markerDisplay = markerDisplay;
1361
- }
1362
- const fieldDashStyle = (lineDashStylesByField == null ? void 0 : lineDashStylesByField[field]) || lineDashStyle;
1363
- if (fieldDashStyle) {
1364
- seriesConfig[field].lineDashStyle = fieldDashStyle;
1397
+ const seriesType = getSeriesType(isOverlay, isAreaChart, isStacked);
1398
+ if (seriesType !== void 0) seriesConfig[field].type = seriesType;
1399
+ if (spanGaps !== void 0) seriesConfig[field].overrides.spanGaps = spanGaps;
1400
+ if (y2Enabled) seriesConfig[field].overrides.scale = getY2Scale(field, y2fields, overlayFields);
1401
+ if (markerDisplay !== void 0) seriesConfig[field].markerDisplay = markerDisplay;
1402
+ if (!isAreaChart || isOverlay) {
1403
+ const fieldDashStyle = (lineDashStylesByField == null ? void 0 : lineDashStylesByField[field]) || lineDashStyle;
1404
+ if (fieldDashStyle) seriesConfig[field].lineDashStyle = fieldDashStyle;
1365
1405
  }
1366
1406
  const hasFieldStepPosition = Object.hasOwn(stepPositionsByField || {}, field);
1367
1407
  const fieldStepPosition = hasFieldStepPosition ? stepPositionsByField == null ? void 0 : stepPositionsByField[field] : stepPosition;
@@ -1409,9 +1449,9 @@ var visualization_schemas_exports = {};
1409
1449
  __export(visualization_schemas_exports, {
1410
1450
  default: () => visualization_schemas_default
1411
1451
  });
1412
- var defaultImport27 = __toESM(require("@splunk/visualization-schemas"));
1452
+ var defaultImport29 = __toESM(require("@splunk/visualization-schemas"));
1413
1453
  __reExport(visualization_schemas_exports, require("@splunk/visualization-schemas"));
1414
- var visualization_schemas_default = "default" in defaultImport27 ? defaultImport27.default : defaultImport27;
1454
+ var visualization_schemas_default = "default" in defaultImport29 ? defaultImport29.default : defaultImport29;
1415
1455
 
1416
1456
  // src/common/hooks/useTrellisEnabled.ts
1417
1457
  var useTrellisFeatureFlagOn = () => {
@@ -1441,8 +1481,27 @@ var TrellisTitleDiv = styled_components_default.div`
1441
1481
  background-color: ${(props) => props.backgroundColor};
1442
1482
  box-shadow: 0 1px ${(props) => props.backgroundColor}; // this is added to avoid a 1px gap between title and viz divs that showed up intermittently because of pixel rounding error in chrome.
1443
1483
  `;
1484
+ var formatTrellisKey = (value) => {
1485
+ if (value === null || value === void 0) {
1486
+ return "";
1487
+ }
1488
+ if (typeof value === "string") {
1489
+ return value;
1490
+ }
1491
+ if (typeof value === "number" || typeof value === "boolean") {
1492
+ return value.toString();
1493
+ }
1494
+ if (typeof value === "symbol") {
1495
+ return value.toString();
1496
+ }
1497
+ try {
1498
+ return JSON.stringify(value);
1499
+ } catch (e) {
1500
+ return typeof value === "bigint" ? value.toString() : "";
1501
+ }
1502
+ };
1444
1503
  var TrellisTitle = (props) => {
1445
- const titleText = String(props.trellisKey).toString();
1504
+ const titleText = formatTrellisKey(props.trellisKey);
1446
1505
  return /* @__PURE__ */ react_exports.createElement(
1447
1506
  TrellisTitleDiv,
1448
1507
  {
@@ -1578,6 +1637,38 @@ var parseArrayOption = (value) => {
1578
1637
  }
1579
1638
  return void 0;
1580
1639
  };
1640
+ var getAreaOpacityForCanvas = (areaOpacity) => (
1641
+ // Preserve legacy visualizations behavior where area opacity is squared to match charting output.
1642
+ areaOpacity !== void 0 && areaOpacity !== null ? __pow(areaOpacity, 2) : areaOpacity
1643
+ );
1644
+ var parseTickIntervalOption = (simpleXMLValue, canvasValue) => {
1645
+ if (simpleXMLValue) return Number(simpleXMLValue);
1646
+ if (canvasValue) return Number(canvasValue);
1647
+ return void 0;
1648
+ };
1649
+ var getYAxisTitles = ({
1650
+ y2Enabled,
1651
+ yFields,
1652
+ y2Fields,
1653
+ overlayFields,
1654
+ yAxisTitleText,
1655
+ yAxisTitleVisibility,
1656
+ y2AxisTitleText,
1657
+ y2AxisTitleVisibility,
1658
+ containerHeight
1659
+ }) => {
1660
+ const yFieldsForTitle = y2Enabled ? yFields.filter((field) => !y2Fields.includes(field)) : yFields;
1661
+ const fieldsForY2Axis = y2Fields.length > 0 ? y2Fields : overlayFields;
1662
+ const yAxisTitle = ellipsisAxisTitle(
1663
+ getComputedAxisTitles(yAxisTitleText, yFieldsForTitle, yAxisTitleVisibility),
1664
+ containerHeight
1665
+ );
1666
+ const y2AxisTitle = ellipsisAxisTitle(
1667
+ getComputedAxisTitles(y2AxisTitleText, fieldsForY2Axis, y2AxisTitleVisibility),
1668
+ containerHeight
1669
+ );
1670
+ return { yAxisTitle, y2AxisTitle };
1671
+ };
1581
1672
  var TimeSeriesChartWrapper = (props) => {
1582
1673
  var _b, _c, _d;
1583
1674
  const _a = props, {
@@ -1667,6 +1758,8 @@ var TimeSeriesChartWrapper = (props) => {
1667
1758
  "chart.overlayFields": overlayFieldsStr,
1668
1759
  "chart.nullValueMode": nullValueMode,
1669
1760
  "chart.showDataLabels": showDataLabels,
1761
+ "chart.showLines": showLines,
1762
+ "chart.stackMode": stackMode,
1670
1763
  lineWidth,
1671
1764
  lineDashStyle,
1672
1765
  fieldDashStyles: lineDashStylesByFieldStr,
@@ -1695,7 +1788,10 @@ var TimeSeriesChartWrapper = (props) => {
1695
1788
  yAxisMinorTickSize,
1696
1789
  y2AxisMinorTickSize,
1697
1790
  showYAxisWithZero: showYAxisWithZeroFromOptions,
1698
- showY2AxisWithZero: showY2AxisWithZeroFromOptions
1791
+ showY2AxisWithZero: showY2AxisWithZeroFromOptions,
1792
+ // area only props
1793
+ areaFillOpacity: areaOpacity,
1794
+ chart: chartType
1699
1795
  } = options;
1700
1796
  const dataValuesDisplay = showDataLabels === "none" ? "off" : showDataLabels;
1701
1797
  const showYAxisWithZero = showYAxisWithZeroFromProps != null ? showYAxisWithZeroFromProps : showYAxisWithZeroFromOptions;
@@ -1712,13 +1808,11 @@ var TimeSeriesChartWrapper = (props) => {
1712
1808
  const yAxisMax = parseAxisValue(yAxisMaxRaw);
1713
1809
  const y2AxisMin = parseAxisValue(y2AxisMinRaw);
1714
1810
  const y2AxisMax = parseAxisValue(y2AxisMaxRaw);
1715
- const parseTickInterval = (simpleXMLValue, canvasValue) => {
1716
- if (simpleXMLValue) return Number(simpleXMLValue);
1717
- if (canvasValue) return Number(canvasValue);
1718
- return void 0;
1719
- };
1720
- const yAxisMajorTickIntervalNum = parseTickInterval(yAxisMajorUnitFromSimpleXML, yAxisMajorTickInterval);
1721
- const y2AxisMajorTickIntervalNum = parseTickInterval(
1811
+ const yAxisMajorTickIntervalNum = parseTickIntervalOption(
1812
+ yAxisMajorUnitFromSimpleXML,
1813
+ yAxisMajorTickInterval
1814
+ );
1815
+ const y2AxisMajorTickIntervalNum = parseTickIntervalOption(
1722
1816
  y2AxisMajorUnitFromSimpleXML,
1723
1817
  y2AxisMajorTickInterval
1724
1818
  );
@@ -1727,6 +1821,7 @@ var TimeSeriesChartWrapper = (props) => {
1727
1821
  const y2AxisMajorTickSizeNum = y2AxisMajorTickSize != null ? Number(y2AxisMajorTickSize) : void 0;
1728
1822
  const yAxisMinorTickSizeNum = yAxisMinorTickSize != null ? Number(yAxisMinorTickSize) : void 0;
1729
1823
  const y2AxisMinorTickSizeNum = y2AxisMinorTickSize != null ? Number(y2AxisMinorTickSize) : void 0;
1824
+ const areaOpacityForCanvas = getAreaOpacityForCanvas(areaOpacity);
1730
1825
  const seriesColors = seriesColorsStr ? JSON.parse(seriesColorsStr) : void 0;
1731
1826
  const seriesColorsByField = fieldColors ? JSON.parse(fieldColors) : void 0;
1732
1827
  const lineDashStylesByField = lineDashStylesByFieldStr ? JSON.parse(lineDashStylesByFieldStr) : void 0;
@@ -1757,26 +1852,40 @@ var TimeSeriesChartWrapper = (props) => {
1757
1852
  );
1758
1853
  let xAxisTitle = getComputedAxisTitles(xAxisTitleText, [xField], xAxisTitleVisibility);
1759
1854
  xAxisTitle = ellipsisAxisTitle(xAxisTitle, containerWidth);
1760
- const yFieldsForTitle = y2Enabled ? yFields.filter((field) => !y2Fields.includes(field)) : yFields;
1761
- let yAxisTitle = getComputedAxisTitles(yAxisTitleText, yFieldsForTitle, yAxisTitleVisibility);
1762
- yAxisTitle = ellipsisAxisTitle(yAxisTitle, containerHeight);
1763
- const fieldsForY2Axis = y2Fields.length > 0 ? y2Fields : overlayFields;
1764
- let y2AxisTitle = getComputedAxisTitles(y2AxisTitleText, fieldsForY2Axis, y2AxisTitleVisibility);
1765
- y2AxisTitle = ellipsisAxisTitle(y2AxisTitle, containerHeight);
1855
+ const { yAxisTitle, y2AxisTitle } = getYAxisTitles({
1856
+ y2Enabled,
1857
+ yFields,
1858
+ y2Fields,
1859
+ overlayFields,
1860
+ yAxisTitleText,
1861
+ yAxisTitleVisibility,
1862
+ y2AxisTitleText,
1863
+ y2AxisTitleVisibility,
1864
+ containerHeight
1865
+ });
1766
1866
  const xScaleConfig = (0, react_exports.useMemo)(
1767
1867
  () => getXScaleConfig(xAxisTitle, xAxisLabelVisibility, xAxisLabelRotation),
1768
1868
  [xAxisTitle, xAxisLabelVisibility, xAxisLabelRotation]
1769
1869
  );
1870
+ const isStacked100 = stackMode === "stacked100";
1770
1871
  const yScaleConfig = (0, react_exports.useMemo)(
1771
- () => getYScaleConfig(
1772
- yAxisTitle,
1773
- yAxisAbbreviation,
1774
- yAxisScale,
1775
- yAxisLabelVisibility,
1776
- yAxisMin,
1777
- yAxisMax
1778
- ),
1779
- [yAxisTitle, yAxisAbbreviation, yAxisScale, yAxisLabelVisibility, yAxisMin, yAxisMax]
1872
+ () => {
1873
+ const config2 = getYScaleConfig(
1874
+ yAxisTitle,
1875
+ yAxisAbbreviation,
1876
+ yAxisScale,
1877
+ yAxisLabelVisibility,
1878
+ yAxisMin,
1879
+ yAxisMax
1880
+ );
1881
+ if (isStacked100) {
1882
+ config2.y.tickFmt = (v) => `${Math.round(v * 100)}%`;
1883
+ config2.y.range = () => [0, 1];
1884
+ }
1885
+ return config2;
1886
+ },
1887
+ // eslint-disable-next-line react-hooks/exhaustive-deps
1888
+ [yAxisTitle, yAxisAbbreviation, yAxisScale, yAxisLabelVisibility, yAxisMin, yAxisMax, isStacked100]
1780
1889
  );
1781
1890
  const y2ScaleConfig = (0, react_exports.useMemo)(() => {
1782
1891
  if (y2Enabled) {
@@ -1808,10 +1917,11 @@ var TimeSeriesChartWrapper = (props) => {
1808
1917
  ];
1809
1918
  chartData.fields = filteredChartData.fields;
1810
1919
  chartData.columns = seriesDataFormatted;
1920
+ const normalizedStackMode = stackMode === "stacked" || stackMode === "stacked100" ? stackMode : "auto";
1811
1921
  const seriesOverrides = (0, react_exports.useMemo)(
1812
- () => getSeriesOverrides(
1813
- yFields,
1814
- y2Fields,
1922
+ () => getSeriesOverrides({
1923
+ yfields: yFields,
1924
+ y2fields: y2Fields,
1815
1925
  lineWidth,
1816
1926
  overlayFields,
1817
1927
  y2Enabled,
@@ -1820,8 +1930,11 @@ var TimeSeriesChartWrapper = (props) => {
1820
1930
  lineDashStyle,
1821
1931
  lineDashStylesByField,
1822
1932
  stepPosition,
1823
- stepPositionsByField
1824
- ),
1933
+ stepPositionsByField,
1934
+ type: chartType,
1935
+ stackMode: normalizedStackMode,
1936
+ showLines
1937
+ }),
1825
1938
  [
1826
1939
  yFields,
1827
1940
  y2Fields,
@@ -1833,7 +1946,10 @@ var TimeSeriesChartWrapper = (props) => {
1833
1946
  lineDashStyle,
1834
1947
  lineDashStylesByField,
1835
1948
  stepPosition,
1836
- stepPositionsByField
1949
+ stepPositionsByField,
1950
+ chartType,
1951
+ normalizedStackMode,
1952
+ showLines
1837
1953
  ]
1838
1954
  );
1839
1955
  const chartingEventAnnotations = (0, react_exports.useMemo)(
@@ -1901,50 +2017,54 @@ var TimeSeriesChartWrapper = (props) => {
1901
2017
  react_exports.useEffect(() => {
1902
2018
  additionalTooltipValuesRef.current = additionalTooltipValues;
1903
2019
  }, [additionalTooltipValues]);
2020
+ const handleCrosshairMouseout = react_exports.useCallback(() => {
2021
+ if (onPointMouseOut && lastPayloadRef.current) {
2022
+ onPointMouseOut({
2023
+ type: "point.mouseout",
2024
+ originalEvent: lastOriginalEventRef.current,
2025
+ payload: lastPayloadRef.current
2026
+ });
2027
+ }
2028
+ previousMouseoverPayloadRef.current = null;
2029
+ }, [onPointMouseOut]);
1904
2030
  const handleChartCrosshairChange = react_exports.useCallback(
1905
2031
  (event) => {
1906
- if (onPointMouseOver || onPointMouseOut) {
1907
- if (!event) {
1908
- if (onPointMouseOut && lastPayloadRef.current) {
1909
- onPointMouseOut({
1910
- type: "point.mouseout",
1911
- originalEvent: lastOriginalEventRef.current,
1912
- payload: lastPayloadRef.current
1913
- });
1914
- }
1915
- previousMouseoverPayloadRef.current = null;
1916
- return;
1917
- }
1918
- const payload = __spreadProps(__spreadValues({}, (0, lodash_exports.pick)(event, "value", "seriesKey", "time", "index", "seriesIndex")), {
1919
- name: event.seriesKey
2032
+ if (!onPointMouseOver && !onPointMouseOut) {
2033
+ return;
2034
+ }
2035
+ if (!event) {
2036
+ handleCrosshairMouseout();
2037
+ return;
2038
+ }
2039
+ const payload = __spreadProps(__spreadValues({}, (0, lodash_exports.pick)(event, "value", "seriesKey", "time", "index", "seriesIndex")), {
2040
+ name: event.seriesKey
2041
+ });
2042
+ delete payload.seriesKey;
2043
+ if (event.rowContext) {
2044
+ Object.assign(
2045
+ payload,
2046
+ Object.keys(event.rowContext).reduce((acc, fieldName) => {
2047
+ acc[`row.${fieldName}.value`] = event.rowContext[fieldName];
2048
+ return acc;
2049
+ }, {})
2050
+ );
2051
+ }
2052
+ const updatedPayload = appendTrellisToPayload(payload, trellisKey, trellisSplitBy);
2053
+ if (!hasMouseoverPayloadChanged(updatedPayload, previousMouseoverPayloadRef.current)) {
2054
+ return;
2055
+ }
2056
+ lastPayloadRef.current = updatedPayload;
2057
+ lastOriginalEventRef.current = event;
2058
+ previousMouseoverPayloadRef.current = __spreadValues({}, updatedPayload);
2059
+ if (onPointMouseOver) {
2060
+ onPointMouseOver({
2061
+ type: "point.mouseover",
2062
+ originalEvent: event,
2063
+ payload: updatedPayload
1920
2064
  });
1921
- delete payload.seriesKey;
1922
- if (event.rowContext) {
1923
- Object.assign(
1924
- payload,
1925
- Object.keys(event.rowContext).reduce((acc, fieldName) => {
1926
- acc[`row.${fieldName}.value`] = event.rowContext[fieldName];
1927
- return acc;
1928
- }, {})
1929
- );
1930
- }
1931
- const updatedPayload = appendTrellisToPayload(payload, trellisKey, trellisSplitBy);
1932
- if (!hasMouseoverPayloadChanged(updatedPayload, previousMouseoverPayloadRef.current)) {
1933
- return;
1934
- }
1935
- lastPayloadRef.current = updatedPayload;
1936
- lastOriginalEventRef.current = event;
1937
- previousMouseoverPayloadRef.current = __spreadValues({}, updatedPayload);
1938
- if (onPointMouseOver) {
1939
- onPointMouseOver({
1940
- type: "point.mouseover",
1941
- originalEvent: event,
1942
- payload: updatedPayload
1943
- });
1944
- }
1945
2065
  }
1946
2066
  },
1947
- [onPointMouseOver, onPointMouseOut, trellisKey, trellisSplitBy]
2067
+ [onPointMouseOver, onPointMouseOut, trellisKey, trellisSplitBy, handleCrosshairMouseout]
1948
2068
  );
1949
2069
  const dataKey = `${(_b = chartData.columns[0]) == null ? void 0 : _b[0]}-${(_c = chartData.columns[0]) == null ? void 0 : _c[chartData.columns[0].length - 1]}-${(_d = chartData.columns[0]) == null ? void 0 : _d.length}`;
1950
2070
  const memoizedChart = (0, react_exports.useMemo)(() => {
@@ -1999,7 +2119,8 @@ var TimeSeriesChartWrapper = (props) => {
1999
2119
  showXAxisLine,
2000
2120
  showYAxisLine,
2001
2121
  showY2AxisLine,
2002
- xAxisMaxLabelParts
2122
+ xAxisMaxLabelParts,
2123
+ areaOpacity: areaOpacityForCanvas
2003
2124
  }
2004
2125
  ));
2005
2126
  }, [
@@ -2051,7 +2172,8 @@ var TimeSeriesChartWrapper = (props) => {
2051
2172
  showYAxisLine,
2052
2173
  showY2AxisLine,
2053
2174
  legendMode,
2054
- xAxisMaxLabelParts
2175
+ xAxisMaxLabelParts,
2176
+ areaOpacityForCanvas
2055
2177
  ]);
2056
2178
  const memoizedVisualization = (0, react_exports.useMemo)(() => {
2057
2179
  return /* @__PURE__ */ react_exports.createElement(VizStyleWrapper_default, { backgroundColor: bgColor }, memoizedChart);
@@ -2079,6 +2201,37 @@ var TimeSeriesChartWrapper_default = TimeSeriesChartWrapper;
2079
2201
 
2080
2202
  // src/common/withDashboardViz.tsx
2081
2203
  var SanitizedTimeSeriesChartWrapper = (0, SanitizeProps_exports.withSanitizedProps)(TimeSeriesChartWrapper_default);
2204
+ var buildEventCallbackProps = (supportedEvents, evaluatedOptionsToUse, onEventTrigger) => {
2205
+ const result = {};
2206
+ Object.keys(supportedEvents).forEach((eventName) => {
2207
+ const { parentKeys, payloadKeys } = supportedEvents[eventName];
2208
+ const eventCallbackPropName = (0, lodash_exports.camelCase)(`on.${eventName}`);
2209
+ let payload = {};
2210
+ if (Array.isArray(payloadKeys) && payloadKeys.length) {
2211
+ payloadKeys.forEach((p) => {
2212
+ payload[p] = evaluatedOptionsToUse[p];
2213
+ });
2214
+ }
2215
+ result[eventCallbackPropName] = (ev) => {
2216
+ if (ev == null ? void 0 : ev.payload) {
2217
+ payload = __spreadValues({}, ev.payload);
2218
+ }
2219
+ return onEventTrigger({
2220
+ originalEvent: ev,
2221
+ payload,
2222
+ type: eventName
2223
+ });
2224
+ };
2225
+ if (parentKeys) {
2226
+ for (let i = parentKeys.length - 1; i >= 0; i -= 1) {
2227
+ const newObject = {};
2228
+ newObject[parentKeys[i]] = result[eventCallbackPropName];
2229
+ result[eventCallbackPropName] = newObject;
2230
+ }
2231
+ }
2232
+ });
2233
+ return result;
2234
+ };
2082
2235
  var withDashboardViz = (opts) => {
2083
2236
  const {
2084
2237
  ReactViz,
@@ -2136,9 +2289,7 @@ var withDashboardViz = (opts) => {
2136
2289
  const isDownsamplingEnabledByFeatureFlag = Boolean(
2137
2290
  featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableDownsampling
2138
2291
  );
2139
- const isTrellisFeatureFlagOn = Boolean(
2140
- featureFlagContext && featureFlagContext.visualizations_enableTrellis
2141
- );
2292
+ const isTrellisFeatureFlagOn = Boolean(featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableTrellis);
2142
2293
  const isTrellisOn = isTrellisFeatureFlagOn && ((_a = vizConfig == null ? void 0 : vizConfig.supports) == null ? void 0 : _a.includes("trellis" /* TRELLIS */)) && (options == null ? void 0 : options.splitByLayout) === "trellis" /* TRELLIS */;
2143
2294
  const isAcceleratedRenderFeatureFlagOn = Boolean(
2144
2295
  featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableAcceleratedRender
@@ -2303,38 +2454,12 @@ var withDashboardViz = (opts) => {
2303
2454
  }
2304
2455
  );
2305
2456
  }
2306
- const eventCallbackProps = {};
2307
- if (hasEventHandlers && mode === "view" && vizConfig.supports.indexOf("events" /* EVENTS */) > -1) {
2308
- const supportedEvents = vizConfig.events;
2309
- Object.keys(supportedEvents).forEach((eventName) => {
2310
- const { parentKeys, payloadKeys } = supportedEvents[eventName];
2311
- const eventCallbackPropName = (0, lodash_exports.camelCase)(`on.${eventName}`);
2312
- let payload = {};
2313
- if (Array.isArray(payloadKeys) && payloadKeys.length) {
2314
- payloadKeys.forEach((p) => {
2315
- payload[p] = evaluatedOptionsToUse[p];
2316
- });
2317
- }
2318
- eventCallbackProps[eventCallbackPropName] = (ev) => {
2319
- if (ev == null ? void 0 : ev.payload) {
2320
- payload = __spreadValues({}, ev.payload);
2321
- }
2322
- return onEventTrigger({
2323
- originalEvent: ev,
2324
- payload,
2325
- type: eventName
2326
- });
2327
- };
2328
- if (parentKeys) {
2329
- for (let i = parentKeys.length - 1; i >= 0; i -= 1) {
2330
- const newObject = {};
2331
- newObject[parentKeys[i]] = eventCallbackProps[eventCallbackPropName];
2332
- eventCallbackProps[eventCallbackPropName] = newObject;
2333
- }
2334
- }
2335
- });
2336
- }
2337
- const computedVizProps = computeVizProps2(__spreadProps(__spreadValues(__spreadValues(__spreadValues({}, props), evaluatedOptionsToUse), eventCallbackProps), {
2457
+ const eventCallbackProps = hasEventHandlers && mode === "view" && vizConfig.supports.includes("events" /* EVENTS */) ? buildEventCallbackProps(vizConfig.events, evaluatedOptionsToUse, onEventTrigger) : {};
2458
+ const computedVizProps = computeVizProps2(__spreadProps(__spreadValues(__spreadProps(__spreadValues(__spreadValues({}, props), evaluatedOptionsToUse), {
2459
+ // Align option transformation with the actual renderer selected below.
2460
+ // This prevents canvas-only option preservation from leaking into Highcharts mode.
2461
+ isAcceleratedRenderOn
2462
+ }), eventCallbackProps), {
2338
2463
  themeFunc
2339
2464
  }));
2340
2465
  if (useAsyncEvaluatedOptions && Object.keys(evaluatedOptionsToUse).length === 0) {
@@ -2368,36 +2493,36 @@ var visualization_color_palettes_exports = {};
2368
2493
  __export(visualization_color_palettes_exports, {
2369
2494
  default: () => visualization_color_palettes_default
2370
2495
  });
2371
- var defaultImport28 = __toESM(require("@splunk/visualization-color-palettes"));
2496
+ var defaultImport30 = __toESM(require("@splunk/visualization-color-palettes"));
2372
2497
  __reExport(visualization_color_palettes_exports, require("@splunk/visualization-color-palettes"));
2373
- var visualization_color_palettes_default = "default" in defaultImport28 ? defaultImport28.default : defaultImport28;
2498
+ var visualization_color_palettes_default = "default" in defaultImport30 ? defaultImport30.default : defaultImport30;
2374
2499
 
2375
2500
  // esm-externals:d3-interpolate
2376
2501
  var d3_interpolate_exports = {};
2377
2502
  __export(d3_interpolate_exports, {
2378
2503
  default: () => d3_interpolate_default
2379
2504
  });
2380
- var defaultImport29 = __toESM(require("d3-interpolate"));
2505
+ var defaultImport31 = __toESM(require("d3-interpolate"));
2381
2506
  __reExport(d3_interpolate_exports, require("d3-interpolate"));
2382
- var d3_interpolate_default = "default" in defaultImport29 ? defaultImport29.default : defaultImport29;
2507
+ var d3_interpolate_default = "default" in defaultImport31 ? defaultImport31.default : defaultImport31;
2383
2508
 
2384
2509
  // esm-externals:d3-array
2385
2510
  var d3_array_exports = {};
2386
2511
  __export(d3_array_exports, {
2387
2512
  default: () => d3_array_default
2388
2513
  });
2389
- var defaultImport30 = __toESM(require("d3-array"));
2514
+ var defaultImport32 = __toESM(require("d3-array"));
2390
2515
  __reExport(d3_array_exports, require("d3-array"));
2391
- var d3_array_default = "default" in defaultImport30 ? defaultImport30.default : defaultImport30;
2516
+ var d3_array_default = "default" in defaultImport32 ? defaultImport32.default : defaultImport32;
2392
2517
 
2393
2518
  // esm-externals:d3-collection
2394
2519
  var d3_collection_exports = {};
2395
2520
  __export(d3_collection_exports, {
2396
2521
  default: () => d3_collection_default
2397
2522
  });
2398
- var defaultImport31 = __toESM(require("d3-collection"));
2523
+ var defaultImport33 = __toESM(require("d3-collection"));
2399
2524
  __reExport(d3_collection_exports, require("d3-collection"));
2400
- var d3_collection_default = "default" in defaultImport31 ? defaultImport31.default : defaultImport31;
2525
+ var d3_collection_default = "default" in defaultImport33 ? defaultImport33.default : defaultImport33;
2401
2526
 
2402
2527
  // src/Sankey/PureSankey/lib/sankey.js
2403
2528
  var d3_sankey = function() {
@@ -2783,18 +2908,18 @@ var d3_scale_exports = {};
2783
2908
  __export(d3_scale_exports, {
2784
2909
  default: () => d3_scale_default
2785
2910
  });
2786
- var defaultImport32 = __toESM(require("d3-scale"));
2911
+ var defaultImport34 = __toESM(require("d3-scale"));
2787
2912
  __reExport(d3_scale_exports, require("d3-scale"));
2788
- var d3_scale_default = "default" in defaultImport32 ? defaultImport32.default : defaultImport32;
2913
+ var d3_scale_default = "default" in defaultImport34 ? defaultImport34.default : defaultImport34;
2789
2914
 
2790
2915
  // esm-externals:@splunk/visualization-encoding/utils/types
2791
2916
  var types_exports = {};
2792
2917
  __export(types_exports, {
2793
2918
  default: () => types_default
2794
2919
  });
2795
- var defaultImport33 = __toESM(require("@splunk/visualization-encoding/utils/types"));
2920
+ var defaultImport35 = __toESM(require("@splunk/visualization-encoding/utils/types"));
2796
2921
  __reExport(types_exports, require("@splunk/visualization-encoding/utils/types"));
2797
- var types_default = "default" in defaultImport33 ? defaultImport33.default : defaultImport33;
2922
+ var types_default = "default" in defaultImport35 ? defaultImport35.default : defaultImport35;
2798
2923
 
2799
2924
  // src/Sankey/PureSankey/SankeyUtils.ts
2800
2925
  var insertNodeIfNotExist = (sankeyData, nodeName) => {
@@ -2820,7 +2945,8 @@ var insertLink = (sankeyData, sourceFieldIdx, targetFieldIdx, linkValue, index)
2820
2945
  });
2821
2946
  };
2822
2947
  var getNodesIndex = (sankeyData, nodeName) => {
2823
- if (!sankeyData || !sankeyData.nodes || !sankeyData.nodes.length) {
2948
+ var _a;
2949
+ if (!((_a = sankeyData == null ? void 0 : sankeyData.nodes) == null ? void 0 : _a.length)) {
2824
2950
  return -1;
2825
2951
  }
2826
2952
  return sankeyData.nodes.findIndex((node) => node.name.toLocaleLowerCase() === nodeName.toLocaleLowerCase());
@@ -2890,7 +3016,8 @@ var getLinkId = (link) => {
2890
3016
  return `link-${link.id}`;
2891
3017
  };
2892
3018
  var getAllNodeNames = (sankeyData) => {
2893
- if (!sankeyData || !sankeyData.nodes || !sankeyData.nodes.length) {
3019
+ var _a;
3020
+ if (!((_a = sankeyData == null ? void 0 : sankeyData.nodes) == null ? void 0 : _a.length)) {
2894
3021
  return [];
2895
3022
  }
2896
3023
  return sankeyData.nodes.map((node) => node.name);
@@ -2931,7 +3058,7 @@ var extractLinkMidPoint = (pathStr) => {
2931
3058
  };
2932
3059
  var getAllConnectedLinks = (links, nodeIdx) => {
2933
3060
  const result = { links: [], sourceNodes: [], targetNodes: [] };
2934
- if (!links || !links.length) {
3061
+ if (!(links == null ? void 0 : links.length)) {
2935
3062
  return result;
2936
3063
  }
2937
3064
  links.forEach((link) => {
@@ -2966,33 +3093,92 @@ var computeAllConnectedLinksToNodes = (nodes, links) => {
2966
3093
  var checkDigitsOnly = (input) => {
2967
3094
  return /^\d+$/.test(input);
2968
3095
  };
2969
- var truncateSVGTextWithEllipsis = (textElement, textString, width) => {
2970
- if (textElement && textElement.getSubStringLength !== void 0) {
2971
- textElement.textContent = textString;
2972
- if (textElement.getSubStringLength(0, textString.length) >= width) {
2973
- for (let x = textString.length - 3; x > 0; x -= 3) {
2974
- if (textElement.getSubStringLength(0, x) <= width) {
2975
- textElement.textContent = `${textString.substring(0, x)}...`;
2976
- return;
2977
- }
2978
- }
2979
- textElement.textContent = "...";
2980
- }
2981
- }
2982
- };
2983
3096
  var getMaxNode = (nodes) => {
2984
3097
  if (!nodes || nodes.length === 0) return void 0;
2985
3098
  return nodes.reduce(
2986
3099
  (maxNode, currentNode) => currentNode.value > maxNode.value ? currentNode : maxNode
2987
3100
  );
2988
3101
  };
3102
+ var LABEL_PADDING = 8;
3103
+ var getColumnPositions = (nodes) => {
3104
+ const xSet = /* @__PURE__ */ new Set();
3105
+ nodes.forEach((node) => {
3106
+ xSet.add(Math.round(node.x));
3107
+ });
3108
+ return Array.from(xSet).sort((a, b) => a - b);
3109
+ };
3110
+ var getMaxTextLength = (nodes) => Math.max(...nodes.map((n) => {
3111
+ var _a;
3112
+ return ((_a = n.name) == null ? void 0 : _a.length) || 0;
3113
+ }));
3114
+ var computeColumnGap = (colX, colIdx, columnPositions, nodeWidth, chartWidth) => {
3115
+ const isLeftSide = colX < chartWidth / 2;
3116
+ if (isLeftSide && colIdx < columnPositions.length - 1) {
3117
+ const gapWidth = columnPositions[colIdx + 1] - (colX + nodeWidth);
3118
+ const sharedGap = columnPositions[colIdx + 1] >= chartWidth / 2;
3119
+ return { gapWidth, sharedGap };
3120
+ }
3121
+ if (isLeftSide) {
3122
+ return { gapWidth: chartWidth - colX - nodeWidth, sharedGap: false };
3123
+ }
3124
+ if (colIdx > 0) {
3125
+ const gapWidth = colX - (columnPositions[colIdx - 1] + nodeWidth);
3126
+ const sharedGap = columnPositions[colIdx - 1] < chartWidth / 2;
3127
+ return { gapWidth, sharedGap };
3128
+ }
3129
+ return { gapWidth: colX, sharedGap: false };
3130
+ };
3131
+ var computeShareRatio = (currentTextLen, adjacentTextLen) => {
3132
+ const totalTextLen = currentTextLen + adjacentTextLen;
3133
+ if (totalTextLen === 0) return 0.5;
3134
+ const ratio = currentTextLen / totalTextLen;
3135
+ if (ratio > 0.5 && 1 - ratio > 0.5) return 0.5;
3136
+ return Math.max(0.3, Math.min(0.7, ratio));
3137
+ };
3138
+ var computeNodeLabelWidths = (nodes, nodeWidth, chartWidth) => {
3139
+ const widthMap = /* @__PURE__ */ new Map();
3140
+ if (!(nodes == null ? void 0 : nodes.length)) return widthMap;
3141
+ const columnPositions = getColumnPositions(nodes);
3142
+ if (columnPositions.length === 0) return widthMap;
3143
+ const columnNodes = /* @__PURE__ */ new Map();
3144
+ nodes.forEach((node) => {
3145
+ const colX = Math.round(node.x);
3146
+ if (!columnNodes.has(colX)) columnNodes.set(colX, []);
3147
+ columnNodes.get(colX).push(node);
3148
+ });
3149
+ columnPositions.forEach((colX, colIdx) => {
3150
+ const isLeftSide = colX < chartWidth / 2;
3151
+ const { gapWidth, sharedGap } = computeColumnGap(
3152
+ colX,
3153
+ colIdx,
3154
+ columnPositions,
3155
+ nodeWidth,
3156
+ chartWidth
3157
+ );
3158
+ let shareRatio = 1;
3159
+ if (sharedGap) {
3160
+ const currentTextLen = getMaxTextLength(columnNodes.get(colX) || []);
3161
+ const adjacentColX = isLeftSide ? columnPositions[colIdx + 1] : columnPositions[colIdx - 1];
3162
+ const adjacentTextLen = getMaxTextLength(columnNodes.get(adjacentColX) || []);
3163
+ shareRatio = computeShareRatio(currentTextLen, adjacentTextLen);
3164
+ }
3165
+ const usableWidth = gapWidth - 2 * LABEL_PADDING;
3166
+ const allocatedWidth = Math.max(0, sharedGap ? usableWidth * shareRatio : usableWidth);
3167
+ const colNodes = columnNodes.get(colX) || [];
3168
+ colNodes.forEach((node) => {
3169
+ widthMap.set(node.index, allocatedWidth);
3170
+ });
3171
+ });
3172
+ return widthMap;
3173
+ };
2989
3174
 
2990
3175
  // src/Sankey/PureSankey/SankeyNode.tsx
2991
- var MAX_NODE_TEXT_WIDTH = 150;
2992
3176
  var NODE_VALUE_PRECISION = 2;
2993
3177
  var MIN_NODE_HEIGHT_FOR_LABEL_DISPLAY = 24;
3178
+ var LABEL_LINE_HEIGHT = 16;
3179
+ var MAX_LABEL_LINES = 3;
2994
3180
  var getNodeOpacity = (nodeIndex, activeNodes) => {
2995
- if (!activeNodes || !activeNodes.length) {
3181
+ if (!(activeNodes == null ? void 0 : activeNodes.length)) {
2996
3182
  return DEFAULT_NODE_OPACITY;
2997
3183
  }
2998
3184
  const isActiveNode = activeNodes.find((node) => node.index === nodeIndex);
@@ -3011,46 +3197,17 @@ NodeGroup.displayName = "NodeGroup";
3011
3197
  var NodeRect = styled_components_default.rect`
3012
3198
  fill: ${(props) => typeof props.colorCategoryMapping === "function" ? props.colorCategoryMapping(props.node.name) : DEFAULT_NODE_COLOR};
3013
3199
  `;
3014
- var NodeText = styled_components_default.text`
3015
- text-anchor: ${(props) => props.node.x < props.chartWidth / 2 ? "start" : "end"};
3016
- font-size: 12px;
3017
- font-family: ${DEFAULT_FONT_FAMILY};
3018
- letter-spacing: 0.02em;
3019
- fill: ${(props) => props.isNodeValue && props.nodeValueColor ? props.nodeValueColor : props.nodeTextColor};
3020
- opacity: ${(props) => props.isNodeValue ? "82%" : "100%"};
3021
- `;
3022
3200
  var SankeyNode = ({
3023
3201
  node,
3024
- maxNode,
3025
3202
  activeNodes,
3026
3203
  nodeWidth,
3027
- chartWidth,
3028
3204
  handleMouseOver = () => {
3029
3205
  },
3030
3206
  handleMouseLeave = () => {
3031
3207
  },
3032
3208
  handleNodeClick,
3033
- colorCategoryMapping,
3034
- nodeTextColor,
3035
- nodeValueColor,
3036
- labelDisplay: labelDisplayInput,
3037
- unit
3209
+ colorCategoryMapping
3038
3210
  }) => {
3039
- const labelDisplay = labelDisplayInput != null ? labelDisplayInput : "off";
3040
- const nodeTextRef = (0, react_exports.useRef)();
3041
- const nodeValuePercentRef = (0, react_exports.useRef)();
3042
- let nodeValueFormatted = "";
3043
- let nodePercentFormatted = "";
3044
- if (labelDisplay !== "off" && maxNode) {
3045
- nodeValueFormatted = (0, numberUtils_exports.formatNumber)(node.value, NODE_VALUE_PRECISION, {
3046
- useTrendUnits: true
3047
- });
3048
- const nodePercent = node.value / maxNode.value * 100;
3049
- nodePercentFormatted = `${(0, numberUtils_exports.formatNumber)(nodePercent, NODE_VALUE_PRECISION)}%`;
3050
- }
3051
- (0, react_exports.useEffect)(() => {
3052
- truncateSVGTextWithEllipsis(nodeTextRef.current, node.name, MAX_NODE_TEXT_WIDTH);
3053
- });
3054
3211
  const nodeClickHandler = (0, react_exports.useCallback)(() => handleNodeClick(node), [node, handleNodeClick]);
3055
3212
  const nodeHeight = getNodeHeight(node);
3056
3213
  return /* @__PURE__ */ react_exports.createElement(
@@ -3064,7 +3221,7 @@ var SankeyNode = ({
3064
3221
  transform: `translate(${node.x},${node.y})`,
3065
3222
  onClick: nodeClickHandler
3066
3223
  },
3067
- /* @__PURE__ */ react_exports.createElement(react_exports.Fragment, null, /* @__PURE__ */ react_exports.createElement(
3224
+ /* @__PURE__ */ react_exports.createElement(
3068
3225
  NodeRect,
3069
3226
  {
3070
3227
  node,
@@ -3075,37 +3232,116 @@ var SankeyNode = ({
3075
3232
  onMouseOver: handleMouseOver,
3076
3233
  onMouseLeave: handleMouseLeave
3077
3234
  }
3078
- ), /* @__PURE__ */ react_exports.createElement(
3079
- NodeText,
3235
+ )
3236
+ );
3237
+ };
3238
+ var SankeyNodeLabel = ({
3239
+ node,
3240
+ activeNodes,
3241
+ nodeWidth,
3242
+ chartWidth,
3243
+ availableLabelWidth,
3244
+ nodeTextColor,
3245
+ nodeValueColor,
3246
+ maxNode,
3247
+ labelDisplay: labelDisplayInput,
3248
+ unit
3249
+ }) => {
3250
+ const labelDisplay = labelDisplayInput != null ? labelDisplayInput : "off";
3251
+ let nodeValueFormatted = "";
3252
+ let nodePercentFormatted = "";
3253
+ if (labelDisplay !== "off" && maxNode) {
3254
+ nodeValueFormatted = (0, numberUtils_exports.formatNumber)(node.value, NODE_VALUE_PRECISION, {
3255
+ useTrendUnits: true
3256
+ });
3257
+ const nodePercent = node.value / maxNode.value * 100;
3258
+ nodePercentFormatted = `${(0, numberUtils_exports.formatNumber)(nodePercent, NODE_VALUE_PRECISION)}%`;
3259
+ }
3260
+ const nodeHeight = getNodeHeight(node);
3261
+ const isLeftSide = node.x < chartWidth / 2;
3262
+ const labelWidth = availableLabelWidth != null ? availableLabelWidth : 150;
3263
+ const showValues = labelDisplay !== "off" && nodeHeight >= MIN_NODE_HEIGHT_FOR_LABEL_DISPLAY;
3264
+ const availableHeightForText = Math.max(0, nodeHeight - 2 * LABEL_PADDING);
3265
+ const totalLinesFromHeight = Math.max(1, Math.floor(availableHeightForText / LABEL_LINE_HEIGHT));
3266
+ const totalLinesAvailable = Math.min(MAX_LABEL_LINES + (showValues ? 1 : 0), totalLinesFromHeight);
3267
+ const valueLinesNeeded = showValues ? 1 : 0;
3268
+ const nameLinesAvailable = Math.min(MAX_LABEL_LINES, Math.max(1, totalLinesAvailable - valueLinesNeeded));
3269
+ const contentLines = nameLinesAvailable + (showValues ? 1 : 0);
3270
+ const minContentHeight = contentLines * LABEL_LINE_HEIGHT;
3271
+ const foHeight = Math.max(nodeHeight, minContentHeight);
3272
+ const foY = (nodeHeight - foHeight) / 2;
3273
+ const foX = isLeftSide ? nodeWidth + LABEL_PADDING : -(labelWidth + LABEL_PADDING);
3274
+ const foWidth = Math.max(0, labelWidth);
3275
+ let valueText = "";
3276
+ if (showValues) {
3277
+ if (labelDisplay === "values") valueText = `${unit}${nodeValueFormatted}`;
3278
+ else if (labelDisplay === "percentage") valueText = nodePercentFormatted;
3279
+ else if (labelDisplay === "valuesAndPercentage")
3280
+ valueText = `${nodePercentFormatted} ${unit}${nodeValueFormatted}`;
3281
+ }
3282
+ const textAlign = isLeftSide ? "left" : "right";
3283
+ const baseTextStyle = {
3284
+ fontSize: "12px",
3285
+ fontFamily: DEFAULT_FONT_FAMILY,
3286
+ letterSpacing: "0.02em",
3287
+ lineHeight: `${LABEL_LINE_HEIGHT}px`,
3288
+ margin: 0,
3289
+ padding: 0
3290
+ };
3291
+ if (foWidth <= 0) return null;
3292
+ return /* @__PURE__ */ react_exports.createElement(
3293
+ "foreignObject",
3294
+ {
3295
+ x: node.x + foX,
3296
+ y: node.y + foY,
3297
+ width: foWidth,
3298
+ height: foHeight,
3299
+ opacity: getNodeOpacity(node.index, activeNodes),
3300
+ style: { pointerEvents: "none", overflow: "visible" }
3301
+ },
3302
+ /* @__PURE__ */ react_exports.createElement(
3303
+ "div",
3080
3304
  {
3081
- ref: nodeTextRef,
3082
- node,
3083
3305
  "data-test": `node-text-${node.index}`,
3084
- chartWidth,
3085
- x: node.x < chartWidth / 2 ? 6 + nodeWidth : -6,
3086
- y: labelDisplay !== "off" && nodeHeight >= MIN_NODE_HEIGHT_FOR_LABEL_DISPLAY ? node.dy / 2 - 6.5 : node.dy / 2,
3087
- dy: ".35em",
3088
- nodeTextColor
3089
- },
3090
- node.name
3091
- ), labelDisplay !== "off" && nodeHeight >= MIN_NODE_HEIGHT_FOR_LABEL_DISPLAY && /* @__PURE__ */ react_exports.createElement(
3092
- NodeText,
3093
- {
3094
- ref: nodeValuePercentRef,
3095
- node,
3096
- "data-test": `node-label-${node.index}`,
3097
- chartWidth,
3098
- x: node.x < chartWidth / 2 ? 6 + nodeWidth : -6,
3099
- y: node.dy / 2 + 6.5,
3100
- dy: ".35em",
3101
- nodeTextColor,
3102
- isNodeValue: true,
3103
- nodeValueColor
3306
+ style: {
3307
+ display: "flex",
3308
+ flexDirection: "column",
3309
+ justifyContent: "center",
3310
+ height: "100%",
3311
+ overflow: "hidden",
3312
+ textAlign,
3313
+ pointerEvents: "none"
3314
+ }
3104
3315
  },
3105
- labelDisplay === "values" && `${unit}${nodeValueFormatted}`,
3106
- labelDisplay === "percentage" && nodePercentFormatted,
3107
- labelDisplay === "valuesAndPercentage" && `${nodePercentFormatted} ${unit}${nodeValueFormatted}`
3108
- ))
3316
+ /* @__PURE__ */ react_exports.createElement(
3317
+ "div",
3318
+ {
3319
+ style: __spreadProps(__spreadValues({}, baseTextStyle), {
3320
+ color: nodeTextColor,
3321
+ display: "-webkit-box",
3322
+ WebkitLineClamp: nameLinesAvailable,
3323
+ WebkitBoxOrient: "vertical",
3324
+ overflow: "hidden",
3325
+ wordBreak: "break-word"
3326
+ })
3327
+ },
3328
+ node.name
3329
+ ),
3330
+ showValues && /* @__PURE__ */ react_exports.createElement(
3331
+ "div",
3332
+ {
3333
+ "data-test": `node-label-${node.index}`,
3334
+ style: __spreadProps(__spreadValues({}, baseTextStyle), {
3335
+ color: nodeValueColor || nodeTextColor,
3336
+ opacity: 0.82,
3337
+ overflow: "hidden",
3338
+ textOverflow: "ellipsis",
3339
+ whiteSpace: "nowrap"
3340
+ })
3341
+ },
3342
+ valueText
3343
+ )
3344
+ )
3109
3345
  );
3110
3346
  };
3111
3347
  var SankeyNode_default = SankeyNode;
@@ -3115,10 +3351,10 @@ var getLinkFill = (link, colorCategoryMapping, colorMode) => {
3115
3351
  if (colorMode === "categorical") {
3116
3352
  return colorCategoryMapping ? colorCategoryMapping(link.source.name) : DEFAULT_LINK_COLOR;
3117
3353
  }
3118
- return colorCategoryMapping && colorCategoryMapping[link.index] ? colorCategoryMapping[link.index] : DEFAULT_LINK_COLOR;
3354
+ return (colorCategoryMapping == null ? void 0 : colorCategoryMapping[link.index]) || DEFAULT_LINK_COLOR;
3119
3355
  };
3120
3356
  var getLinkOpacity = (link, activeLinks, linkOpacity) => {
3121
- if (!activeLinks || !activeLinks.length) {
3357
+ if (!(activeLinks == null ? void 0 : activeLinks.length)) {
3122
3358
  return linkOpacity;
3123
3359
  }
3124
3360
  const isActiveLink = activeLinks.find((l) => l.id === link.id);
@@ -3156,19 +3392,20 @@ var SankeyLink = ({
3156
3392
  onClick: linkClickHandler,
3157
3393
  onMouseOver: handleMouseOver,
3158
3394
  onMouseLeave: (ev) => {
3159
- const relatedTarget = ev.relatedTarget;
3160
- let isRelatedTargetPopover = false;
3161
- if (relatedTarget && relatedTarget.classList) {
3162
- const { classList } = relatedTarget;
3163
- classList.forEach((name) => {
3164
- if (name.toLocaleLowerCase().indexOf("sankeytooltip") > -1 || name.toLocaleLowerCase().indexOf("popoverstyles") > -1) {
3165
- isRelatedTargetPopover = true;
3395
+ const relatedTarget = ev.nativeEvent.relatedTarget;
3396
+ if (relatedTarget) {
3397
+ let el = relatedTarget;
3398
+ while (el) {
3399
+ if (el.classList) {
3400
+ const classListStr = Array.from(el.classList).join(" ").toLowerCase();
3401
+ if (classListStr.includes("sankeytooltip") || classListStr.includes("popoverstyles")) {
3402
+ return;
3403
+ }
3166
3404
  }
3167
- });
3168
- }
3169
- if (!isRelatedTargetPopover) {
3170
- handleMouseLeave(ev);
3405
+ el = el.parentElement;
3406
+ }
3171
3407
  }
3408
+ handleMouseLeave(ev);
3172
3409
  }
3173
3410
  },
3174
3411
  /* @__PURE__ */ react_exports.createElement("path", { d: path(0)(link) }),
@@ -3184,9 +3421,9 @@ var Popover_exports = {};
3184
3421
  __export(Popover_exports, {
3185
3422
  default: () => Popover_default
3186
3423
  });
3187
- var defaultImport34 = __toESM(require("@splunk/react-ui/Popover"));
3424
+ var defaultImport36 = __toESM(require("@splunk/react-ui/Popover"));
3188
3425
  __reExport(Popover_exports, require("@splunk/react-ui/Popover"));
3189
- var Popover_default = "default" in defaultImport34 ? defaultImport34.default : defaultImport34;
3426
+ var Popover_default = "default" in defaultImport36 ? defaultImport36.default : defaultImport36;
3190
3427
 
3191
3428
  // src/Sankey/PureSankey/SankeyTooltip.tsx
3192
3429
  var DEFAULT_PLACEMENT = "below";
@@ -3303,7 +3540,7 @@ var SankeyTooltip = ({
3303
3540
  },
3304
3541
  /* @__PURE__ */ react_exports.createElement(StyledTooltipContainer, { className: "sankeyToolTip" }, /* @__PURE__ */ react_exports.createElement(StyledTooltipRow, { rowColor: tooltipRowColor, "data-test": "main-row" }, /* @__PURE__ */ react_exports.createElement(StyledTooltipLeftCell, { "data-test": "main-row-name" }, /* @__PURE__ */ react_exports.createElement(ColorTile, { node, colorCategoryMapping }), /* @__PURE__ */ react_exports.createElement(NodeValue, null, node == null ? void 0 : node.name)), /* @__PURE__ */ react_exports.createElement(StyledTooltipRightCell, { "data-test": "main-row-value" }, (0, numberUtils_exports.formatNumber)(node == null ? void 0 : node.value, 0, {
3305
3542
  useTrendUnits: true
3306
- }))), showSection(connections, node, "source") && /* @__PURE__ */ react_exports.createElement(StyledTooltipHeader, { headerColor: tooltipHeaderColor }, /* @__PURE__ */ react_exports.createElement(StyledTooltipLeftCell, null, "Source"), /* @__PURE__ */ react_exports.createElement(StyledTooltipRightCell, null, linkValue)), /* @__PURE__ */ react_exports.createElement(StyledTooltipSection, null, connections && connections.sourceNodes.map((sNode, idx) => {
3543
+ }))), showSection(connections, node, "source") && /* @__PURE__ */ react_exports.createElement(StyledTooltipHeader, { headerColor: tooltipHeaderColor }, /* @__PURE__ */ react_exports.createElement(StyledTooltipLeftCell, null, "Source"), /* @__PURE__ */ react_exports.createElement(StyledTooltipRightCell, null, linkValue)), /* @__PURE__ */ react_exports.createElement(StyledTooltipSection, null, connections == null ? void 0 : connections.sourceNodes.map((sNode, idx) => {
3307
3544
  var _a, _b;
3308
3545
  if ((sNode == null ? void 0 : sNode.index) !== (node == null ? void 0 : node.index) || ((_a = connections.sourceNodes[idx]) == null ? void 0 : _a.index) === ((_b = connections.targetNodes[idx]) == null ? void 0 : _b.index)) {
3309
3546
  return /* @__PURE__ */ react_exports.createElement(
@@ -3326,7 +3563,7 @@ var SankeyTooltip = ({
3326
3563
  );
3327
3564
  }
3328
3565
  return null;
3329
- })), showSection(connections, node, "target") && /* @__PURE__ */ react_exports.createElement(StyledTooltipHeader, { headerColor: tooltipHeaderColor }, /* @__PURE__ */ react_exports.createElement(StyledTooltipLeftCell, null, "Target"), /* @__PURE__ */ react_exports.createElement(StyledTooltipRightCell, null, linkValue)), /* @__PURE__ */ react_exports.createElement(StyledTooltipSection, null, connections && connections.targetNodes.map((tNode, idx) => {
3566
+ })), showSection(connections, node, "target") && /* @__PURE__ */ react_exports.createElement(StyledTooltipHeader, { headerColor: tooltipHeaderColor }, /* @__PURE__ */ react_exports.createElement(StyledTooltipLeftCell, null, "Target"), /* @__PURE__ */ react_exports.createElement(StyledTooltipRightCell, null, linkValue)), /* @__PURE__ */ react_exports.createElement(StyledTooltipSection, null, connections == null ? void 0 : connections.targetNodes.map((tNode, idx) => {
3330
3567
  var _a, _b;
3331
3568
  if ((tNode == null ? void 0 : tNode.index) !== (node == null ? void 0 : node.index) || ((_a = connections.sourceNodes[idx]) == null ? void 0 : _a.index) === ((_b = connections.targetNodes[idx]) == null ? void 0 : _b.index)) {
3332
3569
  return /* @__PURE__ */ react_exports.createElement(
@@ -3460,8 +3697,40 @@ var PureSankey = ({
3460
3697
  },
3461
3698
  [linkValueField, fields, onLinkClick, columns]
3462
3699
  );
3700
+ const resetStates = (0, react_exports.useCallback)(() => {
3701
+ setActiveLinks([]);
3702
+ setActiveNodes([]);
3703
+ setHoveredLinkElement(null);
3704
+ setHoveredNodeElement(null);
3705
+ setNodeHovered(null);
3706
+ setOpenLinkToolTip(false);
3707
+ setOpenNodeToolTip(false);
3708
+ }, []);
3709
+ const isInsideTooltip = (0, react_exports.useCallback)((element) => {
3710
+ let el = element;
3711
+ while (el) {
3712
+ if (el.classList) {
3713
+ const classListStr = Array.from(el.classList).join(" ").toLowerCase();
3714
+ if (classListStr.includes("sankeytooltip") || classListStr.includes("popoverstyles")) {
3715
+ return true;
3716
+ }
3717
+ }
3718
+ el = el.parentElement;
3719
+ }
3720
+ return false;
3721
+ }, []);
3722
+ const handleWrapperMouseLeave = (0, react_exports.useCallback)(
3723
+ (ev) => {
3724
+ const relatedTarget = ev.nativeEvent.relatedTarget;
3725
+ if (relatedTarget && isInsideTooltip(relatedTarget)) {
3726
+ return;
3727
+ }
3728
+ resetStates();
3729
+ },
3730
+ [resetStates, isInsideTooltip]
3731
+ );
3463
3732
  (0, react_exports.useEffect)(() => {
3464
- if (sankeyContainerElement && sankeyContainerElement.current) {
3733
+ if (sankeyContainerElement == null ? void 0 : sankeyContainerElement.current) {
3465
3734
  const w = sankeyContainerElement.current.getBoundingClientRect().width;
3466
3735
  const h = sankeyContainerElement.current.getBoundingClientRect().height;
3467
3736
  const sWidth = checkDigitsOnly(width) ? parseInt(width, 10) : w;
@@ -3501,17 +3770,8 @@ var PureSankey = ({
3501
3770
  seriesColors,
3502
3771
  linkColors
3503
3772
  });
3504
- const resetStates = () => {
3505
- setActiveLinks([]);
3506
- setActiveNodes([]);
3507
- setHoveredLinkElement(null);
3508
- setHoveredNodeElement(null);
3509
- setNodeHovered(null);
3510
- setOpenLinkToolTip(false);
3511
- setOpenNodeToolTip(false);
3512
- };
3513
3773
  const maxNode = getMaxNode(sankeyData.nodes);
3514
- const chartWidth = typeof width === "number" ? width : Number.parseInt(width, 10);
3774
+ const nodeLabelWidths = computeNodeLabelWidths(sankeyData.nodes, nodeWidth, sankeyWidth);
3515
3775
  const renderLinks = (links) => {
3516
3776
  return links.map((link) => /* @__PURE__ */ react_exports.createElement(
3517
3777
  SankeyLink_default,
@@ -3541,17 +3801,11 @@ var PureSankey = ({
3541
3801
  SankeyNode_default,
3542
3802
  {
3543
3803
  node,
3544
- maxNode,
3545
3804
  key: getNodeId(node),
3546
3805
  "data-test": getNodeId(node),
3547
3806
  activeNodes,
3548
3807
  nodeWidth,
3549
- chartWidth,
3550
3808
  colorCategoryMapping,
3551
- labelDisplay,
3552
- unit,
3553
- nodeTextColor,
3554
- nodeValueColor,
3555
3809
  handleMouseOver: (ev) => {
3556
3810
  const connections = nodeConnectionsMap[node.index];
3557
3811
  setActiveLinks(connections.links);
@@ -3561,11 +3815,29 @@ var PureSankey = ({
3561
3815
  setOpenLinkToolTip(false);
3562
3816
  setOpenNodeToolTip(true);
3563
3817
  },
3564
- handleMouseLeave: resetStates,
3818
+ handleMouseLeave: handleWrapperMouseLeave,
3565
3819
  handleNodeClick
3566
3820
  }
3567
3821
  ));
3568
3822
  };
3823
+ const renderNodeLabels = (nodes) => {
3824
+ return nodes.map((node) => /* @__PURE__ */ react_exports.createElement(
3825
+ SankeyNodeLabel,
3826
+ {
3827
+ node,
3828
+ key: `label-${getNodeId(node)}`,
3829
+ activeNodes,
3830
+ nodeWidth,
3831
+ chartWidth: sankeyWidth,
3832
+ availableLabelWidth: nodeLabelWidths.get(node.index),
3833
+ maxNode,
3834
+ labelDisplay,
3835
+ unit,
3836
+ nodeTextColor,
3837
+ nodeValueColor
3838
+ }
3839
+ ));
3840
+ };
3569
3841
  if (containerWidth < CHART_MIN_WIDTH || containerHeight < CHART_MIN_HEIGHT) {
3570
3842
  return /* @__PURE__ */ react_exports.createElement(SankeyContainer, { height, width, ref: sankeyContainerElement }, /* @__PURE__ */ react_exports.createElement(SizeAwareWrapper_default, { width, height, onResize: cachedHandleResize }), /* @__PURE__ */ react_exports.createElement(
3571
3843
  Message_default,
@@ -3582,7 +3854,7 @@ var PureSankey = ({
3582
3854
  {
3583
3855
  backgroundColor,
3584
3856
  dataTestKey: "SankeyWrapper",
3585
- onMouseLeave: resetStates
3857
+ onMouseLeave: handleWrapperMouseLeave
3586
3858
  },
3587
3859
  /* @__PURE__ */ react_exports.createElement("svg", { height: "100%", width: "100%", "data-test": "sankey-svg" }, /* @__PURE__ */ react_exports.createElement("g", { transform: `translate(${TRANSLATE_POS.x},${TRANSLATE_POS.y})` }, /* @__PURE__ */ react_exports.createElement("g", { className: "link-group", "data-test": "link-group" }, renderLinks(sankeyData.links), openLinkToolTip && /* @__PURE__ */ react_exports.createElement(
3588
3860
  SankeyTooltip_default,
@@ -3618,7 +3890,7 @@ var PureSankey = ({
3618
3890
  tooltipLinkHeaderColor,
3619
3891
  tooltipHeaderColor
3620
3892
  }
3621
- ))))
3893
+ )), /* @__PURE__ */ react_exports.createElement("g", { className: "label-group", "data-test": "label-group", pointerEvents: "none" }, renderNodeLabels(sankeyData.nodes))))
3622
3894
  ));
3623
3895
  };
3624
3896
  var PureSankey_default = PureSankey;
@@ -3628,45 +3900,45 @@ var visualization_icons_exports = {};
3628
3900
  __export(visualization_icons_exports, {
3629
3901
  default: () => visualization_icons_default
3630
3902
  });
3631
- var defaultImport35 = __toESM(require("@splunk/visualization-icons"));
3903
+ var defaultImport37 = __toESM(require("@splunk/visualization-icons"));
3632
3904
  __reExport(visualization_icons_exports, require("@splunk/visualization-icons"));
3633
- var visualization_icons_default = "default" in defaultImport35 ? defaultImport35.default : defaultImport35;
3905
+ var visualization_icons_default = "default" in defaultImport37 ? defaultImport37.default : defaultImport37;
3634
3906
 
3635
3907
  // esm-externals:@splunk/visualization-icons/placeholders
3636
3908
  var placeholders_exports = {};
3637
3909
  __export(placeholders_exports, {
3638
3910
  default: () => placeholders_default
3639
3911
  });
3640
- var defaultImport36 = __toESM(require("@splunk/visualization-icons/placeholders"));
3912
+ var defaultImport38 = __toESM(require("@splunk/visualization-icons/placeholders"));
3641
3913
  __reExport(placeholders_exports, require("@splunk/visualization-icons/placeholders"));
3642
- var placeholders_default = "default" in defaultImport36 ? defaultImport36.default : defaultImport36;
3914
+ var placeholders_default = "default" in defaultImport38 ? defaultImport38.default : defaultImport38;
3643
3915
 
3644
3916
  // esm-externals:@splunk/visualization-color-palettes/editors/PresetPalettes
3645
3917
  var PresetPalettes_exports = {};
3646
3918
  __export(PresetPalettes_exports, {
3647
3919
  default: () => PresetPalettes_default
3648
3920
  });
3649
- var defaultImport37 = __toESM(require("@splunk/visualization-color-palettes/editors/PresetPalettes"));
3921
+ var defaultImport39 = __toESM(require("@splunk/visualization-color-palettes/editors/PresetPalettes"));
3650
3922
  __reExport(PresetPalettes_exports, require("@splunk/visualization-color-palettes/editors/PresetPalettes"));
3651
- var PresetPalettes_default = "default" in defaultImport37 ? defaultImport37.default : defaultImport37;
3923
+ var PresetPalettes_default = "default" in defaultImport39 ? defaultImport39.default : defaultImport39;
3652
3924
 
3653
3925
  // esm-externals:@splunk/themes
3654
3926
  var themes_exports = {};
3655
3927
  __export(themes_exports, {
3656
3928
  default: () => themes_default
3657
3929
  });
3658
- var defaultImport38 = __toESM(require("@splunk/themes"));
3930
+ var defaultImport40 = __toESM(require("@splunk/themes"));
3659
3931
  __reExport(themes_exports, require("@splunk/themes"));
3660
- var themes_default = "default" in defaultImport38 ? defaultImport38.default : defaultImport38;
3932
+ var themes_default = "default" in defaultImport40 ? defaultImport40.default : defaultImport40;
3661
3933
 
3662
3934
  // esm-externals:@splunk/visualizations-shared/configUtils
3663
3935
  var configUtils_exports = {};
3664
3936
  __export(configUtils_exports, {
3665
3937
  default: () => configUtils_default
3666
3938
  });
3667
- var defaultImport39 = __toESM(require("@splunk/visualizations-shared/configUtils"));
3939
+ var defaultImport41 = __toESM(require("@splunk/visualizations-shared/configUtils"));
3668
3940
  __reExport(configUtils_exports, require("@splunk/visualizations-shared/configUtils"));
3669
- var configUtils_default = "default" in defaultImport39 ? defaultImport39.default : defaultImport39;
3941
+ var configUtils_default = "default" in defaultImport41 ? defaultImport41.default : defaultImport41;
3670
3942
 
3671
3943
  // src/common/utils/configUtils.ts
3672
3944
  function enhanceConfig(vizConfig) {
@@ -3736,9 +4008,9 @@ var pick_exports = {};
3736
4008
  __export(pick_exports, {
3737
4009
  default: () => pick_default
3738
4010
  });
3739
- var defaultImport40 = __toESM(require("@splunk/themes/pick"));
4011
+ var defaultImport42 = __toESM(require("@splunk/themes/pick"));
3740
4012
  __reExport(pick_exports, require("@splunk/themes/pick"));
3741
- var pick_default = "default" in defaultImport40 ? defaultImport40.default : defaultImport40;
4013
+ var pick_default = "default" in defaultImport42 ? defaultImport42.default : defaultImport42;
3742
4014
 
3743
4015
  // src/common/ThemedDefaults.tsx
3744
4016
  var defaultBackgroundColor = (props) => pick_default({