@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/Bar.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/Bar/index.ts
64
66
  var Bar_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
  [
@@ -1918,6 +1994,10 @@ var AxesChartLegendWithTrellisAndMode = ({
1918
1994
  });
1919
1995
 
1920
1996
  // src/common/editorConfig/AxesChartYGridAndLabels.ts
1997
+ var isAcceleratedRenderEnabled2 = ({ options, featureFlags }) => {
1998
+ const { acceleratedRender } = options;
1999
+ return isAcceleratedRenderFeatureFlagOn({ featureFlags }) && acceleratedRender;
2000
+ };
1921
2001
  var AxesChartYGridAndLabels = {
1922
2002
  label: (0, i18n_exports._)("Y-axis grid and labels"),
1923
2003
  layout: [
@@ -1982,7 +2062,8 @@ var AxesChartYGridAndLabels = {
1982
2062
  {
1983
2063
  label: (0, i18n_exports._)("Extend to whole grid"),
1984
2064
  option: "showYAxisExtendedRange",
1985
- editor: "editor.checkbox"
2065
+ editor: "editor.checkbox",
2066
+ showEditor: ({ options, featureFlags }) => !isAcceleratedRenderEnabled2({ options, featureFlags })
1986
2067
  }
1987
2068
  ],
1988
2069
  [
@@ -2538,7 +2619,7 @@ var prop_types_default = "default" in defaultImport30 ? defaultImport30.default
2538
2619
  var INITIAL_HEIGHT = 250;
2539
2620
  var SplunkVisualization = class {
2540
2621
  };
2541
- SplunkVisualization.propTypes = {
2622
+ __publicField(SplunkVisualization, "propTypes", {
2542
2623
  /**
2543
2624
  * display mode
2544
2625
  */
@@ -2614,11 +2695,11 @@ SplunkVisualization.propTypes = {
2614
2695
  * A callback to request new data with updated request params
2615
2696
  */
2616
2697
  onRequestParamsChange: prop_types_exports.func
2617
- };
2698
+ });
2618
2699
  /**
2619
2700
  *
2620
2701
  */
2621
- SplunkVisualization.defaults = {
2702
+ __publicField(SplunkVisualization, "defaults", {
2622
2703
  // BaseVisualization in dashboard-visualizations uses 100% for width but 250 for height
2623
2704
  width: "100%",
2624
2705
  height: INITIAL_HEIGHT,
@@ -2633,7 +2714,7 @@ SplunkVisualization.defaults = {
2633
2714
  onComputedProps: () => ({}),
2634
2715
  loading: false,
2635
2716
  onRequestParamsChange: lodash_exports.noop
2636
- };
2717
+ });
2637
2718
  var SplunkVisualization_default = SplunkVisualization;
2638
2719
 
2639
2720
  // src/common/hooks/useSorting.ts
@@ -2684,9 +2765,9 @@ var usePaginationParams = ({
2684
2765
  meta,
2685
2766
  onRequestParamsChange
2686
2767
  }) => {
2687
- const totalCount = meta && meta.totalCount || 0;
2688
- const offset = requestParams && requestParams.offset || 0;
2689
- const count = requestParams && requestParams.count;
2768
+ const totalCount = (meta == null ? void 0 : meta.totalCount) || 0;
2769
+ const offset = (requestParams == null ? void 0 : requestParams.offset) || 0;
2770
+ const count = requestParams == null ? void 0 : requestParams.count;
2690
2771
  const totalPages = typeof count === "number" && count > 0 ? Math.ceil(totalCount / count) : 0;
2691
2772
  const current = typeof count === "number" && count > 0 ? Math.floor(offset / count) + 1 : 0;
2692
2773
  const isPaging = totalPages > 1 && typeof onRequestParamsChange === "function";
@@ -2785,7 +2866,7 @@ var Cover = styled_components_default.div`
2785
2866
  bottom: 0;
2786
2867
  `;
2787
2868
  var Blocker = styled_components_default.div.attrs({
2788
- "data-splunk-visualization-version": "28.5.3 - 657435b86"
2869
+ "data-splunk-visualization-version": "28.7.0 - d7b18cab6"
2789
2870
  })`
2790
2871
  position: relative;
2791
2872
  width: 100%;
@@ -2866,7 +2947,7 @@ var withFixedSizeContainer = (Viz) => {
2866
2947
  FixSizeItem,
2867
2948
  {
2868
2949
  "data-test": "fix-size-item",
2869
- "data-splunk-visualization-version": "28.5.3 - 657435b86",
2950
+ "data-splunk-visualization-version": "28.7.0 - d7b18cab6",
2870
2951
  width,
2871
2952
  height,
2872
2953
  backgroundColor
@@ -3146,7 +3227,7 @@ var dataSourcesSplitByAggregationsUnknown = (dataSource) => {
3146
3227
  const columns = (_d = (_c = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _c.data) == null ? void 0 : _d.columns;
3147
3228
  let splitDataSources = null;
3148
3229
  let errorCode = null;
3149
- if (fields && fields.length) {
3230
+ if (fields == null ? void 0 : fields.length) {
3150
3231
  splitDataSources = {};
3151
3232
  for (let i = 0; i < fields.length; i += 1) {
3152
3233
  const fieldName = fields[i].name;
@@ -3197,7 +3278,7 @@ var dataSourcesSplitByAggregationsTimechartAndChart = (dataSource) => {
3197
3278
  }
3198
3279
  });
3199
3280
  });
3200
- } else if ((!splitByFields || !splitByFields.length) && fields.length > 1) {
3281
+ } else if (!(splitByFields == null ? void 0 : splitByFields.length) && fields.length > 1) {
3201
3282
  splitDataSources = {};
3202
3283
  for (let i = 1; i < fields.length; i += 1) {
3203
3284
  const fieldName = fields[i].name;
@@ -3253,7 +3334,7 @@ var dataSourcesSplitByModeTimechart = (dataSource, splitBy) => {
3253
3334
  if (fields.length > 0) {
3254
3335
  splitByFields = (0, trellisUtils_exports.extractSplitByFieldsChartFields)(fields);
3255
3336
  }
3256
- if (splitByFields && splitByFields.indexOf(splitBy) > -1) {
3337
+ if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
3257
3338
  splitDataSources = {};
3258
3339
  const dataSourceKeys = (0, trellisUtils_exports.extractDataSourceAggregationKeysChart)(fields);
3259
3340
  const valueKeys = [];
@@ -3284,6 +3365,68 @@ var dataSourcesSplitByModeTimechart = (dataSource, splitBy) => {
3284
3365
  }
3285
3366
  return { splitDataSources, errorCode };
3286
3367
  };
3368
+ var splitRowWise = (dataSource, columns, fields, otherSplitBy, dataSourceKeys, nonDataSourceAggregations) => {
3369
+ const splitDataSources = {};
3370
+ const valueKeys = (0, lodash_exports.cloneDeep)(columns[0]);
3371
+ valueKeys.forEach((val, idx) => {
3372
+ splitDataSources[val] = (0, lodash_exports.cloneDeep)((0, lodash_exports.omit)(dataSource, ["primary.data.fields", "primary.data.columns"]));
3373
+ splitDataSources[val].primary.data.fields = [];
3374
+ if (otherSplitBy.length) {
3375
+ splitDataSources[val].primary.data.fields = [{ name: otherSplitBy[0] }];
3376
+ }
3377
+ if (dataSourceKeys.length) {
3378
+ const columnValues = [[]];
3379
+ splitDataSources[val].primary.data.fields = [
3380
+ ...splitDataSources[val].primary.data.fields,
3381
+ ...dataSourceKeys.map((k) => ({ name: k }))
3382
+ ];
3383
+ dataSourceKeys.forEach(() => {
3384
+ columnValues.push([]);
3385
+ });
3386
+ for (let i = 1; i <= Math.ceil((fields.length - 1) / dataSourceKeys.length); i += 1) {
3387
+ columnValues[0].push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);
3388
+ dataSourceKeys.forEach((dskey, dsIndx) => {
3389
+ const mul = (fields.length - 1) / dataSourceKeys.length;
3390
+ columnValues[dsIndx + 1].push(columns[i + dsIndx * mul][idx]);
3391
+ });
3392
+ }
3393
+ splitDataSources[val].primary.data.columns = columnValues;
3394
+ } else if (nonDataSourceAggregations.length) {
3395
+ const columnValues = [];
3396
+ fields.forEach((aggregationField, fieldIdx) => {
3397
+ if (fieldIdx > 0) {
3398
+ splitDataSources[val].primary.data.fields.push(aggregationField);
3399
+ columnValues.push([columns[fieldIdx][idx]]);
3400
+ }
3401
+ });
3402
+ splitDataSources[val].primary.data.columns = columnValues;
3403
+ }
3404
+ });
3405
+ return splitDataSources;
3406
+ };
3407
+ var splitColumnWise = (dataSource, columns, fields, otherSplitBy, dataSourceKeys) => {
3408
+ const splitDataSources = {};
3409
+ const valueKeys = [];
3410
+ for (let i = 1; i < fields.length; i += 1) {
3411
+ valueKeys.push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);
3412
+ }
3413
+ valueKeys.forEach((val) => {
3414
+ splitDataSources[val] = (0, lodash_exports.cloneDeep)((0, lodash_exports.omit)(dataSource, ["primary.data.fields", "primary.data.columns"]));
3415
+ splitDataSources[val].primary.data.fields = [
3416
+ { name: otherSplitBy[0] },
3417
+ ...dataSourceKeys.map((k) => ({ name: k }))
3418
+ ];
3419
+ splitDataSources[val].primary.data.columns = [[...columns[0]]];
3420
+ dataSourceKeys.forEach((dsKey) => {
3421
+ fields.forEach((field, idx) => {
3422
+ if (field.data_source === dsKey && (field.splitby_value === val || field.name === val)) {
3423
+ splitDataSources[val].primary.data.columns.push([...columns[idx]]);
3424
+ }
3425
+ });
3426
+ });
3427
+ });
3428
+ return splitDataSources;
3429
+ };
3287
3430
  var dataSourcesSplitByModeChart = (dataSource, splitBy) => {
3288
3431
  var _a, _b, _c, _d;
3289
3432
  const fields = toFieldEntries((_b = (_a = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _a.data) == null ? void 0 : _b.fields);
@@ -3294,8 +3437,7 @@ var dataSourcesSplitByModeChart = (dataSource, splitBy) => {
3294
3437
  if (fields.length > 0) {
3295
3438
  splitByFields = (0, trellisUtils_exports.extractSplitByFieldsChartFields)(fields);
3296
3439
  }
3297
- if (splitByFields && splitByFields.indexOf(splitBy) > -1) {
3298
- splitDataSources = {};
3440
+ if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
3299
3441
  const splitByFieldIdx = splitByFields.findIndex((f) => f === splitBy);
3300
3442
  const otherSplitBy = splitByFields.filter((f) => f !== splitBy);
3301
3443
  const dataSourceKeys = (0, trellisUtils_exports.extractDataSourceAggregationKeysChart)(fields);
@@ -3306,71 +3448,16 @@ var dataSourcesSplitByModeChart = (dataSource, splitBy) => {
3306
3448
  }
3307
3449
  }
3308
3450
  if (splitByFieldIdx === 0) {
3309
- const valueKeys = (0, lodash_exports.cloneDeep)(columns[0]);
3310
- valueKeys.forEach((val, idx) => {
3311
- splitDataSources[val] = (0, lodash_exports.cloneDeep)(
3312
- (0, lodash_exports.omit)(dataSource, ["primary.data.fields", "primary.data.columns"])
3313
- );
3314
- splitDataSources[val].primary.data.fields = [];
3315
- if (otherSplitBy.length) {
3316
- splitDataSources[val].primary.data.fields = [{ name: otherSplitBy[0] }];
3317
- }
3318
- if (dataSourceKeys.length) {
3319
- const columnValues = [[]];
3320
- splitDataSources[val].primary.data.fields = [
3321
- ...splitDataSources[val].primary.data.fields,
3322
- ...dataSourceKeys.map((k) => ({
3323
- name: k
3324
- }))
3325
- ];
3326
- dataSourceKeys.forEach(() => {
3327
- columnValues.push([]);
3328
- });
3329
- for (let i = 1; i <= Math.ceil((fields.length - 1) / dataSourceKeys.length); i += 1) {
3330
- columnValues[0].push(
3331
- fields[i].splitby_value ? fields[i].splitby_value : fields[i].name
3332
- );
3333
- dataSourceKeys.forEach((dskey, dsIndx) => {
3334
- const mul = (fields.length - 1) / dataSourceKeys.length;
3335
- columnValues[dsIndx + 1].push(columns[i + dsIndx * mul][idx]);
3336
- });
3337
- }
3338
- splitDataSources[val].primary.data.columns = columnValues;
3339
- } else if (nonDataSourceAggregations.length) {
3340
- const columnValues = [];
3341
- fields.forEach((aggregationField, fieldIdx) => {
3342
- if (fieldIdx > 0) {
3343
- splitDataSources[val].primary.data.fields.push(aggregationField);
3344
- columnValues.push([columns[fieldIdx][idx]]);
3345
- }
3346
- });
3347
- splitDataSources[val].primary.data.columns = columnValues;
3348
- }
3349
- });
3451
+ splitDataSources = splitRowWise(
3452
+ dataSource,
3453
+ columns,
3454
+ fields,
3455
+ otherSplitBy,
3456
+ dataSourceKeys,
3457
+ nonDataSourceAggregations
3458
+ );
3350
3459
  } else {
3351
- const valueKeys = [];
3352
- for (let i = 1; i < fields.length; i += 1) {
3353
- valueKeys.push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);
3354
- }
3355
- valueKeys.forEach((val) => {
3356
- splitDataSources[val] = (0, lodash_exports.cloneDeep)(
3357
- (0, lodash_exports.omit)(dataSource, ["primary.data.fields", "primary.data.columns"])
3358
- );
3359
- splitDataSources[val].primary.data.fields = [
3360
- { name: otherSplitBy[0] },
3361
- ...dataSourceKeys.map((k) => ({
3362
- name: k
3363
- }))
3364
- ];
3365
- splitDataSources[val].primary.data.columns = [[...columns[0]]];
3366
- dataSourceKeys.forEach((dsKey) => {
3367
- fields.forEach((field, idx) => {
3368
- if (field.data_source === dsKey && (field.splitby_value === val || field.name === val)) {
3369
- splitDataSources[val].primary.data.columns.push([...columns[idx]]);
3370
- }
3371
- });
3372
- });
3373
- });
3460
+ splitDataSources = splitColumnWise(dataSource, columns, fields, otherSplitBy, dataSourceKeys);
3374
3461
  }
3375
3462
  } else {
3376
3463
  errorCode = "INVALID_SPLIT_BY_FIELD";
@@ -3388,7 +3475,7 @@ var dataSourcesSplitByModeStatsorUnknown = (dataSource, splitBy, splitMode) => {
3388
3475
  splitByFields = splitMode !== trellisUtils_exports.UNKNOWN ? (0, trellisUtils_exports.extractSplitByFieldsForStats)(fields) : (0, trellisUtils_exports.extractSplitByFieldsForUnknown)(fields);
3389
3476
  }
3390
3477
  const splitByIndex = fields.findIndex((field) => field.name === splitBy);
3391
- if (splitByFields && splitByFields.indexOf(splitBy) > -1) {
3478
+ if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
3392
3479
  const splitByColumn = (_f = (_e = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _e.data) == null ? void 0 : _f.columns[splitByIndex];
3393
3480
  splitDataSources = {};
3394
3481
  splitByColumn.forEach((val, idx) => {
@@ -3510,6 +3597,15 @@ var defaultImport36 = __toESM(require("@splunk/react-icons/Triangle"));
3510
3597
  __reExport(Triangle_exports, require("@splunk/react-icons/Triangle"));
3511
3598
  var Triangle_default = "default" in defaultImport36 ? defaultImport36.default : defaultImport36;
3512
3599
 
3600
+ // esm-externals:@splunk/visualizations-shared/propUtils
3601
+ var propUtils_exports = {};
3602
+ __export(propUtils_exports, {
3603
+ default: () => propUtils_default
3604
+ });
3605
+ var defaultImport37 = __toESM(require("@splunk/visualizations-shared/propUtils"));
3606
+ __reExport(propUtils_exports, require("@splunk/visualizations-shared/propUtils"));
3607
+ var propUtils_default = "default" in defaultImport37 ? defaultImport37.default : defaultImport37;
3608
+
3513
3609
  // src/common/chartingUtils.ts
3514
3610
  var DEFAULT_LINE_WIDTH = 2;
3515
3611
  var getAnnotationsForCanvas = ({
@@ -3639,9 +3735,9 @@ var shouldEnableSearchZoom = (eventHandlers = [], xField = "") => {
3639
3735
  const xAxisIsTime = xField === "_time";
3640
3736
  return !!rangeSelectEventHandler && xAxisIsTime;
3641
3737
  };
3642
- var canvasSupportedTimeSeriesCharts = ["splunk.line"];
3738
+ var canvasSupportedTimeSeriesCharts = ["splunk.line", "splunk.area"];
3643
3739
  var isTimeSeriesCanvasRenderSupported = (vizConfigKey) => {
3644
- return canvasSupportedTimeSeriesCharts.indexOf(vizConfigKey) > -1;
3740
+ return canvasSupportedTimeSeriesCharts.includes(vizConfigKey);
3645
3741
  };
3646
3742
  var filterChartDataFromInternalFields = (chartData) => {
3647
3743
  const { fields, columns } = chartData;
@@ -3796,46 +3892,66 @@ var getY2ScaleConfig = (label, axisAbbreviation, axisScale, roundAxisLabelsToInt
3796
3892
  }
3797
3893
  return y2Config;
3798
3894
  };
3799
- var getSeriesOverrides = (yfields, y2fields, lineWidth, overlayFields, y2Enabled, nullValueMode, markerDisplay, lineDashStyle, lineDashStylesByField, stepPosition, stepPositionsByField) => {
3895
+ var getSeriesType = (isOverlay, isAreaChart, isStacked) => {
3896
+ if (isOverlay) return "line";
3897
+ if (!isAreaChart) return void 0;
3898
+ return isStacked ? "stacked-area" : "area";
3899
+ };
3900
+ var getY2Scale = (field, y2fields, overlayFields) => {
3901
+ 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));
3902
+ return assignToY2 ? "y2" : "y";
3903
+ };
3904
+ var getSeriesOverrides = (opts) => {
3905
+ var _a;
3906
+ const {
3907
+ yfields,
3908
+ y2fields,
3909
+ lineWidth,
3910
+ overlayFields,
3911
+ y2Enabled,
3912
+ nullValueMode,
3913
+ markerDisplay,
3914
+ lineDashStyle,
3915
+ lineDashStylesByField,
3916
+ stepPosition,
3917
+ stepPositionsByField,
3918
+ type,
3919
+ stackMode,
3920
+ showLines
3921
+ } = opts;
3800
3922
  const seriesConfig = {};
3801
3923
  let spanGaps;
3802
- let replaceNullsWithZero;
3803
3924
  if (nullValueMode === "gaps") {
3804
3925
  spanGaps = false;
3805
- } else if (nullValueMode === "connect" || nullValueMode === "zero") {
3926
+ } else if (nullValueMode != null) {
3806
3927
  spanGaps = true;
3807
- if (nullValueMode === "zero") {
3808
- replaceNullsWithZero = true;
3809
- }
3928
+ } else {
3929
+ spanGaps = void 0;
3810
3930
  }
3811
- yfields.forEach((field) => {
3931
+ const replaceNullsWithZero = nullValueMode === "zero" ? true : void 0;
3932
+ const isAreaChart = type === "area";
3933
+ const isStacked = isAreaChart && (stackMode === "stacked" || stackMode === "stacked100");
3934
+ const areaFields = isAreaChart ? yfields.filter((f) => !(overlayFields == null ? void 0 : overlayFields.includes(f))) : yfields;
3935
+ const overlayFieldsInOrder = (_a = overlayFields == null ? void 0 : overlayFields.filter((f) => yfields.includes(f))) != null ? _a : [];
3936
+ const orderedFields = isAreaChart ? [...areaFields, ...overlayFieldsInOrder] : yfields;
3937
+ orderedFields.forEach((field) => {
3938
+ var _a2;
3939
+ const isOverlay = (_a2 = overlayFields == null ? void 0 : overlayFields.includes(field)) != null ? _a2 : false;
3940
+ const isPercent = isAreaChart && stackMode === "stacked100" && !isOverlay;
3941
+ const shouldHideAreaOutline = isAreaChart && showLines === false && !isOverlay;
3812
3942
  seriesConfig[field] = {
3813
- overrides: { width: lineWidth != null ? lineWidth : DEFAULT_LINE_WIDTH }
3943
+ overrides: __spreadValues({
3944
+ width: shouldHideAreaOutline ? 0 : lineWidth != null ? lineWidth : DEFAULT_LINE_WIDTH
3945
+ }, isPercent ? { stacking: { mode: "percent", group: "A" } } : {})
3814
3946
  };
3815
- if (spanGaps !== void 0) {
3816
- seriesConfig[field].overrides.spanGaps = spanGaps;
3817
- }
3818
- if (y2Enabled) {
3819
- const shouldAssignToY2 = (
3820
- // If y2Fields are present, assign all y2Fields to y2 scale
3821
- (y2fields == null ? void 0 : y2fields.length) > 0 && y2fields.includes(field) || // Else, assign all overlayFields to y2 scale
3822
- (!y2fields || y2fields.length === 0) && (overlayFields == null ? void 0 : overlayFields.includes(field))
3823
- );
3824
- if (shouldAssignToY2) {
3825
- seriesConfig[field].overrides.scale = "y2";
3826
- } else {
3827
- seriesConfig[field].overrides.scale = "y";
3828
- }
3829
- }
3830
- if (overlayFields == null ? void 0 : overlayFields.includes(field)) {
3831
- seriesConfig[field].type = "line";
3832
- }
3833
- if (markerDisplay !== void 0) {
3834
- seriesConfig[field].markerDisplay = markerDisplay;
3835
- }
3836
- const fieldDashStyle = (lineDashStylesByField == null ? void 0 : lineDashStylesByField[field]) || lineDashStyle;
3837
- if (fieldDashStyle) {
3838
- seriesConfig[field].lineDashStyle = fieldDashStyle;
3947
+ const seriesType = getSeriesType(isOverlay, isAreaChart, isStacked);
3948
+ if (seriesType !== void 0) seriesConfig[field].type = seriesType;
3949
+ if (spanGaps !== void 0) seriesConfig[field].overrides.spanGaps = spanGaps;
3950
+ if (y2Enabled) seriesConfig[field].overrides.scale = getY2Scale(field, y2fields, overlayFields);
3951
+ if (markerDisplay !== void 0) seriesConfig[field].markerDisplay = markerDisplay;
3952
+ if (!isAreaChart || isOverlay) {
3953
+ const fieldDashStyle = (lineDashStylesByField == null ? void 0 : lineDashStylesByField[field]) || lineDashStyle;
3954
+ if (fieldDashStyle) seriesConfig[field].lineDashStyle = fieldDashStyle;
3839
3955
  }
3840
3956
  const hasFieldStepPosition = Object.hasOwn(stepPositionsByField || {}, field);
3841
3957
  const fieldStepPosition = hasFieldStepPosition ? stepPositionsByField == null ? void 0 : stepPositionsByField[field] : stepPosition;
@@ -4001,6 +4117,38 @@ var parseArrayOption = (value) => {
4001
4117
  }
4002
4118
  return void 0;
4003
4119
  };
4120
+ var getAreaOpacityForCanvas = (areaOpacity) => (
4121
+ // Preserve legacy visualizations behavior where area opacity is squared to match charting output.
4122
+ areaOpacity !== void 0 && areaOpacity !== null ? __pow(areaOpacity, 2) : areaOpacity
4123
+ );
4124
+ var parseTickIntervalOption = (simpleXMLValue, canvasValue) => {
4125
+ if (simpleXMLValue) return Number(simpleXMLValue);
4126
+ if (canvasValue) return Number(canvasValue);
4127
+ return void 0;
4128
+ };
4129
+ var getYAxisTitles = ({
4130
+ y2Enabled,
4131
+ yFields,
4132
+ y2Fields,
4133
+ overlayFields,
4134
+ yAxisTitleText,
4135
+ yAxisTitleVisibility,
4136
+ y2AxisTitleText,
4137
+ y2AxisTitleVisibility,
4138
+ containerHeight
4139
+ }) => {
4140
+ const yFieldsForTitle = y2Enabled ? yFields.filter((field) => !y2Fields.includes(field)) : yFields;
4141
+ const fieldsForY2Axis = y2Fields.length > 0 ? y2Fields : overlayFields;
4142
+ const yAxisTitle = ellipsisAxisTitle(
4143
+ getComputedAxisTitles(yAxisTitleText, yFieldsForTitle, yAxisTitleVisibility),
4144
+ containerHeight
4145
+ );
4146
+ const y2AxisTitle = ellipsisAxisTitle(
4147
+ getComputedAxisTitles(y2AxisTitleText, fieldsForY2Axis, y2AxisTitleVisibility),
4148
+ containerHeight
4149
+ );
4150
+ return { yAxisTitle, y2AxisTitle };
4151
+ };
4004
4152
  var TimeSeriesChartWrapper = (props) => {
4005
4153
  var _b, _c, _d;
4006
4154
  const _a = props, {
@@ -4090,6 +4238,8 @@ var TimeSeriesChartWrapper = (props) => {
4090
4238
  "chart.overlayFields": overlayFieldsStr,
4091
4239
  "chart.nullValueMode": nullValueMode,
4092
4240
  "chart.showDataLabels": showDataLabels,
4241
+ "chart.showLines": showLines,
4242
+ "chart.stackMode": stackMode,
4093
4243
  lineWidth,
4094
4244
  lineDashStyle,
4095
4245
  fieldDashStyles: lineDashStylesByFieldStr,
@@ -4118,7 +4268,10 @@ var TimeSeriesChartWrapper = (props) => {
4118
4268
  yAxisMinorTickSize,
4119
4269
  y2AxisMinorTickSize,
4120
4270
  showYAxisWithZero: showYAxisWithZeroFromOptions,
4121
- showY2AxisWithZero: showY2AxisWithZeroFromOptions
4271
+ showY2AxisWithZero: showY2AxisWithZeroFromOptions,
4272
+ // area only props
4273
+ areaFillOpacity: areaOpacity,
4274
+ chart: chartType
4122
4275
  } = options;
4123
4276
  const dataValuesDisplay = showDataLabels === "none" ? "off" : showDataLabels;
4124
4277
  const showYAxisWithZero = showYAxisWithZeroFromProps != null ? showYAxisWithZeroFromProps : showYAxisWithZeroFromOptions;
@@ -4135,13 +4288,11 @@ var TimeSeriesChartWrapper = (props) => {
4135
4288
  const yAxisMax = parseAxisValue(yAxisMaxRaw);
4136
4289
  const y2AxisMin = parseAxisValue(y2AxisMinRaw);
4137
4290
  const y2AxisMax = parseAxisValue(y2AxisMaxRaw);
4138
- const parseTickInterval = (simpleXMLValue, canvasValue) => {
4139
- if (simpleXMLValue) return Number(simpleXMLValue);
4140
- if (canvasValue) return Number(canvasValue);
4141
- return void 0;
4142
- };
4143
- const yAxisMajorTickIntervalNum = parseTickInterval(yAxisMajorUnitFromSimpleXML, yAxisMajorTickInterval);
4144
- const y2AxisMajorTickIntervalNum = parseTickInterval(
4291
+ const yAxisMajorTickIntervalNum = parseTickIntervalOption(
4292
+ yAxisMajorUnitFromSimpleXML,
4293
+ yAxisMajorTickInterval
4294
+ );
4295
+ const y2AxisMajorTickIntervalNum = parseTickIntervalOption(
4145
4296
  y2AxisMajorUnitFromSimpleXML,
4146
4297
  y2AxisMajorTickInterval
4147
4298
  );
@@ -4150,6 +4301,7 @@ var TimeSeriesChartWrapper = (props) => {
4150
4301
  const y2AxisMajorTickSizeNum = y2AxisMajorTickSize != null ? Number(y2AxisMajorTickSize) : void 0;
4151
4302
  const yAxisMinorTickSizeNum = yAxisMinorTickSize != null ? Number(yAxisMinorTickSize) : void 0;
4152
4303
  const y2AxisMinorTickSizeNum = y2AxisMinorTickSize != null ? Number(y2AxisMinorTickSize) : void 0;
4304
+ const areaOpacityForCanvas = getAreaOpacityForCanvas(areaOpacity);
4153
4305
  const seriesColors = seriesColorsStr ? JSON.parse(seriesColorsStr) : void 0;
4154
4306
  const seriesColorsByField = fieldColors ? JSON.parse(fieldColors) : void 0;
4155
4307
  const lineDashStylesByField = lineDashStylesByFieldStr ? JSON.parse(lineDashStylesByFieldStr) : void 0;
@@ -4180,26 +4332,40 @@ var TimeSeriesChartWrapper = (props) => {
4180
4332
  );
4181
4333
  let xAxisTitle = getComputedAxisTitles(xAxisTitleText, [xField], xAxisTitleVisibility);
4182
4334
  xAxisTitle = ellipsisAxisTitle(xAxisTitle, containerWidth);
4183
- const yFieldsForTitle = y2Enabled ? yFields.filter((field) => !y2Fields.includes(field)) : yFields;
4184
- let yAxisTitle = getComputedAxisTitles(yAxisTitleText, yFieldsForTitle, yAxisTitleVisibility);
4185
- yAxisTitle = ellipsisAxisTitle(yAxisTitle, containerHeight);
4186
- const fieldsForY2Axis = y2Fields.length > 0 ? y2Fields : overlayFields;
4187
- let y2AxisTitle = getComputedAxisTitles(y2AxisTitleText, fieldsForY2Axis, y2AxisTitleVisibility);
4188
- y2AxisTitle = ellipsisAxisTitle(y2AxisTitle, containerHeight);
4335
+ const { yAxisTitle, y2AxisTitle } = getYAxisTitles({
4336
+ y2Enabled,
4337
+ yFields,
4338
+ y2Fields,
4339
+ overlayFields,
4340
+ yAxisTitleText,
4341
+ yAxisTitleVisibility,
4342
+ y2AxisTitleText,
4343
+ y2AxisTitleVisibility,
4344
+ containerHeight
4345
+ });
4189
4346
  const xScaleConfig = (0, react_exports.useMemo)(
4190
4347
  () => getXScaleConfig(xAxisTitle, xAxisLabelVisibility, xAxisLabelRotation),
4191
4348
  [xAxisTitle, xAxisLabelVisibility, xAxisLabelRotation]
4192
4349
  );
4350
+ const isStacked100 = stackMode === "stacked100";
4193
4351
  const yScaleConfig = (0, react_exports.useMemo)(
4194
- () => getYScaleConfig(
4195
- yAxisTitle,
4196
- yAxisAbbreviation,
4197
- yAxisScale,
4198
- yAxisLabelVisibility,
4199
- yAxisMin,
4200
- yAxisMax
4201
- ),
4202
- [yAxisTitle, yAxisAbbreviation, yAxisScale, yAxisLabelVisibility, yAxisMin, yAxisMax]
4352
+ () => {
4353
+ const config2 = getYScaleConfig(
4354
+ yAxisTitle,
4355
+ yAxisAbbreviation,
4356
+ yAxisScale,
4357
+ yAxisLabelVisibility,
4358
+ yAxisMin,
4359
+ yAxisMax
4360
+ );
4361
+ if (isStacked100) {
4362
+ config2.y.tickFmt = (v) => `${Math.round(v * 100)}%`;
4363
+ config2.y.range = () => [0, 1];
4364
+ }
4365
+ return config2;
4366
+ },
4367
+ // eslint-disable-next-line react-hooks/exhaustive-deps
4368
+ [yAxisTitle, yAxisAbbreviation, yAxisScale, yAxisLabelVisibility, yAxisMin, yAxisMax, isStacked100]
4203
4369
  );
4204
4370
  const y2ScaleConfig = (0, react_exports.useMemo)(() => {
4205
4371
  if (y2Enabled) {
@@ -4231,10 +4397,11 @@ var TimeSeriesChartWrapper = (props) => {
4231
4397
  ];
4232
4398
  chartData.fields = filteredChartData.fields;
4233
4399
  chartData.columns = seriesDataFormatted;
4400
+ const normalizedStackMode = stackMode === "stacked" || stackMode === "stacked100" ? stackMode : "auto";
4234
4401
  const seriesOverrides = (0, react_exports.useMemo)(
4235
- () => getSeriesOverrides(
4236
- yFields,
4237
- y2Fields,
4402
+ () => getSeriesOverrides({
4403
+ yfields: yFields,
4404
+ y2fields: y2Fields,
4238
4405
  lineWidth,
4239
4406
  overlayFields,
4240
4407
  y2Enabled,
@@ -4243,8 +4410,11 @@ var TimeSeriesChartWrapper = (props) => {
4243
4410
  lineDashStyle,
4244
4411
  lineDashStylesByField,
4245
4412
  stepPosition,
4246
- stepPositionsByField
4247
- ),
4413
+ stepPositionsByField,
4414
+ type: chartType,
4415
+ stackMode: normalizedStackMode,
4416
+ showLines
4417
+ }),
4248
4418
  [
4249
4419
  yFields,
4250
4420
  y2Fields,
@@ -4256,7 +4426,10 @@ var TimeSeriesChartWrapper = (props) => {
4256
4426
  lineDashStyle,
4257
4427
  lineDashStylesByField,
4258
4428
  stepPosition,
4259
- stepPositionsByField
4429
+ stepPositionsByField,
4430
+ chartType,
4431
+ normalizedStackMode,
4432
+ showLines
4260
4433
  ]
4261
4434
  );
4262
4435
  const chartingEventAnnotations = (0, react_exports.useMemo)(
@@ -4324,50 +4497,54 @@ var TimeSeriesChartWrapper = (props) => {
4324
4497
  react_exports.useEffect(() => {
4325
4498
  additionalTooltipValuesRef.current = additionalTooltipValues;
4326
4499
  }, [additionalTooltipValues]);
4500
+ const handleCrosshairMouseout = react_exports.useCallback(() => {
4501
+ if (onPointMouseOut && lastPayloadRef.current) {
4502
+ onPointMouseOut({
4503
+ type: "point.mouseout",
4504
+ originalEvent: lastOriginalEventRef.current,
4505
+ payload: lastPayloadRef.current
4506
+ });
4507
+ }
4508
+ previousMouseoverPayloadRef.current = null;
4509
+ }, [onPointMouseOut]);
4327
4510
  const handleChartCrosshairChange = react_exports.useCallback(
4328
4511
  (event) => {
4329
- if (onPointMouseOver || onPointMouseOut) {
4330
- if (!event) {
4331
- if (onPointMouseOut && lastPayloadRef.current) {
4332
- onPointMouseOut({
4333
- type: "point.mouseout",
4334
- originalEvent: lastOriginalEventRef.current,
4335
- payload: lastPayloadRef.current
4336
- });
4337
- }
4338
- previousMouseoverPayloadRef.current = null;
4339
- return;
4340
- }
4341
- const payload = __spreadProps(__spreadValues({}, (0, lodash_exports.pick)(event, "value", "seriesKey", "time", "index", "seriesIndex")), {
4342
- name: event.seriesKey
4512
+ if (!onPointMouseOver && !onPointMouseOut) {
4513
+ return;
4514
+ }
4515
+ if (!event) {
4516
+ handleCrosshairMouseout();
4517
+ return;
4518
+ }
4519
+ const payload = __spreadProps(__spreadValues({}, (0, lodash_exports.pick)(event, "value", "seriesKey", "time", "index", "seriesIndex")), {
4520
+ name: event.seriesKey
4521
+ });
4522
+ delete payload.seriesKey;
4523
+ if (event.rowContext) {
4524
+ Object.assign(
4525
+ payload,
4526
+ Object.keys(event.rowContext).reduce((acc, fieldName) => {
4527
+ acc[`row.${fieldName}.value`] = event.rowContext[fieldName];
4528
+ return acc;
4529
+ }, {})
4530
+ );
4531
+ }
4532
+ const updatedPayload = appendTrellisToPayload2(payload, trellisKey, trellisSplitBy);
4533
+ if (!hasMouseoverPayloadChanged(updatedPayload, previousMouseoverPayloadRef.current)) {
4534
+ return;
4535
+ }
4536
+ lastPayloadRef.current = updatedPayload;
4537
+ lastOriginalEventRef.current = event;
4538
+ previousMouseoverPayloadRef.current = __spreadValues({}, updatedPayload);
4539
+ if (onPointMouseOver) {
4540
+ onPointMouseOver({
4541
+ type: "point.mouseover",
4542
+ originalEvent: event,
4543
+ payload: updatedPayload
4343
4544
  });
4344
- delete payload.seriesKey;
4345
- if (event.rowContext) {
4346
- Object.assign(
4347
- payload,
4348
- Object.keys(event.rowContext).reduce((acc, fieldName) => {
4349
- acc[`row.${fieldName}.value`] = event.rowContext[fieldName];
4350
- return acc;
4351
- }, {})
4352
- );
4353
- }
4354
- const updatedPayload = appendTrellisToPayload2(payload, trellisKey, trellisSplitBy);
4355
- if (!hasMouseoverPayloadChanged(updatedPayload, previousMouseoverPayloadRef.current)) {
4356
- return;
4357
- }
4358
- lastPayloadRef.current = updatedPayload;
4359
- lastOriginalEventRef.current = event;
4360
- previousMouseoverPayloadRef.current = __spreadValues({}, updatedPayload);
4361
- if (onPointMouseOver) {
4362
- onPointMouseOver({
4363
- type: "point.mouseover",
4364
- originalEvent: event,
4365
- payload: updatedPayload
4366
- });
4367
- }
4368
4545
  }
4369
4546
  },
4370
- [onPointMouseOver, onPointMouseOut, trellisKey, trellisSplitBy]
4547
+ [onPointMouseOver, onPointMouseOut, trellisKey, trellisSplitBy, handleCrosshairMouseout]
4371
4548
  );
4372
4549
  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}`;
4373
4550
  const memoizedChart = (0, react_exports.useMemo)(() => {
@@ -4422,7 +4599,8 @@ var TimeSeriesChartWrapper = (props) => {
4422
4599
  showXAxisLine,
4423
4600
  showYAxisLine,
4424
4601
  showY2AxisLine,
4425
- xAxisMaxLabelParts
4602
+ xAxisMaxLabelParts,
4603
+ areaOpacity: areaOpacityForCanvas
4426
4604
  }
4427
4605
  ));
4428
4606
  }, [
@@ -4474,7 +4652,8 @@ var TimeSeriesChartWrapper = (props) => {
4474
4652
  showYAxisLine,
4475
4653
  showY2AxisLine,
4476
4654
  legendMode,
4477
- xAxisMaxLabelParts
4655
+ xAxisMaxLabelParts,
4656
+ areaOpacityForCanvas
4478
4657
  ]);
4479
4658
  const memoizedVisualization = (0, react_exports.useMemo)(() => {
4480
4659
  return /* @__PURE__ */ react_exports.createElement(VizStyleWrapper_default, { backgroundColor: bgColor }, memoizedChart);
@@ -4502,6 +4681,37 @@ var TimeSeriesChartWrapper_default = TimeSeriesChartWrapper;
4502
4681
 
4503
4682
  // src/common/withDashboardViz.tsx
4504
4683
  var SanitizedTimeSeriesChartWrapper = (0, SanitizeProps_exports.withSanitizedProps)(TimeSeriesChartWrapper_default);
4684
+ var buildEventCallbackProps = (supportedEvents, evaluatedOptionsToUse, onEventTrigger) => {
4685
+ const result = {};
4686
+ Object.keys(supportedEvents).forEach((eventName) => {
4687
+ const { parentKeys, payloadKeys } = supportedEvents[eventName];
4688
+ const eventCallbackPropName = (0, lodash_exports.camelCase)(`on.${eventName}`);
4689
+ let payload = {};
4690
+ if (Array.isArray(payloadKeys) && payloadKeys.length) {
4691
+ payloadKeys.forEach((p) => {
4692
+ payload[p] = evaluatedOptionsToUse[p];
4693
+ });
4694
+ }
4695
+ result[eventCallbackPropName] = (ev) => {
4696
+ if (ev == null ? void 0 : ev.payload) {
4697
+ payload = __spreadValues({}, ev.payload);
4698
+ }
4699
+ return onEventTrigger({
4700
+ originalEvent: ev,
4701
+ payload,
4702
+ type: eventName
4703
+ });
4704
+ };
4705
+ if (parentKeys) {
4706
+ for (let i = parentKeys.length - 1; i >= 0; i -= 1) {
4707
+ const newObject = {};
4708
+ newObject[parentKeys[i]] = result[eventCallbackPropName];
4709
+ result[eventCallbackPropName] = newObject;
4710
+ }
4711
+ }
4712
+ });
4713
+ return result;
4714
+ };
4505
4715
  var withDashboardViz = (opts) => {
4506
4716
  const {
4507
4717
  ReactViz,
@@ -4559,9 +4769,7 @@ var withDashboardViz = (opts) => {
4559
4769
  const isDownsamplingEnabledByFeatureFlag = Boolean(
4560
4770
  featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableDownsampling
4561
4771
  );
4562
- const isTrellisFeatureFlagOn5 = Boolean(
4563
- featureFlagContext && featureFlagContext.visualizations_enableTrellis
4564
- );
4772
+ const isTrellisFeatureFlagOn5 = Boolean(featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableTrellis);
4565
4773
  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 */;
4566
4774
  const isAcceleratedRenderFeatureFlagOn2 = Boolean(
4567
4775
  featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableAcceleratedRender
@@ -4726,38 +4934,12 @@ var withDashboardViz = (opts) => {
4726
4934
  }
4727
4935
  );
4728
4936
  }
4729
- const eventCallbackProps = {};
4730
- if (hasEventHandlers && mode === "view" && vizConfig.supports.indexOf("events" /* EVENTS */) > -1) {
4731
- const supportedEvents = vizConfig.events;
4732
- Object.keys(supportedEvents).forEach((eventName) => {
4733
- const { parentKeys, payloadKeys } = supportedEvents[eventName];
4734
- const eventCallbackPropName = (0, lodash_exports.camelCase)(`on.${eventName}`);
4735
- let payload = {};
4736
- if (Array.isArray(payloadKeys) && payloadKeys.length) {
4737
- payloadKeys.forEach((p) => {
4738
- payload[p] = evaluatedOptionsToUse[p];
4739
- });
4740
- }
4741
- eventCallbackProps[eventCallbackPropName] = (ev) => {
4742
- if (ev == null ? void 0 : ev.payload) {
4743
- payload = __spreadValues({}, ev.payload);
4744
- }
4745
- return onEventTrigger({
4746
- originalEvent: ev,
4747
- payload,
4748
- type: eventName
4749
- });
4750
- };
4751
- if (parentKeys) {
4752
- for (let i = parentKeys.length - 1; i >= 0; i -= 1) {
4753
- const newObject = {};
4754
- newObject[parentKeys[i]] = eventCallbackProps[eventCallbackPropName];
4755
- eventCallbackProps[eventCallbackPropName] = newObject;
4756
- }
4757
- }
4758
- });
4759
- }
4760
- const computedVizProps = computeVizProps2(__spreadProps(__spreadValues(__spreadValues(__spreadValues({}, props), evaluatedOptionsToUse), eventCallbackProps), {
4937
+ const eventCallbackProps = hasEventHandlers && mode === "view" && vizConfig.supports.includes("events" /* EVENTS */) ? buildEventCallbackProps(vizConfig.events, evaluatedOptionsToUse, onEventTrigger) : {};
4938
+ const computedVizProps = computeVizProps2(__spreadProps(__spreadValues(__spreadProps(__spreadValues(__spreadValues({}, props), evaluatedOptionsToUse), {
4939
+ // Align option transformation with the actual renderer selected below.
4940
+ // This prevents canvas-only option preservation from leaking into Highcharts mode.
4941
+ isAcceleratedRenderOn
4942
+ }), eventCallbackProps), {
4761
4943
  themeFunc
4762
4944
  }));
4763
4945
  if (useAsyncEvaluatedOptions && Object.keys(evaluatedOptionsToUse).length === 0) {
@@ -4786,15 +4968,6 @@ var withDashboardViz = (opts) => {
4786
4968
  };
4787
4969
  var withDashboardViz_default = withDashboardViz;
4788
4970
 
4789
- // esm-externals:@splunk/visualizations-shared/propUtils
4790
- var propUtils_exports = {};
4791
- __export(propUtils_exports, {
4792
- default: () => propUtils_default
4793
- });
4794
- var defaultImport37 = __toESM(require("@splunk/visualizations-shared/propUtils"));
4795
- __reExport(propUtils_exports, require("@splunk/visualizations-shared/propUtils"));
4796
- var propUtils_default = "default" in defaultImport37 ? defaultImport37.default : defaultImport37;
4797
-
4798
4971
  // src/Bar/barUtils.ts
4799
4972
  var barOptionsSCMapping = {
4800
4973
  yAxisMajorTickInterval: "yAxisMajorUnit",
@@ -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],