@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/Area.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/Area/index.ts
64
66
  var Area_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);
@@ -1225,26 +1249,59 @@ var isTrellisEnabled2 = ({ options, featureFlags }) => {
1225
1249
  const { splitByLayout = visualization_schemas_exports.LAYOUT_TYPE.Off } = options;
1226
1250
  return isTrellisFeatureFlagOn2({ featureFlags }) && splitByLayout === visualization_schemas_exports.LAYOUT_TYPE.Trellis;
1227
1251
  };
1228
- var TrellisEditorConfig = [
1229
- [
1230
- {
1231
- label: (0, i18n_exports._)("Trellis layout"),
1232
- option: "splitByLayout",
1233
- editor: "editor.toggle",
1234
- showEditor: isTrellisFeatureFlagOn2
1235
- }
1236
- ],
1237
- [
1238
- {
1239
- label: (0, i18n_exports._)("Split by"),
1240
- option: "trellisSplitBy",
1241
- editor: "editor.trellisSplitBy",
1242
- editorProps: {
1243
- dataSourceKey: "primary"
1244
- },
1245
- showEditor: isTrellisEnabled2
1246
- }
1247
- ],
1252
+ var sortByValuesBase = [
1253
+ { label: (0, i18n_exports._)("Result"), value: "result" },
1254
+ { label: (0, i18n_exports._)("Name"), value: "name" }
1255
+ ];
1256
+ var sortByValuesWithValue = [...sortByValuesBase, { label: (0, i18n_exports._)("Value"), value: "value" }];
1257
+ var sortByValuesWithValueAndTrend = [
1258
+ ...sortByValuesBase,
1259
+ { label: (0, i18n_exports._)("Value"), value: "value" },
1260
+ { label: (0, i18n_exports._)("Trend"), value: "trend" }
1261
+ ];
1262
+ var makeSortRow = (sortByValues) => [
1263
+ {
1264
+ label: (0, i18n_exports._)("Sort by"),
1265
+ option: "trellisSortBy",
1266
+ editor: "editor.select",
1267
+ editorProps: {
1268
+ values: sortByValues
1269
+ },
1270
+ showEditor: isTrellisEnabled2
1271
+ },
1272
+ {
1273
+ label: (0, i18n_exports._)("Sort order"),
1274
+ option: "trellisSortOrder",
1275
+ editor: "editor.select",
1276
+ editorProps: {
1277
+ values: [
1278
+ { label: (0, i18n_exports._)("Ascending"), value: "ascending" },
1279
+ { label: (0, i18n_exports._)("Descending"), value: "descending" }
1280
+ ]
1281
+ },
1282
+ showEditor: isTrellisEnabled2
1283
+ }
1284
+ ];
1285
+ var trellisLayoutRow = [
1286
+ {
1287
+ label: (0, i18n_exports._)("Trellis layout"),
1288
+ option: "splitByLayout",
1289
+ editor: "editor.toggle",
1290
+ showEditor: isTrellisFeatureFlagOn2
1291
+ }
1292
+ ];
1293
+ var trellisSplitByRow = [
1294
+ {
1295
+ label: (0, i18n_exports._)("Split by"),
1296
+ option: "trellisSplitBy",
1297
+ editor: "editor.trellisSplitBy",
1298
+ editorProps: {
1299
+ dataSourceKey: "primary"
1300
+ },
1301
+ showEditor: isTrellisEnabled2
1302
+ }
1303
+ ];
1304
+ var trellisLayoutRows = [
1248
1305
  [
1249
1306
  {
1250
1307
  label: (0, i18n_exports._)("Number of columns"),
@@ -1288,6 +1345,24 @@ var TrellisEditorConfig = [
1288
1345
  }
1289
1346
  ]
1290
1347
  ];
1348
+ var TrellisEditorConfig = [
1349
+ trellisLayoutRow,
1350
+ trellisSplitByRow,
1351
+ makeSortRow(sortByValuesBase),
1352
+ ...trellisLayoutRows
1353
+ ];
1354
+ var GaugeTrellisEditorConfig = [
1355
+ trellisLayoutRow,
1356
+ trellisSplitByRow,
1357
+ makeSortRow(sortByValuesWithValue),
1358
+ ...trellisLayoutRows
1359
+ ];
1360
+ var SingleValueTrellisEditorConfig = [
1361
+ trellisLayoutRow,
1362
+ trellisSplitByRow,
1363
+ makeSortRow(sortByValuesWithValueAndTrend),
1364
+ ...trellisLayoutRows
1365
+ ];
1291
1366
  var TimechartTrellisEditorConfig = [
1292
1367
  [
1293
1368
  {
@@ -1295,7 +1370,6 @@ var TimechartTrellisEditorConfig = [
1295
1370
  option: "splitByLayout",
1296
1371
  editor: "editor.toggle",
1297
1372
  showEditor: isTrellisFeatureFlagOn2,
1298
- // add help text for timecharts
1299
1373
  editorProps: {
1300
1374
  help: (0, i18n_exports._)(
1301
1375
  "Y2-axis and overlay field configurations are not supported when trellis is enabled."
@@ -1304,7 +1378,9 @@ var TimechartTrellisEditorConfig = [
1304
1378
  }
1305
1379
  }
1306
1380
  ],
1307
- ...TrellisEditorConfig.slice(1),
1381
+ trellisSplitByRow,
1382
+ makeSortRow(sortByValuesBase),
1383
+ ...trellisLayoutRows,
1308
1384
  [
1309
1385
  {
1310
1386
  label: (0, i18n_exports._)("Shared y-axis scale"),
@@ -1386,7 +1462,7 @@ var AxesChartDataDisplayBase = {
1386
1462
  editorProps: {
1387
1463
  filterByTypes: ["number"]
1388
1464
  },
1389
- isDisabled: isTrellisEnabled3
1465
+ isDisabled: ({ options, featureFlags }) => isTrellisEnabled3({ options, featureFlags }) || options.stackMode === "stacked100"
1390
1466
  }
1391
1467
  ],
1392
1468
  [
@@ -1911,6 +1987,10 @@ var AxesChartXGridAndLabelsBubbleScatter = {
1911
1987
  var AxesChartXGridAndLabels_default = AxesChartXGridAndLabels;
1912
1988
 
1913
1989
  // src/common/editorConfig/AxesChartYGridAndLabels.ts
1990
+ var isAcceleratedRenderEnabled2 = ({ options, featureFlags }) => {
1991
+ const { acceleratedRender } = options;
1992
+ return isAcceleratedRenderFeatureFlagOn({ featureFlags }) && acceleratedRender;
1993
+ };
1914
1994
  var AxesChartYGridAndLabels = {
1915
1995
  label: (0, i18n_exports._)("Y-axis grid and labels"),
1916
1996
  layout: [
@@ -1975,7 +2055,8 @@ var AxesChartYGridAndLabels = {
1975
2055
  {
1976
2056
  label: (0, i18n_exports._)("Extend to whole grid"),
1977
2057
  option: "showYAxisExtendedRange",
1978
- editor: "editor.checkbox"
2058
+ editor: "editor.checkbox",
2059
+ showEditor: ({ options, featureFlags }) => !isAcceleratedRenderEnabled2({ options, featureFlags })
1979
2060
  }
1980
2061
  ],
1981
2062
  [
@@ -2272,6 +2353,7 @@ var axesChartY2GridAndLabels = {
2272
2353
  var AxesChartY2GridAndLabels_default = axesChartY2GridAndLabels;
2273
2354
 
2274
2355
  // src/Area/config.ts
2356
+ var hasSteppedInterpolationEnabled = ({ options }) => (options == null ? void 0 : options.stepPosition) === "before" || (options == null ? void 0 : options.stepPosition) === "after";
2275
2357
  var dataContract = {
2276
2358
  requiredDataSources: [
2277
2359
  {
@@ -2306,7 +2388,9 @@ var themes2 = {
2306
2388
  })(props)
2307
2389
  };
2308
2390
  var editorConfig = [
2309
- AxesChartDataConfigAreaColumnLine,
2391
+ __spreadProps(__spreadValues({}, AxesChartDataConfigAreaColumnLine), {
2392
+ layout: [...AcceleratedRenderEditorLayout, ...AxesChartDataConfigAreaColumnLine.layout]
2393
+ }),
2310
2394
  AxesChartDataDisplayArea,
2311
2395
  {
2312
2396
  label: AxesChartColorAndStyleWithTrellis.label,
@@ -2331,6 +2415,14 @@ var editorConfig = [
2331
2415
  editor: "editor.checkbox"
2332
2416
  }
2333
2417
  ],
2418
+ [
2419
+ {
2420
+ label: (0, i18n_exports._)("Line smoothing"),
2421
+ option: "showLineSmoothing",
2422
+ editor: "editor.toggle",
2423
+ showEditor: ({ options, featureFlags }) => isAcceleratedRenderEnabled({ options, featureFlags }) && !hasSteppedInterpolationEnabled({ options })
2424
+ }
2425
+ ],
2334
2426
  [
2335
2427
  {
2336
2428
  label: (0, i18n_exports._)("Line width"),
@@ -2499,7 +2591,7 @@ var prop_types_default = "default" in defaultImport29 ? defaultImport29.default
2499
2591
  var INITIAL_HEIGHT = 250;
2500
2592
  var SplunkVisualization = class {
2501
2593
  };
2502
- SplunkVisualization.propTypes = {
2594
+ __publicField(SplunkVisualization, "propTypes", {
2503
2595
  /**
2504
2596
  * display mode
2505
2597
  */
@@ -2575,11 +2667,11 @@ SplunkVisualization.propTypes = {
2575
2667
  * A callback to request new data with updated request params
2576
2668
  */
2577
2669
  onRequestParamsChange: prop_types_exports.func
2578
- };
2670
+ });
2579
2671
  /**
2580
2672
  *
2581
2673
  */
2582
- SplunkVisualization.defaults = {
2674
+ __publicField(SplunkVisualization, "defaults", {
2583
2675
  // BaseVisualization in dashboard-visualizations uses 100% for width but 250 for height
2584
2676
  width: "100%",
2585
2677
  height: INITIAL_HEIGHT,
@@ -2594,7 +2686,7 @@ SplunkVisualization.defaults = {
2594
2686
  onComputedProps: () => ({}),
2595
2687
  loading: false,
2596
2688
  onRequestParamsChange: lodash_exports.noop
2597
- };
2689
+ });
2598
2690
  var SplunkVisualization_default = SplunkVisualization;
2599
2691
 
2600
2692
  // src/common/hooks/useSorting.ts
@@ -2645,9 +2737,9 @@ var usePaginationParams = ({
2645
2737
  meta,
2646
2738
  onRequestParamsChange
2647
2739
  }) => {
2648
- const totalCount = meta && meta.totalCount || 0;
2649
- const offset = requestParams && requestParams.offset || 0;
2650
- const count = requestParams && requestParams.count;
2740
+ const totalCount = (meta == null ? void 0 : meta.totalCount) || 0;
2741
+ const offset = (requestParams == null ? void 0 : requestParams.offset) || 0;
2742
+ const count = requestParams == null ? void 0 : requestParams.count;
2651
2743
  const totalPages = typeof count === "number" && count > 0 ? Math.ceil(totalCount / count) : 0;
2652
2744
  const current = typeof count === "number" && count > 0 ? Math.floor(offset / count) + 1 : 0;
2653
2745
  const isPaging = totalPages > 1 && typeof onRequestParamsChange === "function";
@@ -2746,7 +2838,7 @@ var Cover = styled_components_default.div`
2746
2838
  bottom: 0;
2747
2839
  `;
2748
2840
  var Blocker = styled_components_default.div.attrs({
2749
- "data-splunk-visualization-version": "28.5.3 - 657435b86"
2841
+ "data-splunk-visualization-version": "28.7.0 - d7b18cab6"
2750
2842
  })`
2751
2843
  position: relative;
2752
2844
  width: 100%;
@@ -2827,7 +2919,7 @@ var withFixedSizeContainer = (Viz) => {
2827
2919
  FixSizeItem,
2828
2920
  {
2829
2921
  "data-test": "fix-size-item",
2830
- "data-splunk-visualization-version": "28.5.3 - 657435b86",
2922
+ "data-splunk-visualization-version": "28.7.0 - d7b18cab6",
2831
2923
  width,
2832
2924
  height,
2833
2925
  backgroundColor
@@ -3107,7 +3199,7 @@ var dataSourcesSplitByAggregationsUnknown = (dataSource) => {
3107
3199
  const columns = (_d = (_c = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _c.data) == null ? void 0 : _d.columns;
3108
3200
  let splitDataSources = null;
3109
3201
  let errorCode = null;
3110
- if (fields && fields.length) {
3202
+ if (fields == null ? void 0 : fields.length) {
3111
3203
  splitDataSources = {};
3112
3204
  for (let i = 0; i < fields.length; i += 1) {
3113
3205
  const fieldName = fields[i].name;
@@ -3158,7 +3250,7 @@ var dataSourcesSplitByAggregationsTimechartAndChart = (dataSource) => {
3158
3250
  }
3159
3251
  });
3160
3252
  });
3161
- } else if ((!splitByFields || !splitByFields.length) && fields.length > 1) {
3253
+ } else if (!(splitByFields == null ? void 0 : splitByFields.length) && fields.length > 1) {
3162
3254
  splitDataSources = {};
3163
3255
  for (let i = 1; i < fields.length; i += 1) {
3164
3256
  const fieldName = fields[i].name;
@@ -3214,7 +3306,7 @@ var dataSourcesSplitByModeTimechart = (dataSource, splitBy) => {
3214
3306
  if (fields.length > 0) {
3215
3307
  splitByFields = (0, trellisUtils_exports.extractSplitByFieldsChartFields)(fields);
3216
3308
  }
3217
- if (splitByFields && splitByFields.indexOf(splitBy) > -1) {
3309
+ if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
3218
3310
  splitDataSources = {};
3219
3311
  const dataSourceKeys = (0, trellisUtils_exports.extractDataSourceAggregationKeysChart)(fields);
3220
3312
  const valueKeys = [];
@@ -3245,6 +3337,68 @@ var dataSourcesSplitByModeTimechart = (dataSource, splitBy) => {
3245
3337
  }
3246
3338
  return { splitDataSources, errorCode };
3247
3339
  };
3340
+ var splitRowWise = (dataSource, columns, fields, otherSplitBy, dataSourceKeys, nonDataSourceAggregations) => {
3341
+ const splitDataSources = {};
3342
+ const valueKeys = (0, lodash_exports.cloneDeep)(columns[0]);
3343
+ valueKeys.forEach((val, idx) => {
3344
+ splitDataSources[val] = (0, lodash_exports.cloneDeep)((0, lodash_exports.omit)(dataSource, ["primary.data.fields", "primary.data.columns"]));
3345
+ splitDataSources[val].primary.data.fields = [];
3346
+ if (otherSplitBy.length) {
3347
+ splitDataSources[val].primary.data.fields = [{ name: otherSplitBy[0] }];
3348
+ }
3349
+ if (dataSourceKeys.length) {
3350
+ const columnValues = [[]];
3351
+ splitDataSources[val].primary.data.fields = [
3352
+ ...splitDataSources[val].primary.data.fields,
3353
+ ...dataSourceKeys.map((k) => ({ name: k }))
3354
+ ];
3355
+ dataSourceKeys.forEach(() => {
3356
+ columnValues.push([]);
3357
+ });
3358
+ for (let i = 1; i <= Math.ceil((fields.length - 1) / dataSourceKeys.length); i += 1) {
3359
+ columnValues[0].push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);
3360
+ dataSourceKeys.forEach((dskey, dsIndx) => {
3361
+ const mul = (fields.length - 1) / dataSourceKeys.length;
3362
+ columnValues[dsIndx + 1].push(columns[i + dsIndx * mul][idx]);
3363
+ });
3364
+ }
3365
+ splitDataSources[val].primary.data.columns = columnValues;
3366
+ } else if (nonDataSourceAggregations.length) {
3367
+ const columnValues = [];
3368
+ fields.forEach((aggregationField, fieldIdx) => {
3369
+ if (fieldIdx > 0) {
3370
+ splitDataSources[val].primary.data.fields.push(aggregationField);
3371
+ columnValues.push([columns[fieldIdx][idx]]);
3372
+ }
3373
+ });
3374
+ splitDataSources[val].primary.data.columns = columnValues;
3375
+ }
3376
+ });
3377
+ return splitDataSources;
3378
+ };
3379
+ var splitColumnWise = (dataSource, columns, fields, otherSplitBy, dataSourceKeys) => {
3380
+ const splitDataSources = {};
3381
+ const valueKeys = [];
3382
+ for (let i = 1; i < fields.length; i += 1) {
3383
+ valueKeys.push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);
3384
+ }
3385
+ valueKeys.forEach((val) => {
3386
+ splitDataSources[val] = (0, lodash_exports.cloneDeep)((0, lodash_exports.omit)(dataSource, ["primary.data.fields", "primary.data.columns"]));
3387
+ splitDataSources[val].primary.data.fields = [
3388
+ { name: otherSplitBy[0] },
3389
+ ...dataSourceKeys.map((k) => ({ name: k }))
3390
+ ];
3391
+ splitDataSources[val].primary.data.columns = [[...columns[0]]];
3392
+ dataSourceKeys.forEach((dsKey) => {
3393
+ fields.forEach((field, idx) => {
3394
+ if (field.data_source === dsKey && (field.splitby_value === val || field.name === val)) {
3395
+ splitDataSources[val].primary.data.columns.push([...columns[idx]]);
3396
+ }
3397
+ });
3398
+ });
3399
+ });
3400
+ return splitDataSources;
3401
+ };
3248
3402
  var dataSourcesSplitByModeChart = (dataSource, splitBy) => {
3249
3403
  var _a, _b, _c, _d;
3250
3404
  const fields = toFieldEntries((_b = (_a = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _a.data) == null ? void 0 : _b.fields);
@@ -3255,8 +3409,7 @@ var dataSourcesSplitByModeChart = (dataSource, splitBy) => {
3255
3409
  if (fields.length > 0) {
3256
3410
  splitByFields = (0, trellisUtils_exports.extractSplitByFieldsChartFields)(fields);
3257
3411
  }
3258
- if (splitByFields && splitByFields.indexOf(splitBy) > -1) {
3259
- splitDataSources = {};
3412
+ if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
3260
3413
  const splitByFieldIdx = splitByFields.findIndex((f) => f === splitBy);
3261
3414
  const otherSplitBy = splitByFields.filter((f) => f !== splitBy);
3262
3415
  const dataSourceKeys = (0, trellisUtils_exports.extractDataSourceAggregationKeysChart)(fields);
@@ -3267,71 +3420,16 @@ var dataSourcesSplitByModeChart = (dataSource, splitBy) => {
3267
3420
  }
3268
3421
  }
3269
3422
  if (splitByFieldIdx === 0) {
3270
- const valueKeys = (0, lodash_exports.cloneDeep)(columns[0]);
3271
- valueKeys.forEach((val, idx) => {
3272
- splitDataSources[val] = (0, lodash_exports.cloneDeep)(
3273
- (0, lodash_exports.omit)(dataSource, ["primary.data.fields", "primary.data.columns"])
3274
- );
3275
- splitDataSources[val].primary.data.fields = [];
3276
- if (otherSplitBy.length) {
3277
- splitDataSources[val].primary.data.fields = [{ name: otherSplitBy[0] }];
3278
- }
3279
- if (dataSourceKeys.length) {
3280
- const columnValues = [[]];
3281
- splitDataSources[val].primary.data.fields = [
3282
- ...splitDataSources[val].primary.data.fields,
3283
- ...dataSourceKeys.map((k) => ({
3284
- name: k
3285
- }))
3286
- ];
3287
- dataSourceKeys.forEach(() => {
3288
- columnValues.push([]);
3289
- });
3290
- for (let i = 1; i <= Math.ceil((fields.length - 1) / dataSourceKeys.length); i += 1) {
3291
- columnValues[0].push(
3292
- fields[i].splitby_value ? fields[i].splitby_value : fields[i].name
3293
- );
3294
- dataSourceKeys.forEach((dskey, dsIndx) => {
3295
- const mul = (fields.length - 1) / dataSourceKeys.length;
3296
- columnValues[dsIndx + 1].push(columns[i + dsIndx * mul][idx]);
3297
- });
3298
- }
3299
- splitDataSources[val].primary.data.columns = columnValues;
3300
- } else if (nonDataSourceAggregations.length) {
3301
- const columnValues = [];
3302
- fields.forEach((aggregationField, fieldIdx) => {
3303
- if (fieldIdx > 0) {
3304
- splitDataSources[val].primary.data.fields.push(aggregationField);
3305
- columnValues.push([columns[fieldIdx][idx]]);
3306
- }
3307
- });
3308
- splitDataSources[val].primary.data.columns = columnValues;
3309
- }
3310
- });
3423
+ splitDataSources = splitRowWise(
3424
+ dataSource,
3425
+ columns,
3426
+ fields,
3427
+ otherSplitBy,
3428
+ dataSourceKeys,
3429
+ nonDataSourceAggregations
3430
+ );
3311
3431
  } else {
3312
- const valueKeys = [];
3313
- for (let i = 1; i < fields.length; i += 1) {
3314
- valueKeys.push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);
3315
- }
3316
- valueKeys.forEach((val) => {
3317
- splitDataSources[val] = (0, lodash_exports.cloneDeep)(
3318
- (0, lodash_exports.omit)(dataSource, ["primary.data.fields", "primary.data.columns"])
3319
- );
3320
- splitDataSources[val].primary.data.fields = [
3321
- { name: otherSplitBy[0] },
3322
- ...dataSourceKeys.map((k) => ({
3323
- name: k
3324
- }))
3325
- ];
3326
- splitDataSources[val].primary.data.columns = [[...columns[0]]];
3327
- dataSourceKeys.forEach((dsKey) => {
3328
- fields.forEach((field, idx) => {
3329
- if (field.data_source === dsKey && (field.splitby_value === val || field.name === val)) {
3330
- splitDataSources[val].primary.data.columns.push([...columns[idx]]);
3331
- }
3332
- });
3333
- });
3334
- });
3432
+ splitDataSources = splitColumnWise(dataSource, columns, fields, otherSplitBy, dataSourceKeys);
3335
3433
  }
3336
3434
  } else {
3337
3435
  errorCode = "INVALID_SPLIT_BY_FIELD";
@@ -3349,7 +3447,7 @@ var dataSourcesSplitByModeStatsorUnknown = (dataSource, splitBy, splitMode) => {
3349
3447
  splitByFields = splitMode !== trellisUtils_exports.UNKNOWN ? (0, trellisUtils_exports.extractSplitByFieldsForStats)(fields) : (0, trellisUtils_exports.extractSplitByFieldsForUnknown)(fields);
3350
3448
  }
3351
3449
  const splitByIndex = fields.findIndex((field) => field.name === splitBy);
3352
- if (splitByFields && splitByFields.indexOf(splitBy) > -1) {
3450
+ if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
3353
3451
  const splitByColumn = (_f = (_e = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _e.data) == null ? void 0 : _f.columns[splitByIndex];
3354
3452
  splitDataSources = {};
3355
3453
  splitByColumn.forEach((val, idx) => {
@@ -3471,11 +3569,78 @@ var defaultImport35 = __toESM(require("@splunk/react-icons/Triangle"));
3471
3569
  __reExport(Triangle_exports, require("@splunk/react-icons/Triangle"));
3472
3570
  var Triangle_default = "default" in defaultImport35 ? defaultImport35.default : defaultImport35;
3473
3571
 
3572
+ // esm-externals:@splunk/visualizations-shared/propUtils
3573
+ var propUtils_exports = {};
3574
+ __export(propUtils_exports, {
3575
+ default: () => propUtils_default
3576
+ });
3577
+ var defaultImport36 = __toESM(require("@splunk/visualizations-shared/propUtils"));
3578
+ __reExport(propUtils_exports, require("@splunk/visualizations-shared/propUtils"));
3579
+ var propUtils_default = "default" in defaultImport36 ? defaultImport36.default : defaultImport36;
3580
+
3581
+ // esm-externals:@splunk/visualizations-shared/simpleXMLOptions
3582
+ var simpleXMLOptions_exports = {};
3583
+ __export(simpleXMLOptions_exports, {
3584
+ default: () => simpleXMLOptions_default
3585
+ });
3586
+ var defaultImport37 = __toESM(require("@splunk/visualizations-shared/simpleXMLOptions"));
3587
+ __reExport(simpleXMLOptions_exports, require("@splunk/visualizations-shared/simpleXMLOptions"));
3588
+ var simpleXMLOptions_default = "default" in defaultImport37 ? defaultImport37.default : defaultImport37;
3589
+
3474
3590
  // src/common/chartingUtils.ts
3591
+ var SHARED_AXIS_CHART_CANVAS_SPECIFIC_PROPS = [
3592
+ "yAxisMin",
3593
+ "yAxisMax",
3594
+ "y2AxisMin",
3595
+ "y2AxisMax",
3596
+ "showXMajorGridLines",
3597
+ "showYMajorGridLines",
3598
+ "showY2MajorGridLines",
3599
+ "showYMinorGridLines",
3600
+ "showY2MinorGridLines",
3601
+ "xAxisMajorTickVisibility",
3602
+ "xAxisMajorTickSize",
3603
+ "yAxisMajorTickVisibility",
3604
+ "y2AxisMajorTickVisibility",
3605
+ "yAxisMajorTickSize",
3606
+ "y2AxisMajorTickSize",
3607
+ "yAxisMinorTickVisibility",
3608
+ "y2AxisMinorTickVisibility",
3609
+ "yAxisMinorTickSize",
3610
+ "y2AxisMinorTickSize",
3611
+ "legendMode",
3612
+ "legendTruncation"
3613
+ ];
3614
+ var transformAxisChartOptions = ({
3615
+ originalOptions,
3616
+ optionsSchema: optionsSchema2,
3617
+ chart,
3618
+ convertToSCProps,
3619
+ preservedProps
3620
+ }) => {
3621
+ const returnOptions = (0, propUtils_exports.adjustOptionsToSchema)(originalOptions, optionsSchema2);
3622
+ const convertedOptions = convertToSCProps(returnOptions);
3623
+ const transformed = __spreadProps(__spreadValues({}, (0, simpleXMLOptions_exports.getSimpleXMLOptionsForProps)(convertedOptions)), {
3624
+ chart
3625
+ });
3626
+ const preserved = preservedProps.reduce(
3627
+ (acc, prop) => {
3628
+ if (returnOptions[prop] !== void 0) {
3629
+ acc[prop] = returnOptions[prop];
3630
+ }
3631
+ return acc;
3632
+ },
3633
+ {}
3634
+ );
3635
+ if (convertedOptions.legendLabels !== void 0) {
3636
+ preserved.legendLabels = convertedOptions.legendLabels;
3637
+ }
3638
+ return __spreadValues(__spreadValues({}, transformed), preserved);
3639
+ };
3475
3640
  var DEFAULT_LINE_WIDTH = 2;
3476
- var getAnnotations = ({ annotationX, annotationColor, annotationLabel }) => annotationX && annotationX.length ? annotationX.map((timestamp, i) => ({
3477
- color: annotationColor && annotationColor[i],
3478
- label: annotationLabel && annotationLabel[i],
3641
+ var getAnnotations = ({ annotationX, annotationColor, annotationLabel }) => (annotationX == null ? void 0 : annotationX.length) ? annotationX.map((timestamp, i) => ({
3642
+ color: annotationColor == null ? void 0 : annotationColor[i],
3643
+ label: annotationLabel == null ? void 0 : annotationLabel[i],
3479
3644
  time: timestamp
3480
3645
  })) : [];
3481
3646
  var getAnnotationsForCanvas = ({
@@ -3548,6 +3713,65 @@ function constructAdditionalTooltipFieldsMap({ fields, columns, additionalToolti
3548
3713
  });
3549
3714
  return map;
3550
3715
  }
3716
+ function extractAdditionalTooltipValues(columns, fields, additionalTooltipFields) {
3717
+ var _a;
3718
+ if (!(additionalTooltipFields == null ? void 0 : additionalTooltipFields.length) || !(columns == null ? void 0 : columns.length) || !(fields == null ? void 0 : fields.length)) {
3719
+ return [];
3720
+ }
3721
+ const fieldIndexMap = fields.reduce((acc, field, index) => {
3722
+ acc[field.name] = index;
3723
+ return acc;
3724
+ }, {});
3725
+ const numRows = ((_a = columns[0]) == null ? void 0 : _a.length) || 0;
3726
+ const additionalTooltipValuesArray = [];
3727
+ for (let i = 0; i < numRows; i += 1) {
3728
+ const tooltipObject = {};
3729
+ additionalTooltipFields.forEach((fieldName) => {
3730
+ var _a2, _b;
3731
+ if (fieldName in fieldIndexMap) {
3732
+ const columnIndex = fieldIndexMap[fieldName];
3733
+ tooltipObject[fieldName] = (_b = (_a2 = columns[columnIndex]) == null ? void 0 : _a2[i]) != null ? _b : null;
3734
+ } else {
3735
+ tooltipObject[fieldName] = null;
3736
+ }
3737
+ });
3738
+ additionalTooltipValuesArray.push(tooltipObject);
3739
+ }
3740
+ return additionalTooltipValuesArray;
3741
+ }
3742
+ var areStringArraysEqual = (a, b) => {
3743
+ if (a === b) return true;
3744
+ if (!a || !b) return false;
3745
+ if (a.length !== b.length) return false;
3746
+ for (let i = 0; i < a.length; i += 1) {
3747
+ if (a[i] !== b[i]) return false;
3748
+ }
3749
+ return true;
3750
+ };
3751
+ var createAdditionalTooltipValuesMemoizer = () => {
3752
+ let cache = {
3753
+ columns: null,
3754
+ fields: null,
3755
+ additionalTooltipFields: void 0,
3756
+ result: void 0
3757
+ };
3758
+ return (columns, fields, additionalTooltipFields) => {
3759
+ if (cache.columns === columns && cache.fields === fields && areStringArraysEqual(cache.additionalTooltipFields, additionalTooltipFields)) {
3760
+ return cache.result;
3761
+ }
3762
+ let result;
3763
+ if ((additionalTooltipFields == null ? void 0 : additionalTooltipFields.length) && columns && fields) {
3764
+ result = extractAdditionalTooltipValues(columns, fields, additionalTooltipFields);
3765
+ }
3766
+ cache = {
3767
+ columns,
3768
+ fields,
3769
+ additionalTooltipFields,
3770
+ result
3771
+ };
3772
+ return result;
3773
+ };
3774
+ };
3551
3775
  var shouldEnableSearchZoom = (eventHandlers = [], xField = "") => {
3552
3776
  const rangeSelectEventHandler = eventHandlers.find(
3553
3777
  (eventHandler) => {
@@ -3558,9 +3782,9 @@ var shouldEnableSearchZoom = (eventHandlers = [], xField = "") => {
3558
3782
  const xAxisIsTime = xField === "_time";
3559
3783
  return !!rangeSelectEventHandler && xAxisIsTime;
3560
3784
  };
3561
- var canvasSupportedTimeSeriesCharts = ["splunk.line"];
3785
+ var canvasSupportedTimeSeriesCharts = ["splunk.line", "splunk.area"];
3562
3786
  var isTimeSeriesCanvasRenderSupported = (vizConfigKey) => {
3563
- return canvasSupportedTimeSeriesCharts.indexOf(vizConfigKey) > -1;
3787
+ return canvasSupportedTimeSeriesCharts.includes(vizConfigKey);
3564
3788
  };
3565
3789
  var filterChartDataFromInternalFields = (chartData) => {
3566
3790
  const { fields, columns } = chartData;
@@ -3715,46 +3939,66 @@ var getY2ScaleConfig = (label, axisAbbreviation, axisScale, roundAxisLabelsToInt
3715
3939
  }
3716
3940
  return y2Config;
3717
3941
  };
3718
- var getSeriesOverrides = (yfields, y2fields, lineWidth, overlayFields, y2Enabled, nullValueMode, markerDisplay, lineDashStyle, lineDashStylesByField, stepPosition, stepPositionsByField) => {
3942
+ var getSeriesType = (isOverlay, isAreaChart, isStacked) => {
3943
+ if (isOverlay) return "line";
3944
+ if (!isAreaChart) return void 0;
3945
+ return isStacked ? "stacked-area" : "area";
3946
+ };
3947
+ var getY2Scale = (field, y2fields, overlayFields) => {
3948
+ 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));
3949
+ return assignToY2 ? "y2" : "y";
3950
+ };
3951
+ var getSeriesOverrides = (opts) => {
3952
+ var _a;
3953
+ const {
3954
+ yfields,
3955
+ y2fields,
3956
+ lineWidth,
3957
+ overlayFields,
3958
+ y2Enabled,
3959
+ nullValueMode,
3960
+ markerDisplay,
3961
+ lineDashStyle,
3962
+ lineDashStylesByField,
3963
+ stepPosition,
3964
+ stepPositionsByField,
3965
+ type,
3966
+ stackMode,
3967
+ showLines
3968
+ } = opts;
3719
3969
  const seriesConfig = {};
3720
3970
  let spanGaps;
3721
- let replaceNullsWithZero;
3722
3971
  if (nullValueMode === "gaps") {
3723
3972
  spanGaps = false;
3724
- } else if (nullValueMode === "connect" || nullValueMode === "zero") {
3973
+ } else if (nullValueMode != null) {
3725
3974
  spanGaps = true;
3726
- if (nullValueMode === "zero") {
3727
- replaceNullsWithZero = true;
3728
- }
3975
+ } else {
3976
+ spanGaps = void 0;
3729
3977
  }
3730
- yfields.forEach((field) => {
3978
+ const replaceNullsWithZero = nullValueMode === "zero" ? true : void 0;
3979
+ const isAreaChart = type === "area";
3980
+ const isStacked = isAreaChart && (stackMode === "stacked" || stackMode === "stacked100");
3981
+ const areaFields = isAreaChart ? yfields.filter((f) => !(overlayFields == null ? void 0 : overlayFields.includes(f))) : yfields;
3982
+ const overlayFieldsInOrder = (_a = overlayFields == null ? void 0 : overlayFields.filter((f) => yfields.includes(f))) != null ? _a : [];
3983
+ const orderedFields = isAreaChart ? [...areaFields, ...overlayFieldsInOrder] : yfields;
3984
+ orderedFields.forEach((field) => {
3985
+ var _a2;
3986
+ const isOverlay = (_a2 = overlayFields == null ? void 0 : overlayFields.includes(field)) != null ? _a2 : false;
3987
+ const isPercent = isAreaChart && stackMode === "stacked100" && !isOverlay;
3988
+ const shouldHideAreaOutline = isAreaChart && showLines === false && !isOverlay;
3731
3989
  seriesConfig[field] = {
3732
- overrides: { width: lineWidth != null ? lineWidth : DEFAULT_LINE_WIDTH }
3990
+ overrides: __spreadValues({
3991
+ width: shouldHideAreaOutline ? 0 : lineWidth != null ? lineWidth : DEFAULT_LINE_WIDTH
3992
+ }, isPercent ? { stacking: { mode: "percent", group: "A" } } : {})
3733
3993
  };
3734
- if (spanGaps !== void 0) {
3735
- seriesConfig[field].overrides.spanGaps = spanGaps;
3736
- }
3737
- if (y2Enabled) {
3738
- const shouldAssignToY2 = (
3739
- // If y2Fields are present, assign all y2Fields to y2 scale
3740
- (y2fields == null ? void 0 : y2fields.length) > 0 && y2fields.includes(field) || // Else, assign all overlayFields to y2 scale
3741
- (!y2fields || y2fields.length === 0) && (overlayFields == null ? void 0 : overlayFields.includes(field))
3742
- );
3743
- if (shouldAssignToY2) {
3744
- seriesConfig[field].overrides.scale = "y2";
3745
- } else {
3746
- seriesConfig[field].overrides.scale = "y";
3747
- }
3748
- }
3749
- if (overlayFields == null ? void 0 : overlayFields.includes(field)) {
3750
- seriesConfig[field].type = "line";
3751
- }
3752
- if (markerDisplay !== void 0) {
3753
- seriesConfig[field].markerDisplay = markerDisplay;
3754
- }
3755
- const fieldDashStyle = (lineDashStylesByField == null ? void 0 : lineDashStylesByField[field]) || lineDashStyle;
3756
- if (fieldDashStyle) {
3757
- seriesConfig[field].lineDashStyle = fieldDashStyle;
3994
+ const seriesType = getSeriesType(isOverlay, isAreaChart, isStacked);
3995
+ if (seriesType !== void 0) seriesConfig[field].type = seriesType;
3996
+ if (spanGaps !== void 0) seriesConfig[field].overrides.spanGaps = spanGaps;
3997
+ if (y2Enabled) seriesConfig[field].overrides.scale = getY2Scale(field, y2fields, overlayFields);
3998
+ if (markerDisplay !== void 0) seriesConfig[field].markerDisplay = markerDisplay;
3999
+ if (!isAreaChart || isOverlay) {
4000
+ const fieldDashStyle = (lineDashStylesByField == null ? void 0 : lineDashStylesByField[field]) || lineDashStyle;
4001
+ if (fieldDashStyle) seriesConfig[field].lineDashStyle = fieldDashStyle;
3758
4002
  }
3759
4003
  const hasFieldStepPosition = Object.hasOwn(stepPositionsByField || {}, field);
3760
4004
  const fieldStepPosition = hasFieldStepPosition ? stepPositionsByField == null ? void 0 : stepPositionsByField[field] : stepPosition;
@@ -3920,6 +4164,38 @@ var parseArrayOption = (value) => {
3920
4164
  }
3921
4165
  return void 0;
3922
4166
  };
4167
+ var getAreaOpacityForCanvas = (areaOpacity) => (
4168
+ // Preserve legacy visualizations behavior where area opacity is squared to match charting output.
4169
+ areaOpacity !== void 0 && areaOpacity !== null ? __pow(areaOpacity, 2) : areaOpacity
4170
+ );
4171
+ var parseTickIntervalOption = (simpleXMLValue, canvasValue) => {
4172
+ if (simpleXMLValue) return Number(simpleXMLValue);
4173
+ if (canvasValue) return Number(canvasValue);
4174
+ return void 0;
4175
+ };
4176
+ var getYAxisTitles = ({
4177
+ y2Enabled,
4178
+ yFields,
4179
+ y2Fields,
4180
+ overlayFields,
4181
+ yAxisTitleText,
4182
+ yAxisTitleVisibility,
4183
+ y2AxisTitleText,
4184
+ y2AxisTitleVisibility,
4185
+ containerHeight
4186
+ }) => {
4187
+ const yFieldsForTitle = y2Enabled ? yFields.filter((field) => !y2Fields.includes(field)) : yFields;
4188
+ const fieldsForY2Axis = y2Fields.length > 0 ? y2Fields : overlayFields;
4189
+ const yAxisTitle = ellipsisAxisTitle(
4190
+ getComputedAxisTitles(yAxisTitleText, yFieldsForTitle, yAxisTitleVisibility),
4191
+ containerHeight
4192
+ );
4193
+ const y2AxisTitle = ellipsisAxisTitle(
4194
+ getComputedAxisTitles(y2AxisTitleText, fieldsForY2Axis, y2AxisTitleVisibility),
4195
+ containerHeight
4196
+ );
4197
+ return { yAxisTitle, y2AxisTitle };
4198
+ };
3923
4199
  var TimeSeriesChartWrapper = (props) => {
3924
4200
  var _b, _c, _d;
3925
4201
  const _a = props, {
@@ -4009,6 +4285,8 @@ var TimeSeriesChartWrapper = (props) => {
4009
4285
  "chart.overlayFields": overlayFieldsStr,
4010
4286
  "chart.nullValueMode": nullValueMode,
4011
4287
  "chart.showDataLabels": showDataLabels,
4288
+ "chart.showLines": showLines,
4289
+ "chart.stackMode": stackMode,
4012
4290
  lineWidth,
4013
4291
  lineDashStyle,
4014
4292
  fieldDashStyles: lineDashStylesByFieldStr,
@@ -4037,7 +4315,10 @@ var TimeSeriesChartWrapper = (props) => {
4037
4315
  yAxisMinorTickSize,
4038
4316
  y2AxisMinorTickSize,
4039
4317
  showYAxisWithZero: showYAxisWithZeroFromOptions,
4040
- showY2AxisWithZero: showY2AxisWithZeroFromOptions
4318
+ showY2AxisWithZero: showY2AxisWithZeroFromOptions,
4319
+ // area only props
4320
+ areaFillOpacity: areaOpacity,
4321
+ chart: chartType
4041
4322
  } = options;
4042
4323
  const dataValuesDisplay = showDataLabels === "none" ? "off" : showDataLabels;
4043
4324
  const showYAxisWithZero = showYAxisWithZeroFromProps != null ? showYAxisWithZeroFromProps : showYAxisWithZeroFromOptions;
@@ -4054,13 +4335,11 @@ var TimeSeriesChartWrapper = (props) => {
4054
4335
  const yAxisMax = parseAxisValue(yAxisMaxRaw);
4055
4336
  const y2AxisMin = parseAxisValue(y2AxisMinRaw);
4056
4337
  const y2AxisMax = parseAxisValue(y2AxisMaxRaw);
4057
- const parseTickInterval = (simpleXMLValue, canvasValue) => {
4058
- if (simpleXMLValue) return Number(simpleXMLValue);
4059
- if (canvasValue) return Number(canvasValue);
4060
- return void 0;
4061
- };
4062
- const yAxisMajorTickIntervalNum = parseTickInterval(yAxisMajorUnitFromSimpleXML, yAxisMajorTickInterval);
4063
- const y2AxisMajorTickIntervalNum = parseTickInterval(
4338
+ const yAxisMajorTickIntervalNum = parseTickIntervalOption(
4339
+ yAxisMajorUnitFromSimpleXML,
4340
+ yAxisMajorTickInterval
4341
+ );
4342
+ const y2AxisMajorTickIntervalNum = parseTickIntervalOption(
4064
4343
  y2AxisMajorUnitFromSimpleXML,
4065
4344
  y2AxisMajorTickInterval
4066
4345
  );
@@ -4069,6 +4348,7 @@ var TimeSeriesChartWrapper = (props) => {
4069
4348
  const y2AxisMajorTickSizeNum = y2AxisMajorTickSize != null ? Number(y2AxisMajorTickSize) : void 0;
4070
4349
  const yAxisMinorTickSizeNum = yAxisMinorTickSize != null ? Number(yAxisMinorTickSize) : void 0;
4071
4350
  const y2AxisMinorTickSizeNum = y2AxisMinorTickSize != null ? Number(y2AxisMinorTickSize) : void 0;
4351
+ const areaOpacityForCanvas = getAreaOpacityForCanvas(areaOpacity);
4072
4352
  const seriesColors = seriesColorsStr ? JSON.parse(seriesColorsStr) : void 0;
4073
4353
  const seriesColorsByField = fieldColors ? JSON.parse(fieldColors) : void 0;
4074
4354
  const lineDashStylesByField = lineDashStylesByFieldStr ? JSON.parse(lineDashStylesByFieldStr) : void 0;
@@ -4099,26 +4379,40 @@ var TimeSeriesChartWrapper = (props) => {
4099
4379
  );
4100
4380
  let xAxisTitle = getComputedAxisTitles(xAxisTitleText, [xField], xAxisTitleVisibility);
4101
4381
  xAxisTitle = ellipsisAxisTitle(xAxisTitle, containerWidth);
4102
- const yFieldsForTitle = y2Enabled ? yFields.filter((field) => !y2Fields.includes(field)) : yFields;
4103
- let yAxisTitle = getComputedAxisTitles(yAxisTitleText, yFieldsForTitle, yAxisTitleVisibility);
4104
- yAxisTitle = ellipsisAxisTitle(yAxisTitle, containerHeight);
4105
- const fieldsForY2Axis = y2Fields.length > 0 ? y2Fields : overlayFields;
4106
- let y2AxisTitle = getComputedAxisTitles(y2AxisTitleText, fieldsForY2Axis, y2AxisTitleVisibility);
4107
- y2AxisTitle = ellipsisAxisTitle(y2AxisTitle, containerHeight);
4382
+ const { yAxisTitle, y2AxisTitle } = getYAxisTitles({
4383
+ y2Enabled,
4384
+ yFields,
4385
+ y2Fields,
4386
+ overlayFields,
4387
+ yAxisTitleText,
4388
+ yAxisTitleVisibility,
4389
+ y2AxisTitleText,
4390
+ y2AxisTitleVisibility,
4391
+ containerHeight
4392
+ });
4108
4393
  const xScaleConfig = (0, react_exports.useMemo)(
4109
4394
  () => getXScaleConfig(xAxisTitle, xAxisLabelVisibility, xAxisLabelRotation),
4110
4395
  [xAxisTitle, xAxisLabelVisibility, xAxisLabelRotation]
4111
4396
  );
4397
+ const isStacked100 = stackMode === "stacked100";
4112
4398
  const yScaleConfig = (0, react_exports.useMemo)(
4113
- () => getYScaleConfig(
4114
- yAxisTitle,
4115
- yAxisAbbreviation,
4116
- yAxisScale,
4117
- yAxisLabelVisibility,
4118
- yAxisMin,
4119
- yAxisMax
4120
- ),
4121
- [yAxisTitle, yAxisAbbreviation, yAxisScale, yAxisLabelVisibility, yAxisMin, yAxisMax]
4399
+ () => {
4400
+ const config2 = getYScaleConfig(
4401
+ yAxisTitle,
4402
+ yAxisAbbreviation,
4403
+ yAxisScale,
4404
+ yAxisLabelVisibility,
4405
+ yAxisMin,
4406
+ yAxisMax
4407
+ );
4408
+ if (isStacked100) {
4409
+ config2.y.tickFmt = (v) => `${Math.round(v * 100)}%`;
4410
+ config2.y.range = () => [0, 1];
4411
+ }
4412
+ return config2;
4413
+ },
4414
+ // eslint-disable-next-line react-hooks/exhaustive-deps
4415
+ [yAxisTitle, yAxisAbbreviation, yAxisScale, yAxisLabelVisibility, yAxisMin, yAxisMax, isStacked100]
4122
4416
  );
4123
4417
  const y2ScaleConfig = (0, react_exports.useMemo)(() => {
4124
4418
  if (y2Enabled) {
@@ -4150,10 +4444,11 @@ var TimeSeriesChartWrapper = (props) => {
4150
4444
  ];
4151
4445
  chartData.fields = filteredChartData.fields;
4152
4446
  chartData.columns = seriesDataFormatted;
4447
+ const normalizedStackMode = stackMode === "stacked" || stackMode === "stacked100" ? stackMode : "auto";
4153
4448
  const seriesOverrides = (0, react_exports.useMemo)(
4154
- () => getSeriesOverrides(
4155
- yFields,
4156
- y2Fields,
4449
+ () => getSeriesOverrides({
4450
+ yfields: yFields,
4451
+ y2fields: y2Fields,
4157
4452
  lineWidth,
4158
4453
  overlayFields,
4159
4454
  y2Enabled,
@@ -4162,8 +4457,11 @@ var TimeSeriesChartWrapper = (props) => {
4162
4457
  lineDashStyle,
4163
4458
  lineDashStylesByField,
4164
4459
  stepPosition,
4165
- stepPositionsByField
4166
- ),
4460
+ stepPositionsByField,
4461
+ type: chartType,
4462
+ stackMode: normalizedStackMode,
4463
+ showLines
4464
+ }),
4167
4465
  [
4168
4466
  yFields,
4169
4467
  y2Fields,
@@ -4175,7 +4473,10 @@ var TimeSeriesChartWrapper = (props) => {
4175
4473
  lineDashStyle,
4176
4474
  lineDashStylesByField,
4177
4475
  stepPosition,
4178
- stepPositionsByField
4476
+ stepPositionsByField,
4477
+ chartType,
4478
+ normalizedStackMode,
4479
+ showLines
4179
4480
  ]
4180
4481
  );
4181
4482
  const chartingEventAnnotations = (0, react_exports.useMemo)(
@@ -4243,50 +4544,54 @@ var TimeSeriesChartWrapper = (props) => {
4243
4544
  react_exports.useEffect(() => {
4244
4545
  additionalTooltipValuesRef.current = additionalTooltipValues;
4245
4546
  }, [additionalTooltipValues]);
4547
+ const handleCrosshairMouseout = react_exports.useCallback(() => {
4548
+ if (onPointMouseOut && lastPayloadRef.current) {
4549
+ onPointMouseOut({
4550
+ type: "point.mouseout",
4551
+ originalEvent: lastOriginalEventRef.current,
4552
+ payload: lastPayloadRef.current
4553
+ });
4554
+ }
4555
+ previousMouseoverPayloadRef.current = null;
4556
+ }, [onPointMouseOut]);
4246
4557
  const handleChartCrosshairChange = react_exports.useCallback(
4247
4558
  (event) => {
4248
- if (onPointMouseOver || onPointMouseOut) {
4249
- if (!event) {
4250
- if (onPointMouseOut && lastPayloadRef.current) {
4251
- onPointMouseOut({
4252
- type: "point.mouseout",
4253
- originalEvent: lastOriginalEventRef.current,
4254
- payload: lastPayloadRef.current
4255
- });
4256
- }
4257
- previousMouseoverPayloadRef.current = null;
4258
- return;
4259
- }
4260
- const payload = __spreadProps(__spreadValues({}, (0, lodash_exports.pick)(event, "value", "seriesKey", "time", "index", "seriesIndex")), {
4261
- name: event.seriesKey
4559
+ if (!onPointMouseOver && !onPointMouseOut) {
4560
+ return;
4561
+ }
4562
+ if (!event) {
4563
+ handleCrosshairMouseout();
4564
+ return;
4565
+ }
4566
+ const payload = __spreadProps(__spreadValues({}, (0, lodash_exports.pick)(event, "value", "seriesKey", "time", "index", "seriesIndex")), {
4567
+ name: event.seriesKey
4568
+ });
4569
+ delete payload.seriesKey;
4570
+ if (event.rowContext) {
4571
+ Object.assign(
4572
+ payload,
4573
+ Object.keys(event.rowContext).reduce((acc, fieldName) => {
4574
+ acc[`row.${fieldName}.value`] = event.rowContext[fieldName];
4575
+ return acc;
4576
+ }, {})
4577
+ );
4578
+ }
4579
+ const updatedPayload = appendTrellisToPayload2(payload, trellisKey, trellisSplitBy);
4580
+ if (!hasMouseoverPayloadChanged(updatedPayload, previousMouseoverPayloadRef.current)) {
4581
+ return;
4582
+ }
4583
+ lastPayloadRef.current = updatedPayload;
4584
+ lastOriginalEventRef.current = event;
4585
+ previousMouseoverPayloadRef.current = __spreadValues({}, updatedPayload);
4586
+ if (onPointMouseOver) {
4587
+ onPointMouseOver({
4588
+ type: "point.mouseover",
4589
+ originalEvent: event,
4590
+ payload: updatedPayload
4262
4591
  });
4263
- delete payload.seriesKey;
4264
- if (event.rowContext) {
4265
- Object.assign(
4266
- payload,
4267
- Object.keys(event.rowContext).reduce((acc, fieldName) => {
4268
- acc[`row.${fieldName}.value`] = event.rowContext[fieldName];
4269
- return acc;
4270
- }, {})
4271
- );
4272
- }
4273
- const updatedPayload = appendTrellisToPayload2(payload, trellisKey, trellisSplitBy);
4274
- if (!hasMouseoverPayloadChanged(updatedPayload, previousMouseoverPayloadRef.current)) {
4275
- return;
4276
- }
4277
- lastPayloadRef.current = updatedPayload;
4278
- lastOriginalEventRef.current = event;
4279
- previousMouseoverPayloadRef.current = __spreadValues({}, updatedPayload);
4280
- if (onPointMouseOver) {
4281
- onPointMouseOver({
4282
- type: "point.mouseover",
4283
- originalEvent: event,
4284
- payload: updatedPayload
4285
- });
4286
- }
4287
4592
  }
4288
4593
  },
4289
- [onPointMouseOver, onPointMouseOut, trellisKey, trellisSplitBy]
4594
+ [onPointMouseOver, onPointMouseOut, trellisKey, trellisSplitBy, handleCrosshairMouseout]
4290
4595
  );
4291
4596
  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}`;
4292
4597
  const memoizedChart = (0, react_exports.useMemo)(() => {
@@ -4341,7 +4646,8 @@ var TimeSeriesChartWrapper = (props) => {
4341
4646
  showXAxisLine,
4342
4647
  showYAxisLine,
4343
4648
  showY2AxisLine,
4344
- xAxisMaxLabelParts
4649
+ xAxisMaxLabelParts,
4650
+ areaOpacity: areaOpacityForCanvas
4345
4651
  }
4346
4652
  ));
4347
4653
  }, [
@@ -4393,7 +4699,8 @@ var TimeSeriesChartWrapper = (props) => {
4393
4699
  showYAxisLine,
4394
4700
  showY2AxisLine,
4395
4701
  legendMode,
4396
- xAxisMaxLabelParts
4702
+ xAxisMaxLabelParts,
4703
+ areaOpacityForCanvas
4397
4704
  ]);
4398
4705
  const memoizedVisualization = (0, react_exports.useMemo)(() => {
4399
4706
  return /* @__PURE__ */ react_exports.createElement(VizStyleWrapper_default, { backgroundColor: bgColor }, memoizedChart);
@@ -4421,6 +4728,37 @@ var TimeSeriesChartWrapper_default = TimeSeriesChartWrapper;
4421
4728
 
4422
4729
  // src/common/withDashboardViz.tsx
4423
4730
  var SanitizedTimeSeriesChartWrapper = (0, SanitizeProps_exports.withSanitizedProps)(TimeSeriesChartWrapper_default);
4731
+ var buildEventCallbackProps = (supportedEvents, evaluatedOptionsToUse, onEventTrigger) => {
4732
+ const result = {};
4733
+ Object.keys(supportedEvents).forEach((eventName) => {
4734
+ const { parentKeys, payloadKeys } = supportedEvents[eventName];
4735
+ const eventCallbackPropName = (0, lodash_exports.camelCase)(`on.${eventName}`);
4736
+ let payload = {};
4737
+ if (Array.isArray(payloadKeys) && payloadKeys.length) {
4738
+ payloadKeys.forEach((p) => {
4739
+ payload[p] = evaluatedOptionsToUse[p];
4740
+ });
4741
+ }
4742
+ result[eventCallbackPropName] = (ev) => {
4743
+ if (ev == null ? void 0 : ev.payload) {
4744
+ payload = __spreadValues({}, ev.payload);
4745
+ }
4746
+ return onEventTrigger({
4747
+ originalEvent: ev,
4748
+ payload,
4749
+ type: eventName
4750
+ });
4751
+ };
4752
+ if (parentKeys) {
4753
+ for (let i = parentKeys.length - 1; i >= 0; i -= 1) {
4754
+ const newObject = {};
4755
+ newObject[parentKeys[i]] = result[eventCallbackPropName];
4756
+ result[eventCallbackPropName] = newObject;
4757
+ }
4758
+ }
4759
+ });
4760
+ return result;
4761
+ };
4424
4762
  var withDashboardViz = (opts) => {
4425
4763
  const {
4426
4764
  ReactViz,
@@ -4478,9 +4816,7 @@ var withDashboardViz = (opts) => {
4478
4816
  const isDownsamplingEnabledByFeatureFlag = Boolean(
4479
4817
  featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableDownsampling
4480
4818
  );
4481
- const isTrellisFeatureFlagOn5 = Boolean(
4482
- featureFlagContext && featureFlagContext.visualizations_enableTrellis
4483
- );
4819
+ const isTrellisFeatureFlagOn5 = Boolean(featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableTrellis);
4484
4820
  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 */;
4485
4821
  const isAcceleratedRenderFeatureFlagOn2 = Boolean(
4486
4822
  featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableAcceleratedRender
@@ -4645,38 +4981,12 @@ var withDashboardViz = (opts) => {
4645
4981
  }
4646
4982
  );
4647
4983
  }
4648
- const eventCallbackProps = {};
4649
- if (hasEventHandlers && mode === "view" && vizConfig.supports.indexOf("events" /* EVENTS */) > -1) {
4650
- const supportedEvents = vizConfig.events;
4651
- Object.keys(supportedEvents).forEach((eventName) => {
4652
- const { parentKeys, payloadKeys } = supportedEvents[eventName];
4653
- const eventCallbackPropName = (0, lodash_exports.camelCase)(`on.${eventName}`);
4654
- let payload = {};
4655
- if (Array.isArray(payloadKeys) && payloadKeys.length) {
4656
- payloadKeys.forEach((p) => {
4657
- payload[p] = evaluatedOptionsToUse[p];
4658
- });
4659
- }
4660
- eventCallbackProps[eventCallbackPropName] = (ev) => {
4661
- if (ev == null ? void 0 : ev.payload) {
4662
- payload = __spreadValues({}, ev.payload);
4663
- }
4664
- return onEventTrigger({
4665
- originalEvent: ev,
4666
- payload,
4667
- type: eventName
4668
- });
4669
- };
4670
- if (parentKeys) {
4671
- for (let i = parentKeys.length - 1; i >= 0; i -= 1) {
4672
- const newObject = {};
4673
- newObject[parentKeys[i]] = eventCallbackProps[eventCallbackPropName];
4674
- eventCallbackProps[eventCallbackPropName] = newObject;
4675
- }
4676
- }
4677
- });
4678
- }
4679
- const computedVizProps = computeVizProps2(__spreadProps(__spreadValues(__spreadValues(__spreadValues({}, props), evaluatedOptionsToUse), eventCallbackProps), {
4984
+ const eventCallbackProps = hasEventHandlers && mode === "view" && vizConfig.supports.includes("events" /* EVENTS */) ? buildEventCallbackProps(vizConfig.events, evaluatedOptionsToUse, onEventTrigger) : {};
4985
+ const computedVizProps = computeVizProps2(__spreadProps(__spreadValues(__spreadProps(__spreadValues(__spreadValues({}, props), evaluatedOptionsToUse), {
4986
+ // Align option transformation with the actual renderer selected below.
4987
+ // This prevents canvas-only option preservation from leaking into Highcharts mode.
4988
+ isAcceleratedRenderOn
4989
+ }), eventCallbackProps), {
4680
4990
  themeFunc
4681
4991
  }));
4682
4992
  if (useAsyncEvaluatedOptions && Object.keys(evaluatedOptionsToUse).length === 0) {
@@ -4705,29 +5015,25 @@ var withDashboardViz = (opts) => {
4705
5015
  };
4706
5016
  var withDashboardViz_default = withDashboardViz;
4707
5017
 
4708
- // esm-externals:@splunk/visualizations-shared/propUtils
4709
- var propUtils_exports = {};
4710
- __export(propUtils_exports, {
4711
- default: () => propUtils_default
4712
- });
4713
- var defaultImport36 = __toESM(require("@splunk/visualizations-shared/propUtils"));
4714
- __reExport(propUtils_exports, require("@splunk/visualizations-shared/propUtils"));
4715
- var propUtils_default = "default" in defaultImport36 ? defaultImport36.default : defaultImport36;
4716
-
4717
- // esm-externals:@splunk/visualizations-shared/simpleXMLOptions
4718
- var simpleXMLOptions_exports = {};
4719
- __export(simpleXMLOptions_exports, {
4720
- default: () => simpleXMLOptions_default
4721
- });
4722
- var defaultImport37 = __toESM(require("@splunk/visualizations-shared/simpleXMLOptions"));
4723
- __reExport(simpleXMLOptions_exports, require("@splunk/visualizations-shared/simpleXMLOptions"));
4724
- var simpleXMLOptions_default = "default" in defaultImport37 ? defaultImport37.default : defaultImport37;
4725
-
4726
5018
  // src/Area/areaUtils.ts
4727
- var transformOptions = (originalOptions) => {
4728
- const returnOptions = (0, propUtils_exports.adjustOptionsToSchema)(originalOptions, config_default.optionsSchema);
4729
- return __spreadProps(__spreadValues({}, (0, simpleXMLOptions_exports.getSimpleXMLOptionsForProps)(convertToAreaSCProperties(returnOptions))), {
4730
- chart: "area"
5019
+ var transformOptions = (originalOptions, isAcceleratedRenderOn) => {
5020
+ if (!isAcceleratedRenderOn) {
5021
+ const returnOptions = (0, propUtils_exports.adjustOptionsToSchema)(originalOptions, config_default.optionsSchema);
5022
+ return __spreadProps(__spreadValues({}, (0, simpleXMLOptions_exports.getSimpleXMLOptionsForProps)(convertToAreaSCProperties(returnOptions))), {
5023
+ chart: "area"
5024
+ });
5025
+ }
5026
+ const preservedProps = [
5027
+ ...SHARED_AXIS_CHART_CANVAS_SPECIFIC_PROPS
5028
+ // Note: yAxisMajorTickInterval, y2AxisMajorTickInterval, showYAxisWithZero, and showY2AxisWithZero
5029
+ // are NOT canvas-specific. They're mapped to SimpleXML props in lineOptionsSCMapping
5030
+ ];
5031
+ return transformAxisChartOptions({
5032
+ originalOptions,
5033
+ optionsSchema: config_default.optionsSchema,
5034
+ chart: "area",
5035
+ convertToSCProps: convertToAreaSCProperties,
5036
+ preservedProps
4731
5037
  });
4732
5038
  };
4733
5039
  var convertToAreaSCProperties = (originalOptions) => {
@@ -4757,6 +5063,8 @@ var convertToAreaSCProperties = (originalOptions) => {
4757
5063
  seriesColorsByField: "fieldColors",
4758
5064
  nullValueDisplay: "nullValueMode",
4759
5065
  lineDashStylesByField: "fieldDashStyles",
5066
+ stepPositionsByField: "fieldStepPositions",
5067
+ stepPosition: "stepPosition",
4760
5068
  xAxisLineVisibility: "xAxisVisibility",
4761
5069
  yAxisLineVisibility: "yAxisVisibility",
4762
5070
  y2AxisLineVisibility: "y2AxisVisibility",
@@ -4794,7 +5102,13 @@ var convertToAreaSCProperties = (originalOptions) => {
4794
5102
  ellipsisOff: "ellipsisNone"
4795
5103
  }
4796
5104
  };
4797
- const stingValues = ["seriesColors", "fieldColors", "legendLabels", "fieldDashStyles"];
5105
+ const stingValues = [
5106
+ "seriesColors",
5107
+ "fieldColors",
5108
+ "legendLabels",
5109
+ "fieldDashStyles",
5110
+ "fieldStepPositions"
5111
+ ];
4798
5112
  return (0, propUtils_exports.convertToSCProperties)(
4799
5113
  originalOptions,
4800
5114
  areaOptionsSCMapping,
@@ -4822,6 +5136,53 @@ __reExport(themes_exports, require("@splunk/themes"));
4822
5136
  var themes_default = "default" in defaultImport39 ? defaultImport39.default : defaultImport39;
4823
5137
 
4824
5138
  // src/common/hocs/withTrellis.tsx
5139
+ var evaluatePanelOption = (panelDataSources, allOptions, optionKey, vizContext) => {
5140
+ try {
5141
+ const evaluated = Options_exports.Options.evaluate({ context: vizContext, options: allOptions }, panelDataSources);
5142
+ const num = Number(evaluated == null ? void 0 : evaluated[optionKey]);
5143
+ return Number.isNaN(num) ? Number.NaN : num;
5144
+ } catch (e) {
5145
+ return Number.NaN;
5146
+ }
5147
+ };
5148
+ var sortTrellisKeys = (keys, trellisSortBy, trellisSortOrder, modifiedDataSourceBySplitBy, mergedOptions, vizContext) => {
5149
+ if (trellisSortBy === "name") {
5150
+ keys.sort((a, b) => {
5151
+ const cmp = a.localeCompare(b, void 0, { numeric: true, sensitivity: "base" });
5152
+ return trellisSortOrder === "descending" ? -cmp : cmp;
5153
+ });
5154
+ } else if (trellisSortBy === "value" || trellisSortBy === "trend") {
5155
+ let optionKey;
5156
+ if (trellisSortBy === "trend") {
5157
+ optionKey = "trendValue";
5158
+ } else {
5159
+ optionKey = mergedOptions.value !== void 0 ? "value" : "majorValue";
5160
+ }
5161
+ keys.sort((a, b) => {
5162
+ const valA = evaluatePanelOption(
5163
+ modifiedDataSourceBySplitBy[a],
5164
+ mergedOptions,
5165
+ optionKey,
5166
+ vizContext
5167
+ );
5168
+ const valB = evaluatePanelOption(
5169
+ modifiedDataSourceBySplitBy[b],
5170
+ mergedOptions,
5171
+ optionKey,
5172
+ vizContext
5173
+ );
5174
+ const nanA = Number.isNaN(valA);
5175
+ const nanB = Number.isNaN(valB);
5176
+ if (nanA && nanB) return 0;
5177
+ if (nanA) return 1;
5178
+ if (nanB) return -1;
5179
+ const cmp = valA - valB;
5180
+ return trellisSortOrder === "descending" ? -cmp : cmp;
5181
+ });
5182
+ } else if (trellisSortOrder === "descending") {
5183
+ keys.reverse();
5184
+ }
5185
+ };
4825
5186
  var TrellisContainer = styled_components_default.div`
4826
5187
  overflow: hidden;
4827
5188
  display: flex;
@@ -4866,6 +5227,14 @@ var showErrorMessage = (errorCode, width, height) => {
4866
5227
  }
4867
5228
  return /* @__PURE__ */ react_exports.createElement(Message_default, { width, height, message: (0, i18n_exports._)("Error render in trellis"), level: "info" });
4868
5229
  };
5230
+ var resolveTrellisSplitBy = (trellisSplitBy, fields) => {
5231
+ var _a;
5232
+ if (trellisSplitBy && trellisSplitBy.length > 0) {
5233
+ return trellisSplitBy;
5234
+ }
5235
+ const splitByPossibleFields = (0, trellisUtils_exports.getAllPossibleSplitByFields)(fields);
5236
+ return ((_a = splitByPossibleFields.fields) == null ? void 0 : _a.length) ? splitByPossibleFields.fields[0] : AGGREGATIONS;
5237
+ };
4869
5238
  var withTrellis = (Viz) => {
4870
5239
  const VizWithTrellis = (opts) => {
4871
5240
  const cachedHandleResize = react_exports.useCallback((w, h) => {
@@ -4874,7 +5243,7 @@ var withTrellis = (Viz) => {
4874
5243
  }, []);
4875
5244
  const [containerWidth, setContainerWidth] = react_exports.useState(Number(opts.width));
4876
5245
  const [containerHeight, setContainerHeight] = react_exports.useState(Number(opts.height));
4877
- const _a = opts, { options = {}, height, width } = _a, otherProps = __objRest(_a, ["options", "height", "width"]);
5246
+ const _a = opts, { options = {}, context = {}, height, width } = _a, otherProps = __objRest(_a, ["options", "context", "height", "width"]);
4878
5247
  const defaultOptions = (0, JSONSchemaUtils_exports.pickFieldFromJSONSchema)(Viz.config.optionsSchema, "default");
4879
5248
  const mergedOptions = (0, hocUtils_exports.deepMergeWithArrayPrimitiveOverrides)({}, options, defaultOptions);
4880
5249
  const {
@@ -4884,6 +5253,8 @@ var withTrellis = (Viz) => {
4884
5253
  trellisRowHeight,
4885
5254
  splitByLayout,
4886
5255
  trellisSplitBy,
5256
+ trellisSortBy,
5257
+ trellisSortOrder,
4887
5258
  trellisSharedScale,
4888
5259
  stackMode,
4889
5260
  yAxisMin,
@@ -4952,7 +5323,7 @@ var withTrellis = (Viz) => {
4952
5323
  }, [pageCount, trellisSplitBy]);
4953
5324
  (0, react_exports.useEffect)(() => {
4954
5325
  updateDataDisplay(pageNum);
4955
- }, [columns, fields, trellisSplitBy, pageNum, splitByLayout]);
5326
+ }, [columns, fields, trellisSplitBy, trellisSortBy, trellisSortOrder, pageNum, splitByLayout]);
4956
5327
  const handlePageChange = (0, react_exports.useCallback)(
4957
5328
  (event, { page }) => {
4958
5329
  setPageNum(page);
@@ -4960,9 +5331,7 @@ var withTrellis = (Viz) => {
4960
5331
  [pageNum, pagedData]
4961
5332
  );
4962
5333
  const featureFlagContext = react_exports.useContext(FeatureFlagContext_default);
4963
- const isTrellisFeatureFlagOn5 = Boolean(
4964
- featureFlagContext && featureFlagContext.visualizations_enableTrellis
4965
- );
5334
+ const isTrellisFeatureFlagOn5 = Boolean(featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableTrellis);
4966
5335
  if (!isTrellisFeatureFlagOn5 || !splitByLayout || splitByLayout !== visualization_schemas_exports.LAYOUT_TYPE.Trellis) {
4967
5336
  return /* @__PURE__ */ react_exports.createElement(Viz, __spreadValues({}, opts));
4968
5337
  }
@@ -4970,14 +5339,9 @@ var withTrellis = (Viz) => {
4970
5339
  if (noColumns || noFields) {
4971
5340
  return /* @__PURE__ */ react_exports.createElement(Message_default, { width, height, message: (0, i18n_exports._)("Loading"), level: "info" });
4972
5341
  }
4973
- let currTrellisSplitBy = trellisSplitBy;
4974
- if (!trellisSplitBy || trellisSplitBy.length === 0) {
4975
- const splitByPossibleFields = (0, trellisUtils_exports.getAllPossibleSplitByFields)(fields);
4976
- currTrellisSplitBy = splitByPossibleFields.fields && splitByPossibleFields.fields.length ? splitByPossibleFields.fields[0] : AGGREGATIONS;
4977
- }
4978
- const splitMode = (0, trellisUtils_exports.getTrellisDataSplitterMode)(fields);
5342
+ const currTrellisSplitBy = resolveTrellisSplitBy(trellisSplitBy, fields);
4979
5343
  const dataSplitResult = getTrellisDataSourcesBySplitMode(
4980
- splitMode,
5344
+ (0, trellisUtils_exports.getTrellisDataSplitterMode)(fields),
4981
5345
  dataSources,
4982
5346
  currTrellisSplitBy
4983
5347
  );
@@ -4986,12 +5350,19 @@ var withTrellis = (Viz) => {
4986
5350
  if (!modifiedDataSourceBySplitBy || Object.keys(modifiedDataSourceBySplitBy).length === 0 || dataSplitErrorCode) {
4987
5351
  return showErrorMessage(dataSplitErrorCode, width, height);
4988
5352
  }
4989
- const splitByKeysModified = modifiedDataSourceBySplitBy ? Object.keys(modifiedDataSourceBySplitBy) : [];
4990
- if (splitByKeysModified) {
4991
- showPaginator = splitByKeysModified.length > pageCount;
4992
- splitByKeys = splitByKeysModified;
4993
- totalPages = splitByKeysModified ? Math.ceil(splitByKeysModified.length / pageCount) : 0;
4994
- }
5353
+ const splitByKeysModified = Object.keys(modifiedDataSourceBySplitBy);
5354
+ const vizContext = (0, lodash_exports.defaultsDeep)({}, context, Viz.config.defaultContext);
5355
+ sortTrellisKeys(
5356
+ splitByKeysModified,
5357
+ trellisSortBy,
5358
+ trellisSortOrder,
5359
+ modifiedDataSourceBySplitBy,
5360
+ mergedOptions,
5361
+ vizContext
5362
+ );
5363
+ showPaginator = splitByKeysModified.length > pageCount;
5364
+ splitByKeys = splitByKeysModified;
5365
+ totalPages = Math.ceil(splitByKeysModified.length / pageCount);
4995
5366
  const [calculatedMin, calculatedMax] = determineMinMax(
4996
5367
  modifiedDataSourceBySplitBy,
4997
5368
  trellisSharedScale,
@@ -5025,6 +5396,7 @@ var withTrellis = (Viz) => {
5025
5396
  /* @__PURE__ */ react_exports.createElement(
5026
5397
  Viz,
5027
5398
  __spreadProps(__spreadValues({}, otherProps), {
5399
+ context,
5028
5400
  trellisKey: splitByKey,
5029
5401
  trellisSplitBy: currTrellisSplitBy,
5030
5402
  dataSources: modifiedDataSourceBySplitBy[splitByKey],
@@ -5057,6 +5429,7 @@ var withTrellis = (Viz) => {
5057
5429
  var withTrellis_default = withTrellis;
5058
5430
 
5059
5431
  // src/Area/Area.tsx
5432
+ var getMemoizedAdditionalTooltipValues = createAdditionalTooltipValuesMemoizer();
5060
5433
  var computeVizProps = (_a) => {
5061
5434
  var _b = _a, {
5062
5435
  dataSources,
@@ -5072,7 +5445,8 @@ var computeVizProps = (_a) => {
5072
5445
  visualizationApiRef,
5073
5446
  trellisKey,
5074
5447
  trellisSplitBy,
5075
- themeFunc
5448
+ themeFunc,
5449
+ isAcceleratedRenderOn
5076
5450
  } = _b, otherOptions = __objRest(_b, [
5077
5451
  "dataSources",
5078
5452
  "onEventTrigger",
@@ -5087,18 +5461,23 @@ var computeVizProps = (_a) => {
5087
5461
  "visualizationApiRef",
5088
5462
  "trellisKey",
5089
5463
  "trellisSplitBy",
5090
- "themeFunc"
5464
+ "themeFunc",
5465
+ "isAcceleratedRenderOn"
5091
5466
  ]);
5467
+ var _a2;
5092
5468
  const defaultFontColor = themeFunc("defaultFontColor");
5093
5469
  const computedProps = {
5094
5470
  visualizationApiRef,
5095
5471
  trellisKey,
5096
5472
  trellisSplitBy,
5097
5473
  defaultFontColor,
5098
- onEventTrigger
5474
+ onEventTrigger,
5475
+ // we want to turn marker Display off for area charts since it is not a supported option.
5476
+ // but it is supported for Line
5477
+ markerDisplay: "off"
5099
5478
  };
5100
5479
  const { y2, y2Fields, hasEventHandlers, eventHandlers } = otherOptions;
5101
- computedProps.options = transformOptions(otherOptions);
5480
+ computedProps.options = transformOptions(otherOptions, isAcceleratedRenderOn);
5102
5481
  const chartingAnnotations = getAnnotations({
5103
5482
  annotationX,
5104
5483
  annotationColor,
@@ -5127,6 +5506,16 @@ var computeVizProps = (_a) => {
5127
5506
  computedProps.onPointMouseOver = onEventTrigger;
5128
5507
  computedProps.onPointMouseOut = onEventTrigger;
5129
5508
  }
5509
+ computedProps.eventHandlers = eventHandlers;
5510
+ computedProps.xField = xField;
5511
+ if (((_a2 = dataSources == null ? void 0 : dataSources.primary) == null ? void 0 : _a2.data) && (additionalTooltipFields == null ? void 0 : additionalTooltipFields.length)) {
5512
+ const { columns: originalColumns, fields: originalFields } = dataSources.primary.data;
5513
+ computedProps.additionalTooltipValues = getMemoizedAdditionalTooltipValues(
5514
+ originalColumns,
5515
+ originalFields,
5516
+ additionalTooltipFields
5517
+ );
5518
+ }
5130
5519
  return computedProps;
5131
5520
  };
5132
5521
  var Area = withTrellis_default(