@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/Column.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/Column/index.ts
64
66
  var Column_exports = {};
@@ -558,8 +560,27 @@ var TrellisTitleDiv = styled_components_default.div`
558
560
  background-color: ${(props) => props.backgroundColor};
559
561
  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.
560
562
  `;
563
+ var formatTrellisKey = (value) => {
564
+ if (value === null || value === void 0) {
565
+ return "";
566
+ }
567
+ if (typeof value === "string") {
568
+ return value;
569
+ }
570
+ if (typeof value === "number" || typeof value === "boolean") {
571
+ return value.toString();
572
+ }
573
+ if (typeof value === "symbol") {
574
+ return value.toString();
575
+ }
576
+ try {
577
+ return JSON.stringify(value);
578
+ } catch (e) {
579
+ return typeof value === "bigint" ? value.toString() : "";
580
+ }
581
+ };
561
582
  var TrellisTitle = (props) => {
562
- const titleText = String(props.trellisKey).toString();
583
+ const titleText = formatTrellisKey(props.trellisKey);
563
584
  return /* @__PURE__ */ react_exports.createElement(
564
585
  TrellisTitleDiv,
565
586
  {
@@ -797,6 +818,35 @@ var Charting = (props) => {
797
818
  });
798
819
  }
799
820
  );
821
+ const initChart = (updatedOptions, serializedTimezone, ianaTimezone, utcOffset) => {
822
+ destroyChart();
823
+ charting_bundle_default.setTheme(themeKey);
824
+ if (colorPalette.length > 0) {
825
+ charting_bundle_default.setColorPalette(colorPalette);
826
+ }
827
+ chart.current = charting_bundle_default.createChart(container.current, __spreadValues(__spreadValues(__spreadValues(__spreadProps(__spreadValues({}, updatedOptions), {
828
+ drilldown: "all"
829
+ }), typeof serializedTimezone === "string" && {
830
+ "time.serializedTz": serializedTimezone
831
+ }), typeof ianaTimezone === "string" && {
832
+ "time.ianaTimezone": ianaTimezone
833
+ }), typeof utcOffset === "number" && {
834
+ "time.timezoneOffset": utcOffset
835
+ }));
836
+ chart.current.on("pointClick", (e) => {
837
+ handleClick2(e, "point.click" /* POINT_CLICK */);
838
+ });
839
+ chart.current.on("pointMouseOver", (e) => {
840
+ handlePointMouseOver(e, "point.mouseover" /* POINT_MOUSE_OVER */);
841
+ });
842
+ chart.current.on("pointMouseOut", (e) => {
843
+ handlePointMouseOut(e, "point.mouseout" /* POINT_MOUSE_OUT */);
844
+ });
845
+ chart.current.on("legendClick", (e) => {
846
+ handleClick2(e, "legend.click" /* LEGEND_CLICK */);
847
+ });
848
+ chart.current.on("chartRangeSelect", handleSelect);
849
+ };
800
850
  const drawChart = () => {
801
851
  const updatedOptions = __spreadProps(__spreadValues({}, options), { shouldColorizeTooltipData: false });
802
852
  const computedChartSize = computeChartingSize();
@@ -820,33 +870,7 @@ var Charting = (props) => {
820
870
  }
821
871
  try {
822
872
  if (needsInit.current) {
823
- destroyChart();
824
- charting_bundle_default.setTheme(themeKey);
825
- if (colorPalette.length > 0) {
826
- charting_bundle_default.setColorPalette(colorPalette);
827
- }
828
- chart.current = charting_bundle_default.createChart(container.current, __spreadValues(__spreadValues(__spreadValues(__spreadProps(__spreadValues({}, updatedOptions), {
829
- drilldown: "all"
830
- }), typeof serializedTimezone === "string" && {
831
- "time.serializedTz": serializedTimezone
832
- }), typeof ianaTimezone === "string" && {
833
- "time.ianaTimezone": ianaTimezone
834
- }), typeof utcOffset === "number" && {
835
- "time.timezoneOffset": utcOffset
836
- }));
837
- chart.current.on("pointClick", (e) => {
838
- handleClick2(e, "point.click" /* POINT_CLICK */);
839
- });
840
- chart.current.on("pointMouseOver", (e) => {
841
- handlePointMouseOver(e, "point.mouseover" /* POINT_MOUSE_OVER */);
842
- });
843
- chart.current.on("pointMouseOut", (e) => {
844
- handlePointMouseOut(e, "point.mouseout" /* POINT_MOUSE_OUT */);
845
- });
846
- chart.current.on("legendClick", (e) => {
847
- handleClick2(e, "legend.click" /* LEGEND_CLICK */);
848
- });
849
- chart.current.on("chartRangeSelect", handleSelect);
873
+ initChart(updatedOptions, serializedTimezone, ianaTimezone, utcOffset);
850
874
  }
851
875
  if (needsRedraw.current) {
852
876
  charting_bundle_default.setTheme(themeKey);
@@ -1234,26 +1258,59 @@ var isTrellisEnabled2 = ({ options, featureFlags }) => {
1234
1258
  const { splitByLayout = visualization_schemas_exports.LAYOUT_TYPE.Off } = options;
1235
1259
  return isTrellisFeatureFlagOn2({ featureFlags }) && splitByLayout === visualization_schemas_exports.LAYOUT_TYPE.Trellis;
1236
1260
  };
1237
- var TrellisEditorConfig = [
1238
- [
1239
- {
1240
- label: (0, i18n_exports._)("Trellis layout"),
1241
- option: "splitByLayout",
1242
- editor: "editor.toggle",
1243
- showEditor: isTrellisFeatureFlagOn2
1244
- }
1245
- ],
1246
- [
1247
- {
1248
- label: (0, i18n_exports._)("Split by"),
1249
- option: "trellisSplitBy",
1250
- editor: "editor.trellisSplitBy",
1251
- editorProps: {
1252
- dataSourceKey: "primary"
1253
- },
1254
- showEditor: isTrellisEnabled2
1255
- }
1256
- ],
1261
+ var sortByValuesBase = [
1262
+ { label: (0, i18n_exports._)("Result"), value: "result" },
1263
+ { label: (0, i18n_exports._)("Name"), value: "name" }
1264
+ ];
1265
+ var sortByValuesWithValue = [...sortByValuesBase, { label: (0, i18n_exports._)("Value"), value: "value" }];
1266
+ var sortByValuesWithValueAndTrend = [
1267
+ ...sortByValuesBase,
1268
+ { label: (0, i18n_exports._)("Value"), value: "value" },
1269
+ { label: (0, i18n_exports._)("Trend"), value: "trend" }
1270
+ ];
1271
+ var makeSortRow = (sortByValues) => [
1272
+ {
1273
+ label: (0, i18n_exports._)("Sort by"),
1274
+ option: "trellisSortBy",
1275
+ editor: "editor.select",
1276
+ editorProps: {
1277
+ values: sortByValues
1278
+ },
1279
+ showEditor: isTrellisEnabled2
1280
+ },
1281
+ {
1282
+ label: (0, i18n_exports._)("Sort order"),
1283
+ option: "trellisSortOrder",
1284
+ editor: "editor.select",
1285
+ editorProps: {
1286
+ values: [
1287
+ { label: (0, i18n_exports._)("Ascending"), value: "ascending" },
1288
+ { label: (0, i18n_exports._)("Descending"), value: "descending" }
1289
+ ]
1290
+ },
1291
+ showEditor: isTrellisEnabled2
1292
+ }
1293
+ ];
1294
+ var trellisLayoutRow = [
1295
+ {
1296
+ label: (0, i18n_exports._)("Trellis layout"),
1297
+ option: "splitByLayout",
1298
+ editor: "editor.toggle",
1299
+ showEditor: isTrellisFeatureFlagOn2
1300
+ }
1301
+ ];
1302
+ var trellisSplitByRow = [
1303
+ {
1304
+ label: (0, i18n_exports._)("Split by"),
1305
+ option: "trellisSplitBy",
1306
+ editor: "editor.trellisSplitBy",
1307
+ editorProps: {
1308
+ dataSourceKey: "primary"
1309
+ },
1310
+ showEditor: isTrellisEnabled2
1311
+ }
1312
+ ];
1313
+ var trellisLayoutRows = [
1257
1314
  [
1258
1315
  {
1259
1316
  label: (0, i18n_exports._)("Number of columns"),
@@ -1297,6 +1354,24 @@ var TrellisEditorConfig = [
1297
1354
  }
1298
1355
  ]
1299
1356
  ];
1357
+ var TrellisEditorConfig = [
1358
+ trellisLayoutRow,
1359
+ trellisSplitByRow,
1360
+ makeSortRow(sortByValuesBase),
1361
+ ...trellisLayoutRows
1362
+ ];
1363
+ var GaugeTrellisEditorConfig = [
1364
+ trellisLayoutRow,
1365
+ trellisSplitByRow,
1366
+ makeSortRow(sortByValuesWithValue),
1367
+ ...trellisLayoutRows
1368
+ ];
1369
+ var SingleValueTrellisEditorConfig = [
1370
+ trellisLayoutRow,
1371
+ trellisSplitByRow,
1372
+ makeSortRow(sortByValuesWithValueAndTrend),
1373
+ ...trellisLayoutRows
1374
+ ];
1300
1375
  var TimechartTrellisEditorConfig = [
1301
1376
  [
1302
1377
  {
@@ -1304,7 +1379,6 @@ var TimechartTrellisEditorConfig = [
1304
1379
  option: "splitByLayout",
1305
1380
  editor: "editor.toggle",
1306
1381
  showEditor: isTrellisFeatureFlagOn2,
1307
- // add help text for timecharts
1308
1382
  editorProps: {
1309
1383
  help: (0, i18n_exports._)(
1310
1384
  "Y2-axis and overlay field configurations are not supported when trellis is enabled."
@@ -1313,7 +1387,9 @@ var TimechartTrellisEditorConfig = [
1313
1387
  }
1314
1388
  }
1315
1389
  ],
1316
- ...TrellisEditorConfig.slice(1),
1390
+ trellisSplitByRow,
1391
+ makeSortRow(sortByValuesBase),
1392
+ ...trellisLayoutRows,
1317
1393
  [
1318
1394
  {
1319
1395
  label: (0, i18n_exports._)("Shared y-axis scale"),
@@ -1395,7 +1471,7 @@ var AxesChartDataDisplayBase = {
1395
1471
  editorProps: {
1396
1472
  filterByTypes: ["number"]
1397
1473
  },
1398
- isDisabled: isTrellisEnabled3
1474
+ isDisabled: ({ options, featureFlags }) => isTrellisEnabled3({ options, featureFlags }) || options.stackMode === "stacked100"
1399
1475
  }
1400
1476
  ],
1401
1477
  [
@@ -1919,6 +1995,10 @@ var AxesChartXGridAndLabelsBubbleScatter = {
1919
1995
  var AxesChartXGridAndLabels_default = AxesChartXGridAndLabels;
1920
1996
 
1921
1997
  // src/common/editorConfig/AxesChartYGridAndLabels.ts
1998
+ var isAcceleratedRenderEnabled2 = ({ options, featureFlags }) => {
1999
+ const { acceleratedRender } = options;
2000
+ return isAcceleratedRenderFeatureFlagOn({ featureFlags }) && acceleratedRender;
2001
+ };
1922
2002
  var AxesChartYGridAndLabels = {
1923
2003
  label: (0, i18n_exports._)("Y-axis grid and labels"),
1924
2004
  layout: [
@@ -1983,7 +2063,8 @@ var AxesChartYGridAndLabels = {
1983
2063
  {
1984
2064
  label: (0, i18n_exports._)("Extend to whole grid"),
1985
2065
  option: "showYAxisExtendedRange",
1986
- editor: "editor.checkbox"
2066
+ editor: "editor.checkbox",
2067
+ showEditor: ({ options, featureFlags }) => !isAcceleratedRenderEnabled2({ options, featureFlags })
1987
2068
  }
1988
2069
  ],
1989
2070
  [
@@ -2498,7 +2579,7 @@ var prop_types_default = "default" in defaultImport30 ? defaultImport30.default
2498
2579
  var INITIAL_HEIGHT = 250;
2499
2580
  var SplunkVisualization = class {
2500
2581
  };
2501
- SplunkVisualization.propTypes = {
2582
+ __publicField(SplunkVisualization, "propTypes", {
2502
2583
  /**
2503
2584
  * display mode
2504
2585
  */
@@ -2574,11 +2655,11 @@ SplunkVisualization.propTypes = {
2574
2655
  * A callback to request new data with updated request params
2575
2656
  */
2576
2657
  onRequestParamsChange: prop_types_exports.func
2577
- };
2658
+ });
2578
2659
  /**
2579
2660
  *
2580
2661
  */
2581
- SplunkVisualization.defaults = {
2662
+ __publicField(SplunkVisualization, "defaults", {
2582
2663
  // BaseVisualization in dashboard-visualizations uses 100% for width but 250 for height
2583
2664
  width: "100%",
2584
2665
  height: INITIAL_HEIGHT,
@@ -2593,7 +2674,7 @@ SplunkVisualization.defaults = {
2593
2674
  onComputedProps: () => ({}),
2594
2675
  loading: false,
2595
2676
  onRequestParamsChange: lodash_exports.noop
2596
- };
2677
+ });
2597
2678
  var SplunkVisualization_default = SplunkVisualization;
2598
2679
 
2599
2680
  // src/common/hooks/useSorting.ts
@@ -2644,9 +2725,9 @@ var usePaginationParams = ({
2644
2725
  meta,
2645
2726
  onRequestParamsChange
2646
2727
  }) => {
2647
- const totalCount = meta && meta.totalCount || 0;
2648
- const offset = requestParams && requestParams.offset || 0;
2649
- const count = requestParams && requestParams.count;
2728
+ const totalCount = (meta == null ? void 0 : meta.totalCount) || 0;
2729
+ const offset = (requestParams == null ? void 0 : requestParams.offset) || 0;
2730
+ const count = requestParams == null ? void 0 : requestParams.count;
2650
2731
  const totalPages = typeof count === "number" && count > 0 ? Math.ceil(totalCount / count) : 0;
2651
2732
  const current = typeof count === "number" && count > 0 ? Math.floor(offset / count) + 1 : 0;
2652
2733
  const isPaging = totalPages > 1 && typeof onRequestParamsChange === "function";
@@ -2745,7 +2826,7 @@ var Cover = styled_components_default.div`
2745
2826
  bottom: 0;
2746
2827
  `;
2747
2828
  var Blocker = styled_components_default.div.attrs({
2748
- "data-splunk-visualization-version": "28.5.3 - 657435b86"
2829
+ "data-splunk-visualization-version": "28.7.0 - d7b18cab6"
2749
2830
  })`
2750
2831
  position: relative;
2751
2832
  width: 100%;
@@ -2826,7 +2907,7 @@ var withFixedSizeContainer = (Viz) => {
2826
2907
  FixSizeItem,
2827
2908
  {
2828
2909
  "data-test": "fix-size-item",
2829
- "data-splunk-visualization-version": "28.5.3 - 657435b86",
2910
+ "data-splunk-visualization-version": "28.7.0 - d7b18cab6",
2830
2911
  width,
2831
2912
  height,
2832
2913
  backgroundColor
@@ -3106,7 +3187,7 @@ var dataSourcesSplitByAggregationsUnknown = (dataSource) => {
3106
3187
  const columns = (_d = (_c = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _c.data) == null ? void 0 : _d.columns;
3107
3188
  let splitDataSources = null;
3108
3189
  let errorCode = null;
3109
- if (fields && fields.length) {
3190
+ if (fields == null ? void 0 : fields.length) {
3110
3191
  splitDataSources = {};
3111
3192
  for (let i = 0; i < fields.length; i += 1) {
3112
3193
  const fieldName = fields[i].name;
@@ -3157,7 +3238,7 @@ var dataSourcesSplitByAggregationsTimechartAndChart = (dataSource) => {
3157
3238
  }
3158
3239
  });
3159
3240
  });
3160
- } else if ((!splitByFields || !splitByFields.length) && fields.length > 1) {
3241
+ } else if (!(splitByFields == null ? void 0 : splitByFields.length) && fields.length > 1) {
3161
3242
  splitDataSources = {};
3162
3243
  for (let i = 1; i < fields.length; i += 1) {
3163
3244
  const fieldName = fields[i].name;
@@ -3213,7 +3294,7 @@ var dataSourcesSplitByModeTimechart = (dataSource, splitBy) => {
3213
3294
  if (fields.length > 0) {
3214
3295
  splitByFields = (0, trellisUtils_exports.extractSplitByFieldsChartFields)(fields);
3215
3296
  }
3216
- if (splitByFields && splitByFields.indexOf(splitBy) > -1) {
3297
+ if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
3217
3298
  splitDataSources = {};
3218
3299
  const dataSourceKeys = (0, trellisUtils_exports.extractDataSourceAggregationKeysChart)(fields);
3219
3300
  const valueKeys = [];
@@ -3244,6 +3325,68 @@ var dataSourcesSplitByModeTimechart = (dataSource, splitBy) => {
3244
3325
  }
3245
3326
  return { splitDataSources, errorCode };
3246
3327
  };
3328
+ var splitRowWise = (dataSource, columns, fields, otherSplitBy, dataSourceKeys, nonDataSourceAggregations) => {
3329
+ const splitDataSources = {};
3330
+ const valueKeys = (0, lodash_exports.cloneDeep)(columns[0]);
3331
+ valueKeys.forEach((val, idx) => {
3332
+ splitDataSources[val] = (0, lodash_exports.cloneDeep)((0, lodash_exports.omit)(dataSource, ["primary.data.fields", "primary.data.columns"]));
3333
+ splitDataSources[val].primary.data.fields = [];
3334
+ if (otherSplitBy.length) {
3335
+ splitDataSources[val].primary.data.fields = [{ name: otherSplitBy[0] }];
3336
+ }
3337
+ if (dataSourceKeys.length) {
3338
+ const columnValues = [[]];
3339
+ splitDataSources[val].primary.data.fields = [
3340
+ ...splitDataSources[val].primary.data.fields,
3341
+ ...dataSourceKeys.map((k) => ({ name: k }))
3342
+ ];
3343
+ dataSourceKeys.forEach(() => {
3344
+ columnValues.push([]);
3345
+ });
3346
+ for (let i = 1; i <= Math.ceil((fields.length - 1) / dataSourceKeys.length); i += 1) {
3347
+ columnValues[0].push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);
3348
+ dataSourceKeys.forEach((dskey, dsIndx) => {
3349
+ const mul = (fields.length - 1) / dataSourceKeys.length;
3350
+ columnValues[dsIndx + 1].push(columns[i + dsIndx * mul][idx]);
3351
+ });
3352
+ }
3353
+ splitDataSources[val].primary.data.columns = columnValues;
3354
+ } else if (nonDataSourceAggregations.length) {
3355
+ const columnValues = [];
3356
+ fields.forEach((aggregationField, fieldIdx) => {
3357
+ if (fieldIdx > 0) {
3358
+ splitDataSources[val].primary.data.fields.push(aggregationField);
3359
+ columnValues.push([columns[fieldIdx][idx]]);
3360
+ }
3361
+ });
3362
+ splitDataSources[val].primary.data.columns = columnValues;
3363
+ }
3364
+ });
3365
+ return splitDataSources;
3366
+ };
3367
+ var splitColumnWise = (dataSource, columns, fields, otherSplitBy, dataSourceKeys) => {
3368
+ const splitDataSources = {};
3369
+ const valueKeys = [];
3370
+ for (let i = 1; i < fields.length; i += 1) {
3371
+ valueKeys.push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);
3372
+ }
3373
+ valueKeys.forEach((val) => {
3374
+ splitDataSources[val] = (0, lodash_exports.cloneDeep)((0, lodash_exports.omit)(dataSource, ["primary.data.fields", "primary.data.columns"]));
3375
+ splitDataSources[val].primary.data.fields = [
3376
+ { name: otherSplitBy[0] },
3377
+ ...dataSourceKeys.map((k) => ({ name: k }))
3378
+ ];
3379
+ splitDataSources[val].primary.data.columns = [[...columns[0]]];
3380
+ dataSourceKeys.forEach((dsKey) => {
3381
+ fields.forEach((field, idx) => {
3382
+ if (field.data_source === dsKey && (field.splitby_value === val || field.name === val)) {
3383
+ splitDataSources[val].primary.data.columns.push([...columns[idx]]);
3384
+ }
3385
+ });
3386
+ });
3387
+ });
3388
+ return splitDataSources;
3389
+ };
3247
3390
  var dataSourcesSplitByModeChart = (dataSource, splitBy) => {
3248
3391
  var _a, _b, _c, _d;
3249
3392
  const fields = toFieldEntries((_b = (_a = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _a.data) == null ? void 0 : _b.fields);
@@ -3254,8 +3397,7 @@ var dataSourcesSplitByModeChart = (dataSource, splitBy) => {
3254
3397
  if (fields.length > 0) {
3255
3398
  splitByFields = (0, trellisUtils_exports.extractSplitByFieldsChartFields)(fields);
3256
3399
  }
3257
- if (splitByFields && splitByFields.indexOf(splitBy) > -1) {
3258
- splitDataSources = {};
3400
+ if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
3259
3401
  const splitByFieldIdx = splitByFields.findIndex((f) => f === splitBy);
3260
3402
  const otherSplitBy = splitByFields.filter((f) => f !== splitBy);
3261
3403
  const dataSourceKeys = (0, trellisUtils_exports.extractDataSourceAggregationKeysChart)(fields);
@@ -3266,71 +3408,16 @@ var dataSourcesSplitByModeChart = (dataSource, splitBy) => {
3266
3408
  }
3267
3409
  }
3268
3410
  if (splitByFieldIdx === 0) {
3269
- const valueKeys = (0, lodash_exports.cloneDeep)(columns[0]);
3270
- valueKeys.forEach((val, idx) => {
3271
- splitDataSources[val] = (0, lodash_exports.cloneDeep)(
3272
- (0, lodash_exports.omit)(dataSource, ["primary.data.fields", "primary.data.columns"])
3273
- );
3274
- splitDataSources[val].primary.data.fields = [];
3275
- if (otherSplitBy.length) {
3276
- splitDataSources[val].primary.data.fields = [{ name: otherSplitBy[0] }];
3277
- }
3278
- if (dataSourceKeys.length) {
3279
- const columnValues = [[]];
3280
- splitDataSources[val].primary.data.fields = [
3281
- ...splitDataSources[val].primary.data.fields,
3282
- ...dataSourceKeys.map((k) => ({
3283
- name: k
3284
- }))
3285
- ];
3286
- dataSourceKeys.forEach(() => {
3287
- columnValues.push([]);
3288
- });
3289
- for (let i = 1; i <= Math.ceil((fields.length - 1) / dataSourceKeys.length); i += 1) {
3290
- columnValues[0].push(
3291
- fields[i].splitby_value ? fields[i].splitby_value : fields[i].name
3292
- );
3293
- dataSourceKeys.forEach((dskey, dsIndx) => {
3294
- const mul = (fields.length - 1) / dataSourceKeys.length;
3295
- columnValues[dsIndx + 1].push(columns[i + dsIndx * mul][idx]);
3296
- });
3297
- }
3298
- splitDataSources[val].primary.data.columns = columnValues;
3299
- } else if (nonDataSourceAggregations.length) {
3300
- const columnValues = [];
3301
- fields.forEach((aggregationField, fieldIdx) => {
3302
- if (fieldIdx > 0) {
3303
- splitDataSources[val].primary.data.fields.push(aggregationField);
3304
- columnValues.push([columns[fieldIdx][idx]]);
3305
- }
3306
- });
3307
- splitDataSources[val].primary.data.columns = columnValues;
3308
- }
3309
- });
3411
+ splitDataSources = splitRowWise(
3412
+ dataSource,
3413
+ columns,
3414
+ fields,
3415
+ otherSplitBy,
3416
+ dataSourceKeys,
3417
+ nonDataSourceAggregations
3418
+ );
3310
3419
  } else {
3311
- const valueKeys = [];
3312
- for (let i = 1; i < fields.length; i += 1) {
3313
- valueKeys.push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);
3314
- }
3315
- valueKeys.forEach((val) => {
3316
- splitDataSources[val] = (0, lodash_exports.cloneDeep)(
3317
- (0, lodash_exports.omit)(dataSource, ["primary.data.fields", "primary.data.columns"])
3318
- );
3319
- splitDataSources[val].primary.data.fields = [
3320
- { name: otherSplitBy[0] },
3321
- ...dataSourceKeys.map((k) => ({
3322
- name: k
3323
- }))
3324
- ];
3325
- splitDataSources[val].primary.data.columns = [[...columns[0]]];
3326
- dataSourceKeys.forEach((dsKey) => {
3327
- fields.forEach((field, idx) => {
3328
- if (field.data_source === dsKey && (field.splitby_value === val || field.name === val)) {
3329
- splitDataSources[val].primary.data.columns.push([...columns[idx]]);
3330
- }
3331
- });
3332
- });
3333
- });
3420
+ splitDataSources = splitColumnWise(dataSource, columns, fields, otherSplitBy, dataSourceKeys);
3334
3421
  }
3335
3422
  } else {
3336
3423
  errorCode = "INVALID_SPLIT_BY_FIELD";
@@ -3348,7 +3435,7 @@ var dataSourcesSplitByModeStatsorUnknown = (dataSource, splitBy, splitMode) => {
3348
3435
  splitByFields = splitMode !== trellisUtils_exports.UNKNOWN ? (0, trellisUtils_exports.extractSplitByFieldsForStats)(fields) : (0, trellisUtils_exports.extractSplitByFieldsForUnknown)(fields);
3349
3436
  }
3350
3437
  const splitByIndex = fields.findIndex((field) => field.name === splitBy);
3351
- if (splitByFields && splitByFields.indexOf(splitBy) > -1) {
3438
+ if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
3352
3439
  const splitByColumn = (_f = (_e = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _e.data) == null ? void 0 : _f.columns[splitByIndex];
3353
3440
  splitDataSources = {};
3354
3441
  splitByColumn.forEach((val, idx) => {
@@ -3470,11 +3557,20 @@ var defaultImport36 = __toESM(require("@splunk/react-icons/Triangle"));
3470
3557
  __reExport(Triangle_exports, require("@splunk/react-icons/Triangle"));
3471
3558
  var Triangle_default = "default" in defaultImport36 ? defaultImport36.default : defaultImport36;
3472
3559
 
3560
+ // esm-externals:@splunk/visualizations-shared/propUtils
3561
+ var propUtils_exports = {};
3562
+ __export(propUtils_exports, {
3563
+ default: () => propUtils_default
3564
+ });
3565
+ var defaultImport37 = __toESM(require("@splunk/visualizations-shared/propUtils"));
3566
+ __reExport(propUtils_exports, require("@splunk/visualizations-shared/propUtils"));
3567
+ var propUtils_default = "default" in defaultImport37 ? defaultImport37.default : defaultImport37;
3568
+
3473
3569
  // src/common/chartingUtils.ts
3474
3570
  var DEFAULT_LINE_WIDTH = 2;
3475
- var getAnnotations = ({ annotationX, annotationColor, annotationLabel }) => annotationX && annotationX.length ? annotationX.map((timestamp, i) => ({
3476
- color: annotationColor && annotationColor[i],
3477
- label: annotationLabel && annotationLabel[i],
3571
+ var getAnnotations = ({ annotationX, annotationColor, annotationLabel }) => (annotationX == null ? void 0 : annotationX.length) ? annotationX.map((timestamp, i) => ({
3572
+ color: annotationColor == null ? void 0 : annotationColor[i],
3573
+ label: annotationLabel == null ? void 0 : annotationLabel[i],
3478
3574
  time: timestamp
3479
3575
  })) : [];
3480
3576
  var getAnnotationsForCanvas = ({
@@ -3604,9 +3700,9 @@ var shouldEnableSearchZoom = (eventHandlers = [], xField = "") => {
3604
3700
  const xAxisIsTime = xField === "_time";
3605
3701
  return !!rangeSelectEventHandler && xAxisIsTime;
3606
3702
  };
3607
- var canvasSupportedTimeSeriesCharts = ["splunk.line"];
3703
+ var canvasSupportedTimeSeriesCharts = ["splunk.line", "splunk.area"];
3608
3704
  var isTimeSeriesCanvasRenderSupported = (vizConfigKey) => {
3609
- return canvasSupportedTimeSeriesCharts.indexOf(vizConfigKey) > -1;
3705
+ return canvasSupportedTimeSeriesCharts.includes(vizConfigKey);
3610
3706
  };
3611
3707
  var filterChartDataFromInternalFields = (chartData) => {
3612
3708
  const { fields, columns } = chartData;
@@ -3761,46 +3857,66 @@ var getY2ScaleConfig = (label, axisAbbreviation, axisScale, roundAxisLabelsToInt
3761
3857
  }
3762
3858
  return y2Config;
3763
3859
  };
3764
- var getSeriesOverrides = (yfields, y2fields, lineWidth, overlayFields, y2Enabled, nullValueMode, markerDisplay, lineDashStyle, lineDashStylesByField, stepPosition, stepPositionsByField) => {
3860
+ var getSeriesType = (isOverlay, isAreaChart, isStacked) => {
3861
+ if (isOverlay) return "line";
3862
+ if (!isAreaChart) return void 0;
3863
+ return isStacked ? "stacked-area" : "area";
3864
+ };
3865
+ var getY2Scale = (field, y2fields, overlayFields) => {
3866
+ 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));
3867
+ return assignToY2 ? "y2" : "y";
3868
+ };
3869
+ var getSeriesOverrides = (opts) => {
3870
+ var _a;
3871
+ const {
3872
+ yfields,
3873
+ y2fields,
3874
+ lineWidth,
3875
+ overlayFields,
3876
+ y2Enabled,
3877
+ nullValueMode,
3878
+ markerDisplay,
3879
+ lineDashStyle,
3880
+ lineDashStylesByField,
3881
+ stepPosition,
3882
+ stepPositionsByField,
3883
+ type,
3884
+ stackMode,
3885
+ showLines
3886
+ } = opts;
3765
3887
  const seriesConfig = {};
3766
3888
  let spanGaps;
3767
- let replaceNullsWithZero;
3768
3889
  if (nullValueMode === "gaps") {
3769
3890
  spanGaps = false;
3770
- } else if (nullValueMode === "connect" || nullValueMode === "zero") {
3891
+ } else if (nullValueMode != null) {
3771
3892
  spanGaps = true;
3772
- if (nullValueMode === "zero") {
3773
- replaceNullsWithZero = true;
3774
- }
3893
+ } else {
3894
+ spanGaps = void 0;
3775
3895
  }
3776
- yfields.forEach((field) => {
3896
+ const replaceNullsWithZero = nullValueMode === "zero" ? true : void 0;
3897
+ const isAreaChart = type === "area";
3898
+ const isStacked = isAreaChart && (stackMode === "stacked" || stackMode === "stacked100");
3899
+ const areaFields = isAreaChart ? yfields.filter((f) => !(overlayFields == null ? void 0 : overlayFields.includes(f))) : yfields;
3900
+ const overlayFieldsInOrder = (_a = overlayFields == null ? void 0 : overlayFields.filter((f) => yfields.includes(f))) != null ? _a : [];
3901
+ const orderedFields = isAreaChart ? [...areaFields, ...overlayFieldsInOrder] : yfields;
3902
+ orderedFields.forEach((field) => {
3903
+ var _a2;
3904
+ const isOverlay = (_a2 = overlayFields == null ? void 0 : overlayFields.includes(field)) != null ? _a2 : false;
3905
+ const isPercent = isAreaChart && stackMode === "stacked100" && !isOverlay;
3906
+ const shouldHideAreaOutline = isAreaChart && showLines === false && !isOverlay;
3777
3907
  seriesConfig[field] = {
3778
- overrides: { width: lineWidth != null ? lineWidth : DEFAULT_LINE_WIDTH }
3908
+ overrides: __spreadValues({
3909
+ width: shouldHideAreaOutline ? 0 : lineWidth != null ? lineWidth : DEFAULT_LINE_WIDTH
3910
+ }, isPercent ? { stacking: { mode: "percent", group: "A" } } : {})
3779
3911
  };
3780
- if (spanGaps !== void 0) {
3781
- seriesConfig[field].overrides.spanGaps = spanGaps;
3782
- }
3783
- if (y2Enabled) {
3784
- const shouldAssignToY2 = (
3785
- // If y2Fields are present, assign all y2Fields to y2 scale
3786
- (y2fields == null ? void 0 : y2fields.length) > 0 && y2fields.includes(field) || // Else, assign all overlayFields to y2 scale
3787
- (!y2fields || y2fields.length === 0) && (overlayFields == null ? void 0 : overlayFields.includes(field))
3788
- );
3789
- if (shouldAssignToY2) {
3790
- seriesConfig[field].overrides.scale = "y2";
3791
- } else {
3792
- seriesConfig[field].overrides.scale = "y";
3793
- }
3794
- }
3795
- if (overlayFields == null ? void 0 : overlayFields.includes(field)) {
3796
- seriesConfig[field].type = "line";
3797
- }
3798
- if (markerDisplay !== void 0) {
3799
- seriesConfig[field].markerDisplay = markerDisplay;
3800
- }
3801
- const fieldDashStyle = (lineDashStylesByField == null ? void 0 : lineDashStylesByField[field]) || lineDashStyle;
3802
- if (fieldDashStyle) {
3803
- seriesConfig[field].lineDashStyle = fieldDashStyle;
3912
+ const seriesType = getSeriesType(isOverlay, isAreaChart, isStacked);
3913
+ if (seriesType !== void 0) seriesConfig[field].type = seriesType;
3914
+ if (spanGaps !== void 0) seriesConfig[field].overrides.spanGaps = spanGaps;
3915
+ if (y2Enabled) seriesConfig[field].overrides.scale = getY2Scale(field, y2fields, overlayFields);
3916
+ if (markerDisplay !== void 0) seriesConfig[field].markerDisplay = markerDisplay;
3917
+ if (!isAreaChart || isOverlay) {
3918
+ const fieldDashStyle = (lineDashStylesByField == null ? void 0 : lineDashStylesByField[field]) || lineDashStyle;
3919
+ if (fieldDashStyle) seriesConfig[field].lineDashStyle = fieldDashStyle;
3804
3920
  }
3805
3921
  const hasFieldStepPosition = Object.hasOwn(stepPositionsByField || {}, field);
3806
3922
  const fieldStepPosition = hasFieldStepPosition ? stepPositionsByField == null ? void 0 : stepPositionsByField[field] : stepPosition;
@@ -3966,6 +4082,38 @@ var parseArrayOption = (value) => {
3966
4082
  }
3967
4083
  return void 0;
3968
4084
  };
4085
+ var getAreaOpacityForCanvas = (areaOpacity) => (
4086
+ // Preserve legacy visualizations behavior where area opacity is squared to match charting output.
4087
+ areaOpacity !== void 0 && areaOpacity !== null ? __pow(areaOpacity, 2) : areaOpacity
4088
+ );
4089
+ var parseTickIntervalOption = (simpleXMLValue, canvasValue) => {
4090
+ if (simpleXMLValue) return Number(simpleXMLValue);
4091
+ if (canvasValue) return Number(canvasValue);
4092
+ return void 0;
4093
+ };
4094
+ var getYAxisTitles = ({
4095
+ y2Enabled,
4096
+ yFields,
4097
+ y2Fields,
4098
+ overlayFields,
4099
+ yAxisTitleText,
4100
+ yAxisTitleVisibility,
4101
+ y2AxisTitleText,
4102
+ y2AxisTitleVisibility,
4103
+ containerHeight
4104
+ }) => {
4105
+ const yFieldsForTitle = y2Enabled ? yFields.filter((field) => !y2Fields.includes(field)) : yFields;
4106
+ const fieldsForY2Axis = y2Fields.length > 0 ? y2Fields : overlayFields;
4107
+ const yAxisTitle = ellipsisAxisTitle(
4108
+ getComputedAxisTitles(yAxisTitleText, yFieldsForTitle, yAxisTitleVisibility),
4109
+ containerHeight
4110
+ );
4111
+ const y2AxisTitle = ellipsisAxisTitle(
4112
+ getComputedAxisTitles(y2AxisTitleText, fieldsForY2Axis, y2AxisTitleVisibility),
4113
+ containerHeight
4114
+ );
4115
+ return { yAxisTitle, y2AxisTitle };
4116
+ };
3969
4117
  var TimeSeriesChartWrapper = (props) => {
3970
4118
  var _b, _c, _d;
3971
4119
  const _a = props, {
@@ -4055,6 +4203,8 @@ var TimeSeriesChartWrapper = (props) => {
4055
4203
  "chart.overlayFields": overlayFieldsStr,
4056
4204
  "chart.nullValueMode": nullValueMode,
4057
4205
  "chart.showDataLabels": showDataLabels,
4206
+ "chart.showLines": showLines,
4207
+ "chart.stackMode": stackMode,
4058
4208
  lineWidth,
4059
4209
  lineDashStyle,
4060
4210
  fieldDashStyles: lineDashStylesByFieldStr,
@@ -4083,7 +4233,10 @@ var TimeSeriesChartWrapper = (props) => {
4083
4233
  yAxisMinorTickSize,
4084
4234
  y2AxisMinorTickSize,
4085
4235
  showYAxisWithZero: showYAxisWithZeroFromOptions,
4086
- showY2AxisWithZero: showY2AxisWithZeroFromOptions
4236
+ showY2AxisWithZero: showY2AxisWithZeroFromOptions,
4237
+ // area only props
4238
+ areaFillOpacity: areaOpacity,
4239
+ chart: chartType
4087
4240
  } = options;
4088
4241
  const dataValuesDisplay = showDataLabels === "none" ? "off" : showDataLabels;
4089
4242
  const showYAxisWithZero = showYAxisWithZeroFromProps != null ? showYAxisWithZeroFromProps : showYAxisWithZeroFromOptions;
@@ -4100,13 +4253,11 @@ var TimeSeriesChartWrapper = (props) => {
4100
4253
  const yAxisMax = parseAxisValue(yAxisMaxRaw);
4101
4254
  const y2AxisMin = parseAxisValue(y2AxisMinRaw);
4102
4255
  const y2AxisMax = parseAxisValue(y2AxisMaxRaw);
4103
- const parseTickInterval = (simpleXMLValue, canvasValue) => {
4104
- if (simpleXMLValue) return Number(simpleXMLValue);
4105
- if (canvasValue) return Number(canvasValue);
4106
- return void 0;
4107
- };
4108
- const yAxisMajorTickIntervalNum = parseTickInterval(yAxisMajorUnitFromSimpleXML, yAxisMajorTickInterval);
4109
- const y2AxisMajorTickIntervalNum = parseTickInterval(
4256
+ const yAxisMajorTickIntervalNum = parseTickIntervalOption(
4257
+ yAxisMajorUnitFromSimpleXML,
4258
+ yAxisMajorTickInterval
4259
+ );
4260
+ const y2AxisMajorTickIntervalNum = parseTickIntervalOption(
4110
4261
  y2AxisMajorUnitFromSimpleXML,
4111
4262
  y2AxisMajorTickInterval
4112
4263
  );
@@ -4115,6 +4266,7 @@ var TimeSeriesChartWrapper = (props) => {
4115
4266
  const y2AxisMajorTickSizeNum = y2AxisMajorTickSize != null ? Number(y2AxisMajorTickSize) : void 0;
4116
4267
  const yAxisMinorTickSizeNum = yAxisMinorTickSize != null ? Number(yAxisMinorTickSize) : void 0;
4117
4268
  const y2AxisMinorTickSizeNum = y2AxisMinorTickSize != null ? Number(y2AxisMinorTickSize) : void 0;
4269
+ const areaOpacityForCanvas = getAreaOpacityForCanvas(areaOpacity);
4118
4270
  const seriesColors = seriesColorsStr ? JSON.parse(seriesColorsStr) : void 0;
4119
4271
  const seriesColorsByField = fieldColors ? JSON.parse(fieldColors) : void 0;
4120
4272
  const lineDashStylesByField = lineDashStylesByFieldStr ? JSON.parse(lineDashStylesByFieldStr) : void 0;
@@ -4145,26 +4297,40 @@ var TimeSeriesChartWrapper = (props) => {
4145
4297
  );
4146
4298
  let xAxisTitle = getComputedAxisTitles(xAxisTitleText, [xField], xAxisTitleVisibility);
4147
4299
  xAxisTitle = ellipsisAxisTitle(xAxisTitle, containerWidth);
4148
- const yFieldsForTitle = y2Enabled ? yFields.filter((field) => !y2Fields.includes(field)) : yFields;
4149
- let yAxisTitle = getComputedAxisTitles(yAxisTitleText, yFieldsForTitle, yAxisTitleVisibility);
4150
- yAxisTitle = ellipsisAxisTitle(yAxisTitle, containerHeight);
4151
- const fieldsForY2Axis = y2Fields.length > 0 ? y2Fields : overlayFields;
4152
- let y2AxisTitle = getComputedAxisTitles(y2AxisTitleText, fieldsForY2Axis, y2AxisTitleVisibility);
4153
- y2AxisTitle = ellipsisAxisTitle(y2AxisTitle, containerHeight);
4300
+ const { yAxisTitle, y2AxisTitle } = getYAxisTitles({
4301
+ y2Enabled,
4302
+ yFields,
4303
+ y2Fields,
4304
+ overlayFields,
4305
+ yAxisTitleText,
4306
+ yAxisTitleVisibility,
4307
+ y2AxisTitleText,
4308
+ y2AxisTitleVisibility,
4309
+ containerHeight
4310
+ });
4154
4311
  const xScaleConfig = (0, react_exports.useMemo)(
4155
4312
  () => getXScaleConfig(xAxisTitle, xAxisLabelVisibility, xAxisLabelRotation),
4156
4313
  [xAxisTitle, xAxisLabelVisibility, xAxisLabelRotation]
4157
4314
  );
4315
+ const isStacked100 = stackMode === "stacked100";
4158
4316
  const yScaleConfig = (0, react_exports.useMemo)(
4159
- () => getYScaleConfig(
4160
- yAxisTitle,
4161
- yAxisAbbreviation,
4162
- yAxisScale,
4163
- yAxisLabelVisibility,
4164
- yAxisMin,
4165
- yAxisMax
4166
- ),
4167
- [yAxisTitle, yAxisAbbreviation, yAxisScale, yAxisLabelVisibility, yAxisMin, yAxisMax]
4317
+ () => {
4318
+ const config2 = getYScaleConfig(
4319
+ yAxisTitle,
4320
+ yAxisAbbreviation,
4321
+ yAxisScale,
4322
+ yAxisLabelVisibility,
4323
+ yAxisMin,
4324
+ yAxisMax
4325
+ );
4326
+ if (isStacked100) {
4327
+ config2.y.tickFmt = (v) => `${Math.round(v * 100)}%`;
4328
+ config2.y.range = () => [0, 1];
4329
+ }
4330
+ return config2;
4331
+ },
4332
+ // eslint-disable-next-line react-hooks/exhaustive-deps
4333
+ [yAxisTitle, yAxisAbbreviation, yAxisScale, yAxisLabelVisibility, yAxisMin, yAxisMax, isStacked100]
4168
4334
  );
4169
4335
  const y2ScaleConfig = (0, react_exports.useMemo)(() => {
4170
4336
  if (y2Enabled) {
@@ -4196,10 +4362,11 @@ var TimeSeriesChartWrapper = (props) => {
4196
4362
  ];
4197
4363
  chartData.fields = filteredChartData.fields;
4198
4364
  chartData.columns = seriesDataFormatted;
4365
+ const normalizedStackMode = stackMode === "stacked" || stackMode === "stacked100" ? stackMode : "auto";
4199
4366
  const seriesOverrides = (0, react_exports.useMemo)(
4200
- () => getSeriesOverrides(
4201
- yFields,
4202
- y2Fields,
4367
+ () => getSeriesOverrides({
4368
+ yfields: yFields,
4369
+ y2fields: y2Fields,
4203
4370
  lineWidth,
4204
4371
  overlayFields,
4205
4372
  y2Enabled,
@@ -4208,8 +4375,11 @@ var TimeSeriesChartWrapper = (props) => {
4208
4375
  lineDashStyle,
4209
4376
  lineDashStylesByField,
4210
4377
  stepPosition,
4211
- stepPositionsByField
4212
- ),
4378
+ stepPositionsByField,
4379
+ type: chartType,
4380
+ stackMode: normalizedStackMode,
4381
+ showLines
4382
+ }),
4213
4383
  [
4214
4384
  yFields,
4215
4385
  y2Fields,
@@ -4221,7 +4391,10 @@ var TimeSeriesChartWrapper = (props) => {
4221
4391
  lineDashStyle,
4222
4392
  lineDashStylesByField,
4223
4393
  stepPosition,
4224
- stepPositionsByField
4394
+ stepPositionsByField,
4395
+ chartType,
4396
+ normalizedStackMode,
4397
+ showLines
4225
4398
  ]
4226
4399
  );
4227
4400
  const chartingEventAnnotations = (0, react_exports.useMemo)(
@@ -4289,50 +4462,54 @@ var TimeSeriesChartWrapper = (props) => {
4289
4462
  react_exports.useEffect(() => {
4290
4463
  additionalTooltipValuesRef.current = additionalTooltipValues;
4291
4464
  }, [additionalTooltipValues]);
4465
+ const handleCrosshairMouseout = react_exports.useCallback(() => {
4466
+ if (onPointMouseOut && lastPayloadRef.current) {
4467
+ onPointMouseOut({
4468
+ type: "point.mouseout",
4469
+ originalEvent: lastOriginalEventRef.current,
4470
+ payload: lastPayloadRef.current
4471
+ });
4472
+ }
4473
+ previousMouseoverPayloadRef.current = null;
4474
+ }, [onPointMouseOut]);
4292
4475
  const handleChartCrosshairChange = react_exports.useCallback(
4293
4476
  (event) => {
4294
- if (onPointMouseOver || onPointMouseOut) {
4295
- if (!event) {
4296
- if (onPointMouseOut && lastPayloadRef.current) {
4297
- onPointMouseOut({
4298
- type: "point.mouseout",
4299
- originalEvent: lastOriginalEventRef.current,
4300
- payload: lastPayloadRef.current
4301
- });
4302
- }
4303
- previousMouseoverPayloadRef.current = null;
4304
- return;
4305
- }
4306
- const payload = __spreadProps(__spreadValues({}, (0, lodash_exports.pick)(event, "value", "seriesKey", "time", "index", "seriesIndex")), {
4307
- name: event.seriesKey
4477
+ if (!onPointMouseOver && !onPointMouseOut) {
4478
+ return;
4479
+ }
4480
+ if (!event) {
4481
+ handleCrosshairMouseout();
4482
+ return;
4483
+ }
4484
+ const payload = __spreadProps(__spreadValues({}, (0, lodash_exports.pick)(event, "value", "seriesKey", "time", "index", "seriesIndex")), {
4485
+ name: event.seriesKey
4486
+ });
4487
+ delete payload.seriesKey;
4488
+ if (event.rowContext) {
4489
+ Object.assign(
4490
+ payload,
4491
+ Object.keys(event.rowContext).reduce((acc, fieldName) => {
4492
+ acc[`row.${fieldName}.value`] = event.rowContext[fieldName];
4493
+ return acc;
4494
+ }, {})
4495
+ );
4496
+ }
4497
+ const updatedPayload = appendTrellisToPayload2(payload, trellisKey, trellisSplitBy);
4498
+ if (!hasMouseoverPayloadChanged(updatedPayload, previousMouseoverPayloadRef.current)) {
4499
+ return;
4500
+ }
4501
+ lastPayloadRef.current = updatedPayload;
4502
+ lastOriginalEventRef.current = event;
4503
+ previousMouseoverPayloadRef.current = __spreadValues({}, updatedPayload);
4504
+ if (onPointMouseOver) {
4505
+ onPointMouseOver({
4506
+ type: "point.mouseover",
4507
+ originalEvent: event,
4508
+ payload: updatedPayload
4308
4509
  });
4309
- delete payload.seriesKey;
4310
- if (event.rowContext) {
4311
- Object.assign(
4312
- payload,
4313
- Object.keys(event.rowContext).reduce((acc, fieldName) => {
4314
- acc[`row.${fieldName}.value`] = event.rowContext[fieldName];
4315
- return acc;
4316
- }, {})
4317
- );
4318
- }
4319
- const updatedPayload = appendTrellisToPayload2(payload, trellisKey, trellisSplitBy);
4320
- if (!hasMouseoverPayloadChanged(updatedPayload, previousMouseoverPayloadRef.current)) {
4321
- return;
4322
- }
4323
- lastPayloadRef.current = updatedPayload;
4324
- lastOriginalEventRef.current = event;
4325
- previousMouseoverPayloadRef.current = __spreadValues({}, updatedPayload);
4326
- if (onPointMouseOver) {
4327
- onPointMouseOver({
4328
- type: "point.mouseover",
4329
- originalEvent: event,
4330
- payload: updatedPayload
4331
- });
4332
- }
4333
4510
  }
4334
4511
  },
4335
- [onPointMouseOver, onPointMouseOut, trellisKey, trellisSplitBy]
4512
+ [onPointMouseOver, onPointMouseOut, trellisKey, trellisSplitBy, handleCrosshairMouseout]
4336
4513
  );
4337
4514
  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}`;
4338
4515
  const memoizedChart = (0, react_exports.useMemo)(() => {
@@ -4387,7 +4564,8 @@ var TimeSeriesChartWrapper = (props) => {
4387
4564
  showXAxisLine,
4388
4565
  showYAxisLine,
4389
4566
  showY2AxisLine,
4390
- xAxisMaxLabelParts
4567
+ xAxisMaxLabelParts,
4568
+ areaOpacity: areaOpacityForCanvas
4391
4569
  }
4392
4570
  ));
4393
4571
  }, [
@@ -4439,7 +4617,8 @@ var TimeSeriesChartWrapper = (props) => {
4439
4617
  showYAxisLine,
4440
4618
  showY2AxisLine,
4441
4619
  legendMode,
4442
- xAxisMaxLabelParts
4620
+ xAxisMaxLabelParts,
4621
+ areaOpacityForCanvas
4443
4622
  ]);
4444
4623
  const memoizedVisualization = (0, react_exports.useMemo)(() => {
4445
4624
  return /* @__PURE__ */ react_exports.createElement(VizStyleWrapper_default, { backgroundColor: bgColor }, memoizedChart);
@@ -4467,6 +4646,37 @@ var TimeSeriesChartWrapper_default = TimeSeriesChartWrapper;
4467
4646
 
4468
4647
  // src/common/withDashboardViz.tsx
4469
4648
  var SanitizedTimeSeriesChartWrapper = (0, SanitizeProps_exports.withSanitizedProps)(TimeSeriesChartWrapper_default);
4649
+ var buildEventCallbackProps = (supportedEvents, evaluatedOptionsToUse, onEventTrigger) => {
4650
+ const result = {};
4651
+ Object.keys(supportedEvents).forEach((eventName) => {
4652
+ const { parentKeys, payloadKeys } = supportedEvents[eventName];
4653
+ const eventCallbackPropName = (0, lodash_exports.camelCase)(`on.${eventName}`);
4654
+ let payload = {};
4655
+ if (Array.isArray(payloadKeys) && payloadKeys.length) {
4656
+ payloadKeys.forEach((p) => {
4657
+ payload[p] = evaluatedOptionsToUse[p];
4658
+ });
4659
+ }
4660
+ result[eventCallbackPropName] = (ev) => {
4661
+ if (ev == null ? void 0 : ev.payload) {
4662
+ payload = __spreadValues({}, ev.payload);
4663
+ }
4664
+ return onEventTrigger({
4665
+ originalEvent: ev,
4666
+ payload,
4667
+ type: eventName
4668
+ });
4669
+ };
4670
+ if (parentKeys) {
4671
+ for (let i = parentKeys.length - 1; i >= 0; i -= 1) {
4672
+ const newObject = {};
4673
+ newObject[parentKeys[i]] = result[eventCallbackPropName];
4674
+ result[eventCallbackPropName] = newObject;
4675
+ }
4676
+ }
4677
+ });
4678
+ return result;
4679
+ };
4470
4680
  var withDashboardViz = (opts) => {
4471
4681
  const {
4472
4682
  ReactViz,
@@ -4524,9 +4734,7 @@ var withDashboardViz = (opts) => {
4524
4734
  const isDownsamplingEnabledByFeatureFlag = Boolean(
4525
4735
  featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableDownsampling
4526
4736
  );
4527
- const isTrellisFeatureFlagOn5 = Boolean(
4528
- featureFlagContext && featureFlagContext.visualizations_enableTrellis
4529
- );
4737
+ const isTrellisFeatureFlagOn5 = Boolean(featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableTrellis);
4530
4738
  const isTrellisOn = isTrellisFeatureFlagOn5 && ((_a = vizConfig == null ? void 0 : vizConfig.supports) == null ? void 0 : _a.includes("trellis" /* TRELLIS */)) && (options == null ? void 0 : options.splitByLayout) === "trellis" /* TRELLIS */;
4531
4739
  const isAcceleratedRenderFeatureFlagOn2 = Boolean(
4532
4740
  featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableAcceleratedRender
@@ -4691,38 +4899,12 @@ var withDashboardViz = (opts) => {
4691
4899
  }
4692
4900
  );
4693
4901
  }
4694
- const eventCallbackProps = {};
4695
- if (hasEventHandlers && mode === "view" && vizConfig.supports.indexOf("events" /* EVENTS */) > -1) {
4696
- const supportedEvents = vizConfig.events;
4697
- Object.keys(supportedEvents).forEach((eventName) => {
4698
- const { parentKeys, payloadKeys } = supportedEvents[eventName];
4699
- const eventCallbackPropName = (0, lodash_exports.camelCase)(`on.${eventName}`);
4700
- let payload = {};
4701
- if (Array.isArray(payloadKeys) && payloadKeys.length) {
4702
- payloadKeys.forEach((p) => {
4703
- payload[p] = evaluatedOptionsToUse[p];
4704
- });
4705
- }
4706
- eventCallbackProps[eventCallbackPropName] = (ev) => {
4707
- if (ev == null ? void 0 : ev.payload) {
4708
- payload = __spreadValues({}, ev.payload);
4709
- }
4710
- return onEventTrigger({
4711
- originalEvent: ev,
4712
- payload,
4713
- type: eventName
4714
- });
4715
- };
4716
- if (parentKeys) {
4717
- for (let i = parentKeys.length - 1; i >= 0; i -= 1) {
4718
- const newObject = {};
4719
- newObject[parentKeys[i]] = eventCallbackProps[eventCallbackPropName];
4720
- eventCallbackProps[eventCallbackPropName] = newObject;
4721
- }
4722
- }
4723
- });
4724
- }
4725
- const computedVizProps = computeVizProps2(__spreadProps(__spreadValues(__spreadValues(__spreadValues({}, props), evaluatedOptionsToUse), eventCallbackProps), {
4902
+ const eventCallbackProps = hasEventHandlers && mode === "view" && vizConfig.supports.includes("events" /* EVENTS */) ? buildEventCallbackProps(vizConfig.events, evaluatedOptionsToUse, onEventTrigger) : {};
4903
+ const computedVizProps = computeVizProps2(__spreadProps(__spreadValues(__spreadProps(__spreadValues(__spreadValues({}, props), evaluatedOptionsToUse), {
4904
+ // Align option transformation with the actual renderer selected below.
4905
+ // This prevents canvas-only option preservation from leaking into Highcharts mode.
4906
+ isAcceleratedRenderOn
4907
+ }), eventCallbackProps), {
4726
4908
  themeFunc
4727
4909
  }));
4728
4910
  if (useAsyncEvaluatedOptions && Object.keys(evaluatedOptionsToUse).length === 0) {
@@ -4751,15 +4933,6 @@ var withDashboardViz = (opts) => {
4751
4933
  };
4752
4934
  var withDashboardViz_default = withDashboardViz;
4753
4935
 
4754
- // esm-externals:@splunk/visualizations-shared/propUtils
4755
- var propUtils_exports = {};
4756
- __export(propUtils_exports, {
4757
- default: () => propUtils_default
4758
- });
4759
- var defaultImport37 = __toESM(require("@splunk/visualizations-shared/propUtils"));
4760
- __reExport(propUtils_exports, require("@splunk/visualizations-shared/propUtils"));
4761
- var propUtils_default = "default" in defaultImport37 ? defaultImport37.default : defaultImport37;
4762
-
4763
4936
  // src/Column/columnUtils.ts
4764
4937
  var columnOptionsSCMapping = {
4765
4938
  dataValuesDisplay: "showDataLabels",
@@ -4885,6 +5058,53 @@ __reExport(themes_exports, require("@splunk/themes"));
4885
5058
  var themes_default = "default" in defaultImport39 ? defaultImport39.default : defaultImport39;
4886
5059
 
4887
5060
  // src/common/hocs/withTrellis.tsx
5061
+ var evaluatePanelOption = (panelDataSources, allOptions, optionKey, vizContext) => {
5062
+ try {
5063
+ const evaluated = Options_exports.Options.evaluate({ context: vizContext, options: allOptions }, panelDataSources);
5064
+ const num = Number(evaluated == null ? void 0 : evaluated[optionKey]);
5065
+ return Number.isNaN(num) ? Number.NaN : num;
5066
+ } catch (e) {
5067
+ return Number.NaN;
5068
+ }
5069
+ };
5070
+ var sortTrellisKeys = (keys, trellisSortBy, trellisSortOrder, modifiedDataSourceBySplitBy, mergedOptions, vizContext) => {
5071
+ if (trellisSortBy === "name") {
5072
+ keys.sort((a, b) => {
5073
+ const cmp = a.localeCompare(b, void 0, { numeric: true, sensitivity: "base" });
5074
+ return trellisSortOrder === "descending" ? -cmp : cmp;
5075
+ });
5076
+ } else if (trellisSortBy === "value" || trellisSortBy === "trend") {
5077
+ let optionKey;
5078
+ if (trellisSortBy === "trend") {
5079
+ optionKey = "trendValue";
5080
+ } else {
5081
+ optionKey = mergedOptions.value !== void 0 ? "value" : "majorValue";
5082
+ }
5083
+ keys.sort((a, b) => {
5084
+ const valA = evaluatePanelOption(
5085
+ modifiedDataSourceBySplitBy[a],
5086
+ mergedOptions,
5087
+ optionKey,
5088
+ vizContext
5089
+ );
5090
+ const valB = evaluatePanelOption(
5091
+ modifiedDataSourceBySplitBy[b],
5092
+ mergedOptions,
5093
+ optionKey,
5094
+ vizContext
5095
+ );
5096
+ const nanA = Number.isNaN(valA);
5097
+ const nanB = Number.isNaN(valB);
5098
+ if (nanA && nanB) return 0;
5099
+ if (nanA) return 1;
5100
+ if (nanB) return -1;
5101
+ const cmp = valA - valB;
5102
+ return trellisSortOrder === "descending" ? -cmp : cmp;
5103
+ });
5104
+ } else if (trellisSortOrder === "descending") {
5105
+ keys.reverse();
5106
+ }
5107
+ };
4888
5108
  var TrellisContainer = styled_components_default.div`
4889
5109
  overflow: hidden;
4890
5110
  display: flex;
@@ -4929,6 +5149,14 @@ var showErrorMessage = (errorCode, width, height) => {
4929
5149
  }
4930
5150
  return /* @__PURE__ */ react_exports.createElement(Message_default, { width, height, message: (0, i18n_exports._)("Error render in trellis"), level: "info" });
4931
5151
  };
5152
+ var resolveTrellisSplitBy = (trellisSplitBy, fields) => {
5153
+ var _a;
5154
+ if (trellisSplitBy && trellisSplitBy.length > 0) {
5155
+ return trellisSplitBy;
5156
+ }
5157
+ const splitByPossibleFields = (0, trellisUtils_exports.getAllPossibleSplitByFields)(fields);
5158
+ return ((_a = splitByPossibleFields.fields) == null ? void 0 : _a.length) ? splitByPossibleFields.fields[0] : AGGREGATIONS;
5159
+ };
4932
5160
  var withTrellis = (Viz) => {
4933
5161
  const VizWithTrellis = (opts) => {
4934
5162
  const cachedHandleResize = react_exports.useCallback((w, h) => {
@@ -4937,7 +5165,7 @@ var withTrellis = (Viz) => {
4937
5165
  }, []);
4938
5166
  const [containerWidth, setContainerWidth] = react_exports.useState(Number(opts.width));
4939
5167
  const [containerHeight, setContainerHeight] = react_exports.useState(Number(opts.height));
4940
- const _a = opts, { options = {}, height, width } = _a, otherProps = __objRest(_a, ["options", "height", "width"]);
5168
+ const _a = opts, { options = {}, context = {}, height, width } = _a, otherProps = __objRest(_a, ["options", "context", "height", "width"]);
4941
5169
  const defaultOptions = (0, JSONSchemaUtils_exports.pickFieldFromJSONSchema)(Viz.config.optionsSchema, "default");
4942
5170
  const mergedOptions = (0, hocUtils_exports.deepMergeWithArrayPrimitiveOverrides)({}, options, defaultOptions);
4943
5171
  const {
@@ -4947,6 +5175,8 @@ var withTrellis = (Viz) => {
4947
5175
  trellisRowHeight,
4948
5176
  splitByLayout,
4949
5177
  trellisSplitBy,
5178
+ trellisSortBy,
5179
+ trellisSortOrder,
4950
5180
  trellisSharedScale,
4951
5181
  stackMode,
4952
5182
  yAxisMin,
@@ -5015,7 +5245,7 @@ var withTrellis = (Viz) => {
5015
5245
  }, [pageCount, trellisSplitBy]);
5016
5246
  (0, react_exports.useEffect)(() => {
5017
5247
  updateDataDisplay(pageNum);
5018
- }, [columns, fields, trellisSplitBy, pageNum, splitByLayout]);
5248
+ }, [columns, fields, trellisSplitBy, trellisSortBy, trellisSortOrder, pageNum, splitByLayout]);
5019
5249
  const handlePageChange = (0, react_exports.useCallback)(
5020
5250
  (event, { page }) => {
5021
5251
  setPageNum(page);
@@ -5023,9 +5253,7 @@ var withTrellis = (Viz) => {
5023
5253
  [pageNum, pagedData]
5024
5254
  );
5025
5255
  const featureFlagContext = react_exports.useContext(FeatureFlagContext_default);
5026
- const isTrellisFeatureFlagOn5 = Boolean(
5027
- featureFlagContext && featureFlagContext.visualizations_enableTrellis
5028
- );
5256
+ const isTrellisFeatureFlagOn5 = Boolean(featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableTrellis);
5029
5257
  if (!isTrellisFeatureFlagOn5 || !splitByLayout || splitByLayout !== visualization_schemas_exports.LAYOUT_TYPE.Trellis) {
5030
5258
  return /* @__PURE__ */ react_exports.createElement(Viz, __spreadValues({}, opts));
5031
5259
  }
@@ -5033,14 +5261,9 @@ var withTrellis = (Viz) => {
5033
5261
  if (noColumns || noFields) {
5034
5262
  return /* @__PURE__ */ react_exports.createElement(Message_default, { width, height, message: (0, i18n_exports._)("Loading"), level: "info" });
5035
5263
  }
5036
- let currTrellisSplitBy = trellisSplitBy;
5037
- if (!trellisSplitBy || trellisSplitBy.length === 0) {
5038
- const splitByPossibleFields = (0, trellisUtils_exports.getAllPossibleSplitByFields)(fields);
5039
- currTrellisSplitBy = splitByPossibleFields.fields && splitByPossibleFields.fields.length ? splitByPossibleFields.fields[0] : AGGREGATIONS;
5040
- }
5041
- const splitMode = (0, trellisUtils_exports.getTrellisDataSplitterMode)(fields);
5264
+ const currTrellisSplitBy = resolveTrellisSplitBy(trellisSplitBy, fields);
5042
5265
  const dataSplitResult = getTrellisDataSourcesBySplitMode(
5043
- splitMode,
5266
+ (0, trellisUtils_exports.getTrellisDataSplitterMode)(fields),
5044
5267
  dataSources,
5045
5268
  currTrellisSplitBy
5046
5269
  );
@@ -5049,12 +5272,19 @@ var withTrellis = (Viz) => {
5049
5272
  if (!modifiedDataSourceBySplitBy || Object.keys(modifiedDataSourceBySplitBy).length === 0 || dataSplitErrorCode) {
5050
5273
  return showErrorMessage(dataSplitErrorCode, width, height);
5051
5274
  }
5052
- const splitByKeysModified = modifiedDataSourceBySplitBy ? Object.keys(modifiedDataSourceBySplitBy) : [];
5053
- if (splitByKeysModified) {
5054
- showPaginator = splitByKeysModified.length > pageCount;
5055
- splitByKeys = splitByKeysModified;
5056
- totalPages = splitByKeysModified ? Math.ceil(splitByKeysModified.length / pageCount) : 0;
5057
- }
5275
+ const splitByKeysModified = Object.keys(modifiedDataSourceBySplitBy);
5276
+ const vizContext = (0, lodash_exports.defaultsDeep)({}, context, Viz.config.defaultContext);
5277
+ sortTrellisKeys(
5278
+ splitByKeysModified,
5279
+ trellisSortBy,
5280
+ trellisSortOrder,
5281
+ modifiedDataSourceBySplitBy,
5282
+ mergedOptions,
5283
+ vizContext
5284
+ );
5285
+ showPaginator = splitByKeysModified.length > pageCount;
5286
+ splitByKeys = splitByKeysModified;
5287
+ totalPages = Math.ceil(splitByKeysModified.length / pageCount);
5058
5288
  const [calculatedMin, calculatedMax] = determineMinMax(
5059
5289
  modifiedDataSourceBySplitBy,
5060
5290
  trellisSharedScale,
@@ -5088,6 +5318,7 @@ var withTrellis = (Viz) => {
5088
5318
  /* @__PURE__ */ react_exports.createElement(
5089
5319
  Viz,
5090
5320
  __spreadProps(__spreadValues({}, otherProps), {
5321
+ context,
5091
5322
  trellisKey: splitByKey,
5092
5323
  trellisSplitBy: currTrellisSplitBy,
5093
5324
  dataSources: modifiedDataSourceBySplitBy[splitByKey],