@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/MarkerGauge.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/MarkerGauge/index.ts
64
66
  var MarkerGauge_exports = {};
@@ -88,95 +90,86 @@ var defaultImport2 = __toESM(require("react"));
88
90
  __reExport(react_exports, require("react"));
89
91
  var react_default = "default" in defaultImport2 ? defaultImport2.default : defaultImport2;
90
92
 
91
- // esm-externals:prop-types
92
- var prop_types_exports = {};
93
- __export(prop_types_exports, {
94
- default: () => prop_types_default
95
- });
96
- var defaultImport3 = __toESM(require("prop-types"));
97
- __reExport(prop_types_exports, require("prop-types"));
98
- var prop_types_default = "default" in defaultImport3 ? defaultImport3.default : defaultImport3;
99
-
100
93
  // esm-externals:styled-components
101
94
  var styled_components_exports = {};
102
95
  __export(styled_components_exports, {
103
96
  default: () => styled_components_default
104
97
  });
105
- var defaultImport4 = __toESM(require("styled-components"));
98
+ var defaultImport3 = __toESM(require("styled-components"));
106
99
  __reExport(styled_components_exports, require("styled-components"));
107
- var styled_components_default = "default" in defaultImport4 ? defaultImport4.default : defaultImport4;
100
+ var styled_components_default = "default" in defaultImport3 ? defaultImport3.default : defaultImport3;
108
101
 
109
102
  // esm-externals:@splunk/ui-utils/i18n
110
103
  var i18n_exports = {};
111
104
  __export(i18n_exports, {
112
105
  default: () => i18n_default
113
106
  });
114
- var defaultImport5 = __toESM(require("@splunk/ui-utils/i18n"));
107
+ var defaultImport4 = __toESM(require("@splunk/ui-utils/i18n"));
115
108
  __reExport(i18n_exports, require("@splunk/ui-utils/i18n"));
116
- var i18n_default = "default" in defaultImport5 ? defaultImport5.default : defaultImport5;
109
+ var i18n_default = "default" in defaultImport4 ? defaultImport4.default : defaultImport4;
117
110
 
118
111
  // esm-externals:@splunk/visualizations-shared/style
119
112
  var style_exports = {};
120
113
  __export(style_exports, {
121
114
  default: () => style_default
122
115
  });
123
- var defaultImport6 = __toESM(require("@splunk/visualizations-shared/style"));
116
+ var defaultImport5 = __toESM(require("@splunk/visualizations-shared/style"));
124
117
  __reExport(style_exports, require("@splunk/visualizations-shared/style"));
125
- var style_default = "default" in defaultImport6 ? defaultImport6.default : defaultImport6;
118
+ var style_default = "default" in defaultImport5 ? defaultImport5.default : defaultImport5;
126
119
 
127
120
  // esm-externals:@splunk/visualizations-shared/SizeAwareWrapper
128
121
  var SizeAwareWrapper_exports = {};
129
122
  __export(SizeAwareWrapper_exports, {
130
123
  default: () => SizeAwareWrapper_default
131
124
  });
132
- var defaultImport7 = __toESM(require("@splunk/visualizations-shared/SizeAwareWrapper"));
125
+ var defaultImport6 = __toESM(require("@splunk/visualizations-shared/SizeAwareWrapper"));
133
126
  __reExport(SizeAwareWrapper_exports, require("@splunk/visualizations-shared/SizeAwareWrapper"));
134
- var SizeAwareWrapper_default = "default" in defaultImport7 ? defaultImport7.default : defaultImport7;
127
+ var SizeAwareWrapper_default = "default" in defaultImport6 ? defaultImport6.default : defaultImport6;
135
128
 
136
129
  // esm-externals:@splunk/visualizations-shared/Message
137
130
  var Message_exports = {};
138
131
  __export(Message_exports, {
139
132
  default: () => Message_default
140
133
  });
141
- var defaultImport8 = __toESM(require("@splunk/visualizations-shared/Message"));
134
+ var defaultImport7 = __toESM(require("@splunk/visualizations-shared/Message"));
142
135
  __reExport(Message_exports, require("@splunk/visualizations-shared/Message"));
143
- var Message_default = "default" in defaultImport8 ? defaultImport8.default : defaultImport8;
136
+ var Message_default = "default" in defaultImport7 ? defaultImport7.default : defaultImport7;
144
137
 
145
138
  // esm-externals:@splunk/ui-utils/id
146
139
  var id_exports = {};
147
140
  __export(id_exports, {
148
141
  default: () => id_default
149
142
  });
150
- var defaultImport9 = __toESM(require("@splunk/ui-utils/id"));
143
+ var defaultImport8 = __toESM(require("@splunk/ui-utils/id"));
151
144
  __reExport(id_exports, require("@splunk/ui-utils/id"));
152
- var id_default = "default" in defaultImport9 ? defaultImport9.default : defaultImport9;
145
+ var id_default = "default" in defaultImport8 ? defaultImport8.default : defaultImport8;
153
146
 
154
147
  // esm-externals:@splunk/visualization-schemas
155
148
  var visualization_schemas_exports = {};
156
149
  __export(visualization_schemas_exports, {
157
150
  default: () => visualization_schemas_default
158
151
  });
159
- var defaultImport10 = __toESM(require("@splunk/visualization-schemas"));
152
+ var defaultImport9 = __toESM(require("@splunk/visualization-schemas"));
160
153
  __reExport(visualization_schemas_exports, require("@splunk/visualization-schemas"));
161
- var visualization_schemas_default = "default" in defaultImport10 ? defaultImport10.default : defaultImport10;
154
+ var visualization_schemas_default = "default" in defaultImport9 ? defaultImport9.default : defaultImport9;
162
155
 
163
156
  // esm-externals:@splunk/visualizations-shared/colorConstants
164
157
  var colorConstants_exports = {};
165
158
  __export(colorConstants_exports, {
166
159
  default: () => colorConstants_default
167
160
  });
168
- var defaultImport11 = __toESM(require("@splunk/visualizations-shared/colorConstants"));
161
+ var defaultImport10 = __toESM(require("@splunk/visualizations-shared/colorConstants"));
169
162
  __reExport(colorConstants_exports, require("@splunk/visualizations-shared/colorConstants"));
170
- var colorConstants_default = "default" in defaultImport11 ? defaultImport11.default : defaultImport11;
163
+ var colorConstants_default = "default" in defaultImport10 ? defaultImport10.default : defaultImport10;
171
164
 
172
165
  // esm-externals:@splunk/visualizations-shared/numberUtils
173
166
  var numberUtils_exports = {};
174
167
  __export(numberUtils_exports, {
175
168
  default: () => numberUtils_default
176
169
  });
177
- var defaultImport12 = __toESM(require("@splunk/visualizations-shared/numberUtils"));
170
+ var defaultImport11 = __toESM(require("@splunk/visualizations-shared/numberUtils"));
178
171
  __reExport(numberUtils_exports, require("@splunk/visualizations-shared/numberUtils"));
179
- var numberUtils_default = "default" in defaultImport12 ? defaultImport12.default : defaultImport12;
172
+ var numberUtils_default = "default" in defaultImport11 ? defaultImport11.default : defaultImport11;
180
173
 
181
174
  // src/common/gaugeUtils.ts
182
175
  var GAUGE_THICKNESS = 50;
@@ -523,6 +516,15 @@ var mapValueLabelDisplay = (labelOrValue, options) => {
523
516
  };
524
517
  var convertToGaugeProperties = (originalOptions) => (0, lodash_exports.chain)(mapToOldKey(originalOptions)).thru((options) => mapValueLabelDisplay("label", options)).thru((options) => mapValueLabelDisplay("value", options)).value();
525
518
 
519
+ // esm-externals:prop-types
520
+ var prop_types_exports = {};
521
+ __export(prop_types_exports, {
522
+ default: () => prop_types_default
523
+ });
524
+ var defaultImport12 = __toESM(require("prop-types"));
525
+ __reExport(prop_types_exports, require("prop-types"));
526
+ var prop_types_default = "default" in defaultImport12 ? defaultImport12.default : defaultImport12;
527
+
526
528
  // src/common/GaugeMajorTicks.jsx
527
529
  var TICK_LENGTH_DELTA = 5;
528
530
  var TICK_LABEL_PADDING_FACTOR = 3.2;
@@ -911,8 +913,27 @@ var TrellisTitleDiv = styled_components_default.div`
911
913
  background-color: ${(props) => props.backgroundColor};
912
914
  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.
913
915
  `;
916
+ var formatTrellisKey = (value) => {
917
+ if (value === null || value === void 0) {
918
+ return "";
919
+ }
920
+ if (typeof value === "string") {
921
+ return value;
922
+ }
923
+ if (typeof value === "number" || typeof value === "boolean") {
924
+ return value.toString();
925
+ }
926
+ if (typeof value === "symbol") {
927
+ return value.toString();
928
+ }
929
+ try {
930
+ return JSON.stringify(value);
931
+ } catch (e) {
932
+ return typeof value === "bigint" ? value.toString() : "";
933
+ }
934
+ };
914
935
  var TrellisTitle = (props) => {
915
- const titleText = String(props.trellisKey).toString();
936
+ const titleText = formatTrellisKey(props.trellisKey);
916
937
  return /* @__PURE__ */ react_exports.createElement(
917
938
  TrellisTitleDiv,
918
939
  {
@@ -957,29 +978,32 @@ var BackgroundBar = styled_components_default.rect.attrs({
957
978
  fill: ${(props) => props.fillColor};
958
979
  `;
959
980
  var MarkerBar = styled_components_default.rect.attrs({ "data-test": "marker-bar-rect" })``;
960
- var MarkerGauge = (_a) => {
961
- var props = __objRest(_a, []);
962
- const {
963
- width,
964
- height,
965
- value,
966
- orientation,
967
- majorUnit,
968
- showLabels,
969
- showValue,
970
- usePercentageRange,
971
- usePercentageValue,
972
- backgroundColor,
973
- fillColor,
974
- ranges,
975
- majorTickFillColor,
976
- majorTickStrokeColor,
977
- valueMarkerFillColor,
978
- valueMarkerLabelFillColor,
979
- splitByLayout = visualization_schemas_exports.LAYOUT_TYPE.Off,
980
- defaultFontColor = "#000",
981
- trellisKey = ""
982
- } = props;
981
+ var DEFAULT_RANGES = [
982
+ { from: 0, to: 50, value: "#4BEBA8" },
983
+ { from: 50, to: 90, value: "#F4DF7A" },
984
+ { from: 90, to: 100, value: "#CB3B43" }
985
+ ];
986
+ var MarkerGauge = ({
987
+ width = "100%",
988
+ height = 250,
989
+ value = 0,
990
+ orientation = "vertical",
991
+ majorUnit = "auto",
992
+ showLabels = true,
993
+ showValue = true,
994
+ usePercentageRange = false,
995
+ usePercentageValue = false,
996
+ backgroundColor = "transparent",
997
+ fillColor = "#f2f4f5",
998
+ majorTickFillColor = "#3c444d",
999
+ majorTickStrokeColor = "#6b7785",
1000
+ valueMarkerFillColor = "#3c444d",
1001
+ valueMarkerLabelFillColor = "#f2f4f5",
1002
+ ranges = DEFAULT_RANGES,
1003
+ splitByLayout = visualization_schemas_exports.LAYOUT_TYPE.Off,
1004
+ defaultFontColor = "#000",
1005
+ trellisKey = ""
1006
+ }) => {
983
1007
  const trellisEnabled = useTrellisEnabled(splitByLayout);
984
1008
  const cachedHandleResize = react_exports.useCallback((w, h) => {
985
1009
  setContainerWidth(w);
@@ -1167,65 +1191,6 @@ var MarkerGauge = (_a) => {
1167
1191
  renderVisualization()
1168
1192
  );
1169
1193
  };
1170
- MarkerGauge.propTypes = {
1171
- width: prop_types_exports.oneOfType([prop_types_exports.string, prop_types_exports.number]),
1172
- height: prop_types_exports.oneOfType([prop_types_exports.string, prop_types_exports.number]),
1173
- value: prop_types_exports.number,
1174
- orientation: prop_types_exports.oneOf(["horizontal", "vertical"]),
1175
- majorUnit: prop_types_exports.oneOfType([prop_types_exports.string, prop_types_exports.number]),
1176
- showLabels: prop_types_exports.bool,
1177
- showValue: prop_types_exports.bool,
1178
- usePercentageRange: prop_types_exports.bool,
1179
- usePercentageValue: prop_types_exports.bool,
1180
- backgroundColor: prop_types_exports.string,
1181
- fillColor: prop_types_exports.string,
1182
- ranges: prop_types_exports.arrayOf(
1183
- prop_types_exports.shape({
1184
- from: prop_types_exports.number.isRequired,
1185
- // For now, we want close bounds - range should include 'from' and 'to'
1186
- to: prop_types_exports.number.isRequired,
1187
- value: prop_types_exports.string.isRequired
1188
- })
1189
- ),
1190
- majorTickFillColor: prop_types_exports.string,
1191
- majorTickStrokeColor: prop_types_exports.string,
1192
- valueMarkerFillColor: prop_types_exports.string,
1193
- valueMarkerLabelFillColor: prop_types_exports.string
1194
- };
1195
- MarkerGauge.defaultProps = {
1196
- width: "100%",
1197
- height: 250,
1198
- orientation: "vertical",
1199
- majorUnit: "auto",
1200
- showLabels: true,
1201
- showValue: true,
1202
- usePercentageRange: false,
1203
- usePercentageValue: false,
1204
- backgroundColor: "transparent",
1205
- value: 0,
1206
- fillColor: "#f2f4f5",
1207
- majorTickFillColor: "#3c444d",
1208
- majorTickStrokeColor: "#6b7785",
1209
- valueMarkerFillColor: "#3c444d",
1210
- valueMarkerLabelFillColor: "#f2f4f5",
1211
- ranges: [
1212
- {
1213
- from: 0,
1214
- to: 50,
1215
- value: "#4BEBA8"
1216
- },
1217
- {
1218
- from: 50,
1219
- to: 90,
1220
- value: "#F4DF7A"
1221
- },
1222
- {
1223
- from: 90,
1224
- to: 100,
1225
- value: "#CB3B43"
1226
- }
1227
- ]
1228
- };
1229
1194
  var MarkerGauge_default = MarkerGauge;
1230
1195
 
1231
1196
  // esm-externals:@splunk/visualization-icons
@@ -1366,26 +1331,59 @@ var isTrellisEnabled = ({ options, featureFlags }) => {
1366
1331
  const { splitByLayout = visualization_schemas_exports.LAYOUT_TYPE.Off } = options;
1367
1332
  return isTrellisFeatureFlagOn({ featureFlags }) && splitByLayout === visualization_schemas_exports.LAYOUT_TYPE.Trellis;
1368
1333
  };
1369
- var TrellisEditorConfig = [
1370
- [
1371
- {
1372
- label: (0, i18n_exports._)("Trellis layout"),
1373
- option: "splitByLayout",
1374
- editor: "editor.toggle",
1375
- showEditor: isTrellisFeatureFlagOn
1376
- }
1377
- ],
1378
- [
1379
- {
1380
- label: (0, i18n_exports._)("Split by"),
1381
- option: "trellisSplitBy",
1382
- editor: "editor.trellisSplitBy",
1383
- editorProps: {
1384
- dataSourceKey: "primary"
1385
- },
1386
- showEditor: isTrellisEnabled
1387
- }
1388
- ],
1334
+ var sortByValuesBase = [
1335
+ { label: (0, i18n_exports._)("Result"), value: "result" },
1336
+ { label: (0, i18n_exports._)("Name"), value: "name" }
1337
+ ];
1338
+ var sortByValuesWithValue = [...sortByValuesBase, { label: (0, i18n_exports._)("Value"), value: "value" }];
1339
+ var sortByValuesWithValueAndTrend = [
1340
+ ...sortByValuesBase,
1341
+ { label: (0, i18n_exports._)("Value"), value: "value" },
1342
+ { label: (0, i18n_exports._)("Trend"), value: "trend" }
1343
+ ];
1344
+ var makeSortRow = (sortByValues) => [
1345
+ {
1346
+ label: (0, i18n_exports._)("Sort by"),
1347
+ option: "trellisSortBy",
1348
+ editor: "editor.select",
1349
+ editorProps: {
1350
+ values: sortByValues
1351
+ },
1352
+ showEditor: isTrellisEnabled
1353
+ },
1354
+ {
1355
+ label: (0, i18n_exports._)("Sort order"),
1356
+ option: "trellisSortOrder",
1357
+ editor: "editor.select",
1358
+ editorProps: {
1359
+ values: [
1360
+ { label: (0, i18n_exports._)("Ascending"), value: "ascending" },
1361
+ { label: (0, i18n_exports._)("Descending"), value: "descending" }
1362
+ ]
1363
+ },
1364
+ showEditor: isTrellisEnabled
1365
+ }
1366
+ ];
1367
+ var trellisLayoutRow = [
1368
+ {
1369
+ label: (0, i18n_exports._)("Trellis layout"),
1370
+ option: "splitByLayout",
1371
+ editor: "editor.toggle",
1372
+ showEditor: isTrellisFeatureFlagOn
1373
+ }
1374
+ ];
1375
+ var trellisSplitByRow = [
1376
+ {
1377
+ label: (0, i18n_exports._)("Split by"),
1378
+ option: "trellisSplitBy",
1379
+ editor: "editor.trellisSplitBy",
1380
+ editorProps: {
1381
+ dataSourceKey: "primary"
1382
+ },
1383
+ showEditor: isTrellisEnabled
1384
+ }
1385
+ ];
1386
+ var trellisLayoutRows = [
1389
1387
  [
1390
1388
  {
1391
1389
  label: (0, i18n_exports._)("Number of columns"),
@@ -1429,6 +1427,24 @@ var TrellisEditorConfig = [
1429
1427
  }
1430
1428
  ]
1431
1429
  ];
1430
+ var TrellisEditorConfig = [
1431
+ trellisLayoutRow,
1432
+ trellisSplitByRow,
1433
+ makeSortRow(sortByValuesBase),
1434
+ ...trellisLayoutRows
1435
+ ];
1436
+ var GaugeTrellisEditorConfig = [
1437
+ trellisLayoutRow,
1438
+ trellisSplitByRow,
1439
+ makeSortRow(sortByValuesWithValue),
1440
+ ...trellisLayoutRows
1441
+ ];
1442
+ var SingleValueTrellisEditorConfig = [
1443
+ trellisLayoutRow,
1444
+ trellisSplitByRow,
1445
+ makeSortRow(sortByValuesWithValueAndTrend),
1446
+ ...trellisLayoutRows
1447
+ ];
1432
1448
  var TimechartTrellisEditorConfig = [
1433
1449
  [
1434
1450
  {
@@ -1436,7 +1452,6 @@ var TimechartTrellisEditorConfig = [
1436
1452
  option: "splitByLayout",
1437
1453
  editor: "editor.toggle",
1438
1454
  showEditor: isTrellisFeatureFlagOn,
1439
- // add help text for timecharts
1440
1455
  editorProps: {
1441
1456
  help: (0, i18n_exports._)(
1442
1457
  "Y2-axis and overlay field configurations are not supported when trellis is enabled."
@@ -1445,7 +1460,9 @@ var TimechartTrellisEditorConfig = [
1445
1460
  }
1446
1461
  }
1447
1462
  ],
1448
- ...TrellisEditorConfig.slice(1),
1463
+ trellisSplitByRow,
1464
+ makeSortRow(sortByValuesBase),
1465
+ ...trellisLayoutRows,
1449
1466
  [
1450
1467
  {
1451
1468
  label: (0, i18n_exports._)("Shared y-axis scale"),
@@ -1540,7 +1557,7 @@ var editorConfig = [
1540
1557
  },
1541
1558
  {
1542
1559
  label: Gauge_default.label,
1543
- layout: [...Gauge_default.layout, ...TrellisEditorConfig]
1560
+ layout: [...Gauge_default.layout, ...GaugeTrellisEditorConfig]
1544
1561
  },
1545
1562
  {
1546
1563
  label: (0, i18n_exports._)("Color and style"),
@@ -1679,7 +1696,7 @@ var DefaultVizActionHandler = class {
1679
1696
  var INITIAL_HEIGHT = 250;
1680
1697
  var SplunkVisualization = class {
1681
1698
  };
1682
- SplunkVisualization.propTypes = {
1699
+ __publicField(SplunkVisualization, "propTypes", {
1683
1700
  /**
1684
1701
  * display mode
1685
1702
  */
@@ -1755,11 +1772,11 @@ SplunkVisualization.propTypes = {
1755
1772
  * A callback to request new data with updated request params
1756
1773
  */
1757
1774
  onRequestParamsChange: prop_types_exports.func
1758
- };
1775
+ });
1759
1776
  /**
1760
1777
  *
1761
1778
  */
1762
- SplunkVisualization.defaults = {
1779
+ __publicField(SplunkVisualization, "defaults", {
1763
1780
  // BaseVisualization in dashboard-visualizations uses 100% for width but 250 for height
1764
1781
  width: "100%",
1765
1782
  height: INITIAL_HEIGHT,
@@ -1774,7 +1791,7 @@ SplunkVisualization.defaults = {
1774
1791
  onComputedProps: () => ({}),
1775
1792
  loading: false,
1776
1793
  onRequestParamsChange: lodash_exports.noop
1777
- };
1794
+ });
1778
1795
  var SplunkVisualization_default = SplunkVisualization;
1779
1796
 
1780
1797
  // src/common/interfaces/DataSource.ts
@@ -1828,9 +1845,9 @@ var usePaginationParams = ({
1828
1845
  meta,
1829
1846
  onRequestParamsChange
1830
1847
  }) => {
1831
- const totalCount = meta && meta.totalCount || 0;
1832
- const offset = requestParams && requestParams.offset || 0;
1833
- const count = requestParams && requestParams.count;
1848
+ const totalCount = (meta == null ? void 0 : meta.totalCount) || 0;
1849
+ const offset = (requestParams == null ? void 0 : requestParams.offset) || 0;
1850
+ const count = requestParams == null ? void 0 : requestParams.count;
1834
1851
  const totalPages = typeof count === "number" && count > 0 ? Math.ceil(totalCount / count) : 0;
1835
1852
  const current = typeof count === "number" && count > 0 ? Math.floor(offset / count) + 1 : 0;
1836
1853
  const isPaging = totalPages > 1 && typeof onRequestParamsChange === "function";
@@ -1920,7 +1937,7 @@ var Cover = styled_components_default.div`
1920
1937
  bottom: 0;
1921
1938
  `;
1922
1939
  var Blocker = styled_components_default.div.attrs({
1923
- "data-splunk-visualization-version": "28.5.3 - 657435b86"
1940
+ "data-splunk-visualization-version": "28.7.0 - d7b18cab6"
1924
1941
  })`
1925
1942
  position: relative;
1926
1943
  width: 100%;
@@ -2001,7 +2018,7 @@ var withFixedSizeContainer = (Viz) => {
2001
2018
  FixSizeItem,
2002
2019
  {
2003
2020
  "data-test": "fix-size-item",
2004
- "data-splunk-visualization-version": "28.5.3 - 657435b86",
2021
+ "data-splunk-visualization-version": "28.7.0 - d7b18cab6",
2005
2022
  width,
2006
2023
  height,
2007
2024
  backgroundColor
@@ -2498,7 +2515,7 @@ var dataSourcesSplitByAggregationsUnknown = (dataSource) => {
2498
2515
  const columns = (_d = (_c = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _c.data) == null ? void 0 : _d.columns;
2499
2516
  let splitDataSources = null;
2500
2517
  let errorCode = null;
2501
- if (fields && fields.length) {
2518
+ if (fields == null ? void 0 : fields.length) {
2502
2519
  splitDataSources = {};
2503
2520
  for (let i = 0; i < fields.length; i += 1) {
2504
2521
  const fieldName = fields[i].name;
@@ -2549,7 +2566,7 @@ var dataSourcesSplitByAggregationsTimechartAndChart = (dataSource) => {
2549
2566
  }
2550
2567
  });
2551
2568
  });
2552
- } else if ((!splitByFields || !splitByFields.length) && fields.length > 1) {
2569
+ } else if (!(splitByFields == null ? void 0 : splitByFields.length) && fields.length > 1) {
2553
2570
  splitDataSources = {};
2554
2571
  for (let i = 1; i < fields.length; i += 1) {
2555
2572
  const fieldName = fields[i].name;
@@ -2605,7 +2622,7 @@ var dataSourcesSplitByModeTimechart = (dataSource, splitBy) => {
2605
2622
  if (fields.length > 0) {
2606
2623
  splitByFields = (0, trellisUtils_exports.extractSplitByFieldsChartFields)(fields);
2607
2624
  }
2608
- if (splitByFields && splitByFields.indexOf(splitBy) > -1) {
2625
+ if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
2609
2626
  splitDataSources = {};
2610
2627
  const dataSourceKeys = (0, trellisUtils_exports.extractDataSourceAggregationKeysChart)(fields);
2611
2628
  const valueKeys = [];
@@ -2636,6 +2653,68 @@ var dataSourcesSplitByModeTimechart = (dataSource, splitBy) => {
2636
2653
  }
2637
2654
  return { splitDataSources, errorCode };
2638
2655
  };
2656
+ var splitRowWise = (dataSource, columns, fields, otherSplitBy, dataSourceKeys, nonDataSourceAggregations) => {
2657
+ const splitDataSources = {};
2658
+ const valueKeys = (0, lodash_exports.cloneDeep)(columns[0]);
2659
+ valueKeys.forEach((val, idx) => {
2660
+ splitDataSources[val] = (0, lodash_exports.cloneDeep)((0, lodash_exports.omit)(dataSource, ["primary.data.fields", "primary.data.columns"]));
2661
+ splitDataSources[val].primary.data.fields = [];
2662
+ if (otherSplitBy.length) {
2663
+ splitDataSources[val].primary.data.fields = [{ name: otherSplitBy[0] }];
2664
+ }
2665
+ if (dataSourceKeys.length) {
2666
+ const columnValues = [[]];
2667
+ splitDataSources[val].primary.data.fields = [
2668
+ ...splitDataSources[val].primary.data.fields,
2669
+ ...dataSourceKeys.map((k) => ({ name: k }))
2670
+ ];
2671
+ dataSourceKeys.forEach(() => {
2672
+ columnValues.push([]);
2673
+ });
2674
+ for (let i = 1; i <= Math.ceil((fields.length - 1) / dataSourceKeys.length); i += 1) {
2675
+ columnValues[0].push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);
2676
+ dataSourceKeys.forEach((dskey, dsIndx) => {
2677
+ const mul = (fields.length - 1) / dataSourceKeys.length;
2678
+ columnValues[dsIndx + 1].push(columns[i + dsIndx * mul][idx]);
2679
+ });
2680
+ }
2681
+ splitDataSources[val].primary.data.columns = columnValues;
2682
+ } else if (nonDataSourceAggregations.length) {
2683
+ const columnValues = [];
2684
+ fields.forEach((aggregationField, fieldIdx) => {
2685
+ if (fieldIdx > 0) {
2686
+ splitDataSources[val].primary.data.fields.push(aggregationField);
2687
+ columnValues.push([columns[fieldIdx][idx]]);
2688
+ }
2689
+ });
2690
+ splitDataSources[val].primary.data.columns = columnValues;
2691
+ }
2692
+ });
2693
+ return splitDataSources;
2694
+ };
2695
+ var splitColumnWise = (dataSource, columns, fields, otherSplitBy, dataSourceKeys) => {
2696
+ const splitDataSources = {};
2697
+ const valueKeys = [];
2698
+ for (let i = 1; i < fields.length; i += 1) {
2699
+ valueKeys.push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);
2700
+ }
2701
+ valueKeys.forEach((val) => {
2702
+ splitDataSources[val] = (0, lodash_exports.cloneDeep)((0, lodash_exports.omit)(dataSource, ["primary.data.fields", "primary.data.columns"]));
2703
+ splitDataSources[val].primary.data.fields = [
2704
+ { name: otherSplitBy[0] },
2705
+ ...dataSourceKeys.map((k) => ({ name: k }))
2706
+ ];
2707
+ splitDataSources[val].primary.data.columns = [[...columns[0]]];
2708
+ dataSourceKeys.forEach((dsKey) => {
2709
+ fields.forEach((field, idx) => {
2710
+ if (field.data_source === dsKey && (field.splitby_value === val || field.name === val)) {
2711
+ splitDataSources[val].primary.data.columns.push([...columns[idx]]);
2712
+ }
2713
+ });
2714
+ });
2715
+ });
2716
+ return splitDataSources;
2717
+ };
2639
2718
  var dataSourcesSplitByModeChart = (dataSource, splitBy) => {
2640
2719
  var _a, _b, _c, _d;
2641
2720
  const fields = toFieldEntries((_b = (_a = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _a.data) == null ? void 0 : _b.fields);
@@ -2646,8 +2725,7 @@ var dataSourcesSplitByModeChart = (dataSource, splitBy) => {
2646
2725
  if (fields.length > 0) {
2647
2726
  splitByFields = (0, trellisUtils_exports.extractSplitByFieldsChartFields)(fields);
2648
2727
  }
2649
- if (splitByFields && splitByFields.indexOf(splitBy) > -1) {
2650
- splitDataSources = {};
2728
+ if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
2651
2729
  const splitByFieldIdx = splitByFields.findIndex((f) => f === splitBy);
2652
2730
  const otherSplitBy = splitByFields.filter((f) => f !== splitBy);
2653
2731
  const dataSourceKeys = (0, trellisUtils_exports.extractDataSourceAggregationKeysChart)(fields);
@@ -2658,71 +2736,16 @@ var dataSourcesSplitByModeChart = (dataSource, splitBy) => {
2658
2736
  }
2659
2737
  }
2660
2738
  if (splitByFieldIdx === 0) {
2661
- const valueKeys = (0, lodash_exports.cloneDeep)(columns[0]);
2662
- valueKeys.forEach((val, idx) => {
2663
- splitDataSources[val] = (0, lodash_exports.cloneDeep)(
2664
- (0, lodash_exports.omit)(dataSource, ["primary.data.fields", "primary.data.columns"])
2665
- );
2666
- splitDataSources[val].primary.data.fields = [];
2667
- if (otherSplitBy.length) {
2668
- splitDataSources[val].primary.data.fields = [{ name: otherSplitBy[0] }];
2669
- }
2670
- if (dataSourceKeys.length) {
2671
- const columnValues = [[]];
2672
- splitDataSources[val].primary.data.fields = [
2673
- ...splitDataSources[val].primary.data.fields,
2674
- ...dataSourceKeys.map((k) => ({
2675
- name: k
2676
- }))
2677
- ];
2678
- dataSourceKeys.forEach(() => {
2679
- columnValues.push([]);
2680
- });
2681
- for (let i = 1; i <= Math.ceil((fields.length - 1) / dataSourceKeys.length); i += 1) {
2682
- columnValues[0].push(
2683
- fields[i].splitby_value ? fields[i].splitby_value : fields[i].name
2684
- );
2685
- dataSourceKeys.forEach((dskey, dsIndx) => {
2686
- const mul = (fields.length - 1) / dataSourceKeys.length;
2687
- columnValues[dsIndx + 1].push(columns[i + dsIndx * mul][idx]);
2688
- });
2689
- }
2690
- splitDataSources[val].primary.data.columns = columnValues;
2691
- } else if (nonDataSourceAggregations.length) {
2692
- const columnValues = [];
2693
- fields.forEach((aggregationField, fieldIdx) => {
2694
- if (fieldIdx > 0) {
2695
- splitDataSources[val].primary.data.fields.push(aggregationField);
2696
- columnValues.push([columns[fieldIdx][idx]]);
2697
- }
2698
- });
2699
- splitDataSources[val].primary.data.columns = columnValues;
2700
- }
2701
- });
2739
+ splitDataSources = splitRowWise(
2740
+ dataSource,
2741
+ columns,
2742
+ fields,
2743
+ otherSplitBy,
2744
+ dataSourceKeys,
2745
+ nonDataSourceAggregations
2746
+ );
2702
2747
  } else {
2703
- const valueKeys = [];
2704
- for (let i = 1; i < fields.length; i += 1) {
2705
- valueKeys.push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);
2706
- }
2707
- valueKeys.forEach((val) => {
2708
- splitDataSources[val] = (0, lodash_exports.cloneDeep)(
2709
- (0, lodash_exports.omit)(dataSource, ["primary.data.fields", "primary.data.columns"])
2710
- );
2711
- splitDataSources[val].primary.data.fields = [
2712
- { name: otherSplitBy[0] },
2713
- ...dataSourceKeys.map((k) => ({
2714
- name: k
2715
- }))
2716
- ];
2717
- splitDataSources[val].primary.data.columns = [[...columns[0]]];
2718
- dataSourceKeys.forEach((dsKey) => {
2719
- fields.forEach((field, idx) => {
2720
- if (field.data_source === dsKey && (field.splitby_value === val || field.name === val)) {
2721
- splitDataSources[val].primary.data.columns.push([...columns[idx]]);
2722
- }
2723
- });
2724
- });
2725
- });
2748
+ splitDataSources = splitColumnWise(dataSource, columns, fields, otherSplitBy, dataSourceKeys);
2726
2749
  }
2727
2750
  } else {
2728
2751
  errorCode = "INVALID_SPLIT_BY_FIELD";
@@ -2740,7 +2763,7 @@ var dataSourcesSplitByModeStatsorUnknown = (dataSource, splitBy, splitMode) => {
2740
2763
  splitByFields = splitMode !== trellisUtils_exports.UNKNOWN ? (0, trellisUtils_exports.extractSplitByFieldsForStats)(fields) : (0, trellisUtils_exports.extractSplitByFieldsForUnknown)(fields);
2741
2764
  }
2742
2765
  const splitByIndex = fields.findIndex((field) => field.name === splitBy);
2743
- if (splitByFields && splitByFields.indexOf(splitBy) > -1) {
2766
+ if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
2744
2767
  const splitByColumn = (_f = (_e = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _e.data) == null ? void 0 : _f.columns[splitByIndex];
2745
2768
  splitDataSources = {};
2746
2769
  splitByColumn.forEach((val, idx) => {
@@ -2862,6 +2885,24 @@ var defaultImport32 = __toESM(require("@splunk/react-icons/Triangle"));
2862
2885
  __reExport(Triangle_exports, require("@splunk/react-icons/Triangle"));
2863
2886
  var Triangle_default = "default" in defaultImport32 ? defaultImport32.default : defaultImport32;
2864
2887
 
2888
+ // esm-externals:@splunk/visualizations-shared/propUtils
2889
+ var propUtils_exports = {};
2890
+ __export(propUtils_exports, {
2891
+ default: () => propUtils_default
2892
+ });
2893
+ var defaultImport33 = __toESM(require("@splunk/visualizations-shared/propUtils"));
2894
+ __reExport(propUtils_exports, require("@splunk/visualizations-shared/propUtils"));
2895
+ var propUtils_default = "default" in defaultImport33 ? defaultImport33.default : defaultImport33;
2896
+
2897
+ // esm-externals:@splunk/visualizations-shared/simpleXMLOptions
2898
+ var simpleXMLOptions_exports = {};
2899
+ __export(simpleXMLOptions_exports, {
2900
+ default: () => simpleXMLOptions_default
2901
+ });
2902
+ var defaultImport34 = __toESM(require("@splunk/visualizations-shared/simpleXMLOptions"));
2903
+ __reExport(simpleXMLOptions_exports, require("@splunk/visualizations-shared/simpleXMLOptions"));
2904
+ var simpleXMLOptions_default = "default" in defaultImport34 ? defaultImport34.default : defaultImport34;
2905
+
2865
2906
  // src/common/chartingUtils.ts
2866
2907
  var DEFAULT_LINE_WIDTH = 2;
2867
2908
  var getAnnotationsForCanvas = ({
@@ -2899,9 +2940,9 @@ var shouldEnableSearchZoom = (eventHandlers = [], xField = "") => {
2899
2940
  const xAxisIsTime = xField === "_time";
2900
2941
  return !!rangeSelectEventHandler && xAxisIsTime;
2901
2942
  };
2902
- var canvasSupportedTimeSeriesCharts = ["splunk.line"];
2943
+ var canvasSupportedTimeSeriesCharts = ["splunk.line", "splunk.area"];
2903
2944
  var isTimeSeriesCanvasRenderSupported = (vizConfigKey) => {
2904
- return canvasSupportedTimeSeriesCharts.indexOf(vizConfigKey) > -1;
2945
+ return canvasSupportedTimeSeriesCharts.includes(vizConfigKey);
2905
2946
  };
2906
2947
  var filterChartDataFromInternalFields = (chartData) => {
2907
2948
  const { fields, columns } = chartData;
@@ -3056,46 +3097,66 @@ var getY2ScaleConfig = (label, axisAbbreviation, axisScale, roundAxisLabelsToInt
3056
3097
  }
3057
3098
  return y2Config;
3058
3099
  };
3059
- var getSeriesOverrides = (yfields, y2fields, lineWidth, overlayFields, y2Enabled, nullValueMode, markerDisplay, lineDashStyle, lineDashStylesByField, stepPosition, stepPositionsByField) => {
3100
+ var getSeriesType = (isOverlay, isAreaChart, isStacked) => {
3101
+ if (isOverlay) return "line";
3102
+ if (!isAreaChart) return void 0;
3103
+ return isStacked ? "stacked-area" : "area";
3104
+ };
3105
+ var getY2Scale = (field, y2fields, overlayFields) => {
3106
+ 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));
3107
+ return assignToY2 ? "y2" : "y";
3108
+ };
3109
+ var getSeriesOverrides = (opts) => {
3110
+ var _a;
3111
+ const {
3112
+ yfields,
3113
+ y2fields,
3114
+ lineWidth,
3115
+ overlayFields,
3116
+ y2Enabled,
3117
+ nullValueMode,
3118
+ markerDisplay,
3119
+ lineDashStyle,
3120
+ lineDashStylesByField,
3121
+ stepPosition,
3122
+ stepPositionsByField,
3123
+ type,
3124
+ stackMode,
3125
+ showLines
3126
+ } = opts;
3060
3127
  const seriesConfig = {};
3061
3128
  let spanGaps;
3062
- let replaceNullsWithZero;
3063
3129
  if (nullValueMode === "gaps") {
3064
3130
  spanGaps = false;
3065
- } else if (nullValueMode === "connect" || nullValueMode === "zero") {
3131
+ } else if (nullValueMode != null) {
3066
3132
  spanGaps = true;
3067
- if (nullValueMode === "zero") {
3068
- replaceNullsWithZero = true;
3069
- }
3133
+ } else {
3134
+ spanGaps = void 0;
3070
3135
  }
3071
- yfields.forEach((field) => {
3136
+ const replaceNullsWithZero = nullValueMode === "zero" ? true : void 0;
3137
+ const isAreaChart = type === "area";
3138
+ const isStacked = isAreaChart && (stackMode === "stacked" || stackMode === "stacked100");
3139
+ const areaFields = isAreaChart ? yfields.filter((f) => !(overlayFields == null ? void 0 : overlayFields.includes(f))) : yfields;
3140
+ const overlayFieldsInOrder = (_a = overlayFields == null ? void 0 : overlayFields.filter((f) => yfields.includes(f))) != null ? _a : [];
3141
+ const orderedFields = isAreaChart ? [...areaFields, ...overlayFieldsInOrder] : yfields;
3142
+ orderedFields.forEach((field) => {
3143
+ var _a2;
3144
+ const isOverlay = (_a2 = overlayFields == null ? void 0 : overlayFields.includes(field)) != null ? _a2 : false;
3145
+ const isPercent = isAreaChart && stackMode === "stacked100" && !isOverlay;
3146
+ const shouldHideAreaOutline = isAreaChart && showLines === false && !isOverlay;
3072
3147
  seriesConfig[field] = {
3073
- overrides: { width: lineWidth != null ? lineWidth : DEFAULT_LINE_WIDTH }
3148
+ overrides: __spreadValues({
3149
+ width: shouldHideAreaOutline ? 0 : lineWidth != null ? lineWidth : DEFAULT_LINE_WIDTH
3150
+ }, isPercent ? { stacking: { mode: "percent", group: "A" } } : {})
3074
3151
  };
3075
- if (spanGaps !== void 0) {
3076
- seriesConfig[field].overrides.spanGaps = spanGaps;
3077
- }
3078
- if (y2Enabled) {
3079
- const shouldAssignToY2 = (
3080
- // If y2Fields are present, assign all y2Fields to y2 scale
3081
- (y2fields == null ? void 0 : y2fields.length) > 0 && y2fields.includes(field) || // Else, assign all overlayFields to y2 scale
3082
- (!y2fields || y2fields.length === 0) && (overlayFields == null ? void 0 : overlayFields.includes(field))
3083
- );
3084
- if (shouldAssignToY2) {
3085
- seriesConfig[field].overrides.scale = "y2";
3086
- } else {
3087
- seriesConfig[field].overrides.scale = "y";
3088
- }
3089
- }
3090
- if (overlayFields == null ? void 0 : overlayFields.includes(field)) {
3091
- seriesConfig[field].type = "line";
3092
- }
3093
- if (markerDisplay !== void 0) {
3094
- seriesConfig[field].markerDisplay = markerDisplay;
3095
- }
3096
- const fieldDashStyle = (lineDashStylesByField == null ? void 0 : lineDashStylesByField[field]) || lineDashStyle;
3097
- if (fieldDashStyle) {
3098
- seriesConfig[field].lineDashStyle = fieldDashStyle;
3152
+ const seriesType = getSeriesType(isOverlay, isAreaChart, isStacked);
3153
+ if (seriesType !== void 0) seriesConfig[field].type = seriesType;
3154
+ if (spanGaps !== void 0) seriesConfig[field].overrides.spanGaps = spanGaps;
3155
+ if (y2Enabled) seriesConfig[field].overrides.scale = getY2Scale(field, y2fields, overlayFields);
3156
+ if (markerDisplay !== void 0) seriesConfig[field].markerDisplay = markerDisplay;
3157
+ if (!isAreaChart || isOverlay) {
3158
+ const fieldDashStyle = (lineDashStylesByField == null ? void 0 : lineDashStylesByField[field]) || lineDashStyle;
3159
+ if (fieldDashStyle) seriesConfig[field].lineDashStyle = fieldDashStyle;
3099
3160
  }
3100
3161
  const hasFieldStepPosition = Object.hasOwn(stepPositionsByField || {}, field);
3101
3162
  const fieldStepPosition = hasFieldStepPosition ? stepPositionsByField == null ? void 0 : stepPositionsByField[field] : stepPosition;
@@ -3261,6 +3322,38 @@ var parseArrayOption = (value) => {
3261
3322
  }
3262
3323
  return void 0;
3263
3324
  };
3325
+ var getAreaOpacityForCanvas = (areaOpacity) => (
3326
+ // Preserve legacy visualizations behavior where area opacity is squared to match charting output.
3327
+ areaOpacity !== void 0 && areaOpacity !== null ? __pow(areaOpacity, 2) : areaOpacity
3328
+ );
3329
+ var parseTickIntervalOption = (simpleXMLValue, canvasValue) => {
3330
+ if (simpleXMLValue) return Number(simpleXMLValue);
3331
+ if (canvasValue) return Number(canvasValue);
3332
+ return void 0;
3333
+ };
3334
+ var getYAxisTitles = ({
3335
+ y2Enabled,
3336
+ yFields,
3337
+ y2Fields,
3338
+ overlayFields,
3339
+ yAxisTitleText,
3340
+ yAxisTitleVisibility,
3341
+ y2AxisTitleText,
3342
+ y2AxisTitleVisibility,
3343
+ containerHeight
3344
+ }) => {
3345
+ const yFieldsForTitle = y2Enabled ? yFields.filter((field) => !y2Fields.includes(field)) : yFields;
3346
+ const fieldsForY2Axis = y2Fields.length > 0 ? y2Fields : overlayFields;
3347
+ const yAxisTitle = ellipsisAxisTitle(
3348
+ getComputedAxisTitles(yAxisTitleText, yFieldsForTitle, yAxisTitleVisibility),
3349
+ containerHeight
3350
+ );
3351
+ const y2AxisTitle = ellipsisAxisTitle(
3352
+ getComputedAxisTitles(y2AxisTitleText, fieldsForY2Axis, y2AxisTitleVisibility),
3353
+ containerHeight
3354
+ );
3355
+ return { yAxisTitle, y2AxisTitle };
3356
+ };
3264
3357
  var TimeSeriesChartWrapper = (props) => {
3265
3358
  var _b, _c, _d;
3266
3359
  const _a = props, {
@@ -3350,6 +3443,8 @@ var TimeSeriesChartWrapper = (props) => {
3350
3443
  "chart.overlayFields": overlayFieldsStr,
3351
3444
  "chart.nullValueMode": nullValueMode,
3352
3445
  "chart.showDataLabels": showDataLabels,
3446
+ "chart.showLines": showLines,
3447
+ "chart.stackMode": stackMode,
3353
3448
  lineWidth,
3354
3449
  lineDashStyle,
3355
3450
  fieldDashStyles: lineDashStylesByFieldStr,
@@ -3378,7 +3473,10 @@ var TimeSeriesChartWrapper = (props) => {
3378
3473
  yAxisMinorTickSize,
3379
3474
  y2AxisMinorTickSize,
3380
3475
  showYAxisWithZero: showYAxisWithZeroFromOptions,
3381
- showY2AxisWithZero: showY2AxisWithZeroFromOptions
3476
+ showY2AxisWithZero: showY2AxisWithZeroFromOptions,
3477
+ // area only props
3478
+ areaFillOpacity: areaOpacity,
3479
+ chart: chartType
3382
3480
  } = options;
3383
3481
  const dataValuesDisplay = showDataLabels === "none" ? "off" : showDataLabels;
3384
3482
  const showYAxisWithZero = showYAxisWithZeroFromProps != null ? showYAxisWithZeroFromProps : showYAxisWithZeroFromOptions;
@@ -3395,13 +3493,11 @@ var TimeSeriesChartWrapper = (props) => {
3395
3493
  const yAxisMax = parseAxisValue(yAxisMaxRaw);
3396
3494
  const y2AxisMin = parseAxisValue(y2AxisMinRaw);
3397
3495
  const y2AxisMax = parseAxisValue(y2AxisMaxRaw);
3398
- const parseTickInterval = (simpleXMLValue, canvasValue) => {
3399
- if (simpleXMLValue) return Number(simpleXMLValue);
3400
- if (canvasValue) return Number(canvasValue);
3401
- return void 0;
3402
- };
3403
- const yAxisMajorTickIntervalNum = parseTickInterval(yAxisMajorUnitFromSimpleXML, yAxisMajorTickInterval);
3404
- const y2AxisMajorTickIntervalNum = parseTickInterval(
3496
+ const yAxisMajorTickIntervalNum = parseTickIntervalOption(
3497
+ yAxisMajorUnitFromSimpleXML,
3498
+ yAxisMajorTickInterval
3499
+ );
3500
+ const y2AxisMajorTickIntervalNum = parseTickIntervalOption(
3405
3501
  y2AxisMajorUnitFromSimpleXML,
3406
3502
  y2AxisMajorTickInterval
3407
3503
  );
@@ -3410,6 +3506,7 @@ var TimeSeriesChartWrapper = (props) => {
3410
3506
  const y2AxisMajorTickSizeNum = y2AxisMajorTickSize != null ? Number(y2AxisMajorTickSize) : void 0;
3411
3507
  const yAxisMinorTickSizeNum = yAxisMinorTickSize != null ? Number(yAxisMinorTickSize) : void 0;
3412
3508
  const y2AxisMinorTickSizeNum = y2AxisMinorTickSize != null ? Number(y2AxisMinorTickSize) : void 0;
3509
+ const areaOpacityForCanvas = getAreaOpacityForCanvas(areaOpacity);
3413
3510
  const seriesColors = seriesColorsStr ? JSON.parse(seriesColorsStr) : void 0;
3414
3511
  const seriesColorsByField = fieldColors ? JSON.parse(fieldColors) : void 0;
3415
3512
  const lineDashStylesByField = lineDashStylesByFieldStr ? JSON.parse(lineDashStylesByFieldStr) : void 0;
@@ -3440,26 +3537,40 @@ var TimeSeriesChartWrapper = (props) => {
3440
3537
  );
3441
3538
  let xAxisTitle = getComputedAxisTitles(xAxisTitleText, [xField], xAxisTitleVisibility);
3442
3539
  xAxisTitle = ellipsisAxisTitle(xAxisTitle, containerWidth);
3443
- const yFieldsForTitle = y2Enabled ? yFields.filter((field) => !y2Fields.includes(field)) : yFields;
3444
- let yAxisTitle = getComputedAxisTitles(yAxisTitleText, yFieldsForTitle, yAxisTitleVisibility);
3445
- yAxisTitle = ellipsisAxisTitle(yAxisTitle, containerHeight);
3446
- const fieldsForY2Axis = y2Fields.length > 0 ? y2Fields : overlayFields;
3447
- let y2AxisTitle = getComputedAxisTitles(y2AxisTitleText, fieldsForY2Axis, y2AxisTitleVisibility);
3448
- y2AxisTitle = ellipsisAxisTitle(y2AxisTitle, containerHeight);
3540
+ const { yAxisTitle, y2AxisTitle } = getYAxisTitles({
3541
+ y2Enabled,
3542
+ yFields,
3543
+ y2Fields,
3544
+ overlayFields,
3545
+ yAxisTitleText,
3546
+ yAxisTitleVisibility,
3547
+ y2AxisTitleText,
3548
+ y2AxisTitleVisibility,
3549
+ containerHeight
3550
+ });
3449
3551
  const xScaleConfig = (0, react_exports.useMemo)(
3450
3552
  () => getXScaleConfig(xAxisTitle, xAxisLabelVisibility, xAxisLabelRotation),
3451
3553
  [xAxisTitle, xAxisLabelVisibility, xAxisLabelRotation]
3452
3554
  );
3555
+ const isStacked100 = stackMode === "stacked100";
3453
3556
  const yScaleConfig = (0, react_exports.useMemo)(
3454
- () => getYScaleConfig(
3455
- yAxisTitle,
3456
- yAxisAbbreviation,
3457
- yAxisScale,
3458
- yAxisLabelVisibility,
3459
- yAxisMin,
3460
- yAxisMax
3461
- ),
3462
- [yAxisTitle, yAxisAbbreviation, yAxisScale, yAxisLabelVisibility, yAxisMin, yAxisMax]
3557
+ () => {
3558
+ const config2 = getYScaleConfig(
3559
+ yAxisTitle,
3560
+ yAxisAbbreviation,
3561
+ yAxisScale,
3562
+ yAxisLabelVisibility,
3563
+ yAxisMin,
3564
+ yAxisMax
3565
+ );
3566
+ if (isStacked100) {
3567
+ config2.y.tickFmt = (v) => `${Math.round(v * 100)}%`;
3568
+ config2.y.range = () => [0, 1];
3569
+ }
3570
+ return config2;
3571
+ },
3572
+ // eslint-disable-next-line react-hooks/exhaustive-deps
3573
+ [yAxisTitle, yAxisAbbreviation, yAxisScale, yAxisLabelVisibility, yAxisMin, yAxisMax, isStacked100]
3463
3574
  );
3464
3575
  const y2ScaleConfig = (0, react_exports.useMemo)(() => {
3465
3576
  if (y2Enabled) {
@@ -3491,10 +3602,11 @@ var TimeSeriesChartWrapper = (props) => {
3491
3602
  ];
3492
3603
  chartData.fields = filteredChartData.fields;
3493
3604
  chartData.columns = seriesDataFormatted;
3605
+ const normalizedStackMode = stackMode === "stacked" || stackMode === "stacked100" ? stackMode : "auto";
3494
3606
  const seriesOverrides = (0, react_exports.useMemo)(
3495
- () => getSeriesOverrides(
3496
- yFields,
3497
- y2Fields,
3607
+ () => getSeriesOverrides({
3608
+ yfields: yFields,
3609
+ y2fields: y2Fields,
3498
3610
  lineWidth,
3499
3611
  overlayFields,
3500
3612
  y2Enabled,
@@ -3503,8 +3615,11 @@ var TimeSeriesChartWrapper = (props) => {
3503
3615
  lineDashStyle,
3504
3616
  lineDashStylesByField,
3505
3617
  stepPosition,
3506
- stepPositionsByField
3507
- ),
3618
+ stepPositionsByField,
3619
+ type: chartType,
3620
+ stackMode: normalizedStackMode,
3621
+ showLines
3622
+ }),
3508
3623
  [
3509
3624
  yFields,
3510
3625
  y2Fields,
@@ -3516,7 +3631,10 @@ var TimeSeriesChartWrapper = (props) => {
3516
3631
  lineDashStyle,
3517
3632
  lineDashStylesByField,
3518
3633
  stepPosition,
3519
- stepPositionsByField
3634
+ stepPositionsByField,
3635
+ chartType,
3636
+ normalizedStackMode,
3637
+ showLines
3520
3638
  ]
3521
3639
  );
3522
3640
  const chartingEventAnnotations = (0, react_exports.useMemo)(
@@ -3584,50 +3702,54 @@ var TimeSeriesChartWrapper = (props) => {
3584
3702
  react_exports.useEffect(() => {
3585
3703
  additionalTooltipValuesRef.current = additionalTooltipValues;
3586
3704
  }, [additionalTooltipValues]);
3705
+ const handleCrosshairMouseout = react_exports.useCallback(() => {
3706
+ if (onPointMouseOut && lastPayloadRef.current) {
3707
+ onPointMouseOut({
3708
+ type: "point.mouseout",
3709
+ originalEvent: lastOriginalEventRef.current,
3710
+ payload: lastPayloadRef.current
3711
+ });
3712
+ }
3713
+ previousMouseoverPayloadRef.current = null;
3714
+ }, [onPointMouseOut]);
3587
3715
  const handleChartCrosshairChange = react_exports.useCallback(
3588
3716
  (event) => {
3589
- if (onPointMouseOver || onPointMouseOut) {
3590
- if (!event) {
3591
- if (onPointMouseOut && lastPayloadRef.current) {
3592
- onPointMouseOut({
3593
- type: "point.mouseout",
3594
- originalEvent: lastOriginalEventRef.current,
3595
- payload: lastPayloadRef.current
3596
- });
3597
- }
3598
- previousMouseoverPayloadRef.current = null;
3599
- return;
3600
- }
3601
- const payload = __spreadProps(__spreadValues({}, (0, lodash_exports.pick)(event, "value", "seriesKey", "time", "index", "seriesIndex")), {
3602
- name: event.seriesKey
3717
+ if (!onPointMouseOver && !onPointMouseOut) {
3718
+ return;
3719
+ }
3720
+ if (!event) {
3721
+ handleCrosshairMouseout();
3722
+ return;
3723
+ }
3724
+ const payload = __spreadProps(__spreadValues({}, (0, lodash_exports.pick)(event, "value", "seriesKey", "time", "index", "seriesIndex")), {
3725
+ name: event.seriesKey
3726
+ });
3727
+ delete payload.seriesKey;
3728
+ if (event.rowContext) {
3729
+ Object.assign(
3730
+ payload,
3731
+ Object.keys(event.rowContext).reduce((acc, fieldName) => {
3732
+ acc[`row.${fieldName}.value`] = event.rowContext[fieldName];
3733
+ return acc;
3734
+ }, {})
3735
+ );
3736
+ }
3737
+ const updatedPayload = appendTrellisToPayload(payload, trellisKey, trellisSplitBy);
3738
+ if (!hasMouseoverPayloadChanged(updatedPayload, previousMouseoverPayloadRef.current)) {
3739
+ return;
3740
+ }
3741
+ lastPayloadRef.current = updatedPayload;
3742
+ lastOriginalEventRef.current = event;
3743
+ previousMouseoverPayloadRef.current = __spreadValues({}, updatedPayload);
3744
+ if (onPointMouseOver) {
3745
+ onPointMouseOver({
3746
+ type: "point.mouseover",
3747
+ originalEvent: event,
3748
+ payload: updatedPayload
3603
3749
  });
3604
- delete payload.seriesKey;
3605
- if (event.rowContext) {
3606
- Object.assign(
3607
- payload,
3608
- Object.keys(event.rowContext).reduce((acc, fieldName) => {
3609
- acc[`row.${fieldName}.value`] = event.rowContext[fieldName];
3610
- return acc;
3611
- }, {})
3612
- );
3613
- }
3614
- const updatedPayload = appendTrellisToPayload(payload, trellisKey, trellisSplitBy);
3615
- if (!hasMouseoverPayloadChanged(updatedPayload, previousMouseoverPayloadRef.current)) {
3616
- return;
3617
- }
3618
- lastPayloadRef.current = updatedPayload;
3619
- lastOriginalEventRef.current = event;
3620
- previousMouseoverPayloadRef.current = __spreadValues({}, updatedPayload);
3621
- if (onPointMouseOver) {
3622
- onPointMouseOver({
3623
- type: "point.mouseover",
3624
- originalEvent: event,
3625
- payload: updatedPayload
3626
- });
3627
- }
3628
3750
  }
3629
3751
  },
3630
- [onPointMouseOver, onPointMouseOut, trellisKey, trellisSplitBy]
3752
+ [onPointMouseOver, onPointMouseOut, trellisKey, trellisSplitBy, handleCrosshairMouseout]
3631
3753
  );
3632
3754
  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}`;
3633
3755
  const memoizedChart = (0, react_exports.useMemo)(() => {
@@ -3682,7 +3804,8 @@ var TimeSeriesChartWrapper = (props) => {
3682
3804
  showXAxisLine,
3683
3805
  showYAxisLine,
3684
3806
  showY2AxisLine,
3685
- xAxisMaxLabelParts
3807
+ xAxisMaxLabelParts,
3808
+ areaOpacity: areaOpacityForCanvas
3686
3809
  }
3687
3810
  ));
3688
3811
  }, [
@@ -3734,7 +3857,8 @@ var TimeSeriesChartWrapper = (props) => {
3734
3857
  showYAxisLine,
3735
3858
  showY2AxisLine,
3736
3859
  legendMode,
3737
- xAxisMaxLabelParts
3860
+ xAxisMaxLabelParts,
3861
+ areaOpacityForCanvas
3738
3862
  ]);
3739
3863
  const memoizedVisualization = (0, react_exports.useMemo)(() => {
3740
3864
  return /* @__PURE__ */ react_exports.createElement(VizStyleWrapper_default, { backgroundColor: bgColor }, memoizedChart);
@@ -3762,6 +3886,37 @@ var TimeSeriesChartWrapper_default = TimeSeriesChartWrapper;
3762
3886
 
3763
3887
  // src/common/withDashboardViz.tsx
3764
3888
  var SanitizedTimeSeriesChartWrapper = (0, SanitizeProps_exports.withSanitizedProps)(TimeSeriesChartWrapper_default);
3889
+ var buildEventCallbackProps = (supportedEvents, evaluatedOptionsToUse, onEventTrigger) => {
3890
+ const result = {};
3891
+ Object.keys(supportedEvents).forEach((eventName) => {
3892
+ const { parentKeys, payloadKeys } = supportedEvents[eventName];
3893
+ const eventCallbackPropName = (0, lodash_exports.camelCase)(`on.${eventName}`);
3894
+ let payload = {};
3895
+ if (Array.isArray(payloadKeys) && payloadKeys.length) {
3896
+ payloadKeys.forEach((p) => {
3897
+ payload[p] = evaluatedOptionsToUse[p];
3898
+ });
3899
+ }
3900
+ result[eventCallbackPropName] = (ev) => {
3901
+ if (ev == null ? void 0 : ev.payload) {
3902
+ payload = __spreadValues({}, ev.payload);
3903
+ }
3904
+ return onEventTrigger({
3905
+ originalEvent: ev,
3906
+ payload,
3907
+ type: eventName
3908
+ });
3909
+ };
3910
+ if (parentKeys) {
3911
+ for (let i = parentKeys.length - 1; i >= 0; i -= 1) {
3912
+ const newObject = {};
3913
+ newObject[parentKeys[i]] = result[eventCallbackPropName];
3914
+ result[eventCallbackPropName] = newObject;
3915
+ }
3916
+ }
3917
+ });
3918
+ return result;
3919
+ };
3765
3920
  var withDashboardViz = (opts) => {
3766
3921
  const {
3767
3922
  ReactViz,
@@ -3819,9 +3974,7 @@ var withDashboardViz = (opts) => {
3819
3974
  const isDownsamplingEnabledByFeatureFlag = Boolean(
3820
3975
  featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableDownsampling
3821
3976
  );
3822
- const isTrellisFeatureFlagOn2 = Boolean(
3823
- featureFlagContext && featureFlagContext.visualizations_enableTrellis
3824
- );
3977
+ const isTrellisFeatureFlagOn2 = Boolean(featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableTrellis);
3825
3978
  const isTrellisOn = isTrellisFeatureFlagOn2 && ((_a = vizConfig == null ? void 0 : vizConfig.supports) == null ? void 0 : _a.includes("trellis" /* TRELLIS */)) && (options == null ? void 0 : options.splitByLayout) === "trellis" /* TRELLIS */;
3826
3979
  const isAcceleratedRenderFeatureFlagOn = Boolean(
3827
3980
  featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableAcceleratedRender
@@ -3986,38 +4139,12 @@ var withDashboardViz = (opts) => {
3986
4139
  }
3987
4140
  );
3988
4141
  }
3989
- const eventCallbackProps = {};
3990
- if (hasEventHandlers && mode === "view" && vizConfig.supports.indexOf("events" /* EVENTS */) > -1) {
3991
- const supportedEvents = vizConfig.events;
3992
- Object.keys(supportedEvents).forEach((eventName) => {
3993
- const { parentKeys, payloadKeys } = supportedEvents[eventName];
3994
- const eventCallbackPropName = (0, lodash_exports.camelCase)(`on.${eventName}`);
3995
- let payload = {};
3996
- if (Array.isArray(payloadKeys) && payloadKeys.length) {
3997
- payloadKeys.forEach((p) => {
3998
- payload[p] = evaluatedOptionsToUse[p];
3999
- });
4000
- }
4001
- eventCallbackProps[eventCallbackPropName] = (ev) => {
4002
- if (ev == null ? void 0 : ev.payload) {
4003
- payload = __spreadValues({}, ev.payload);
4004
- }
4005
- return onEventTrigger({
4006
- originalEvent: ev,
4007
- payload,
4008
- type: eventName
4009
- });
4010
- };
4011
- if (parentKeys) {
4012
- for (let i = parentKeys.length - 1; i >= 0; i -= 1) {
4013
- const newObject = {};
4014
- newObject[parentKeys[i]] = eventCallbackProps[eventCallbackPropName];
4015
- eventCallbackProps[eventCallbackPropName] = newObject;
4016
- }
4017
- }
4018
- });
4019
- }
4020
- const computedVizProps = computeVizProps2(__spreadProps(__spreadValues(__spreadValues(__spreadValues({}, props), evaluatedOptionsToUse), eventCallbackProps), {
4142
+ const eventCallbackProps = hasEventHandlers && mode === "view" && vizConfig.supports.includes("events" /* EVENTS */) ? buildEventCallbackProps(vizConfig.events, evaluatedOptionsToUse, onEventTrigger) : {};
4143
+ const computedVizProps = computeVizProps2(__spreadProps(__spreadValues(__spreadProps(__spreadValues(__spreadValues({}, props), evaluatedOptionsToUse), {
4144
+ // Align option transformation with the actual renderer selected below.
4145
+ // This prevents canvas-only option preservation from leaking into Highcharts mode.
4146
+ isAcceleratedRenderOn
4147
+ }), eventCallbackProps), {
4021
4148
  themeFunc
4022
4149
  }));
4023
4150
  if (useAsyncEvaluatedOptions && Object.keys(evaluatedOptionsToUse).length === 0) {
@@ -4051,29 +4178,76 @@ var Paginator_exports = {};
4051
4178
  __export(Paginator_exports, {
4052
4179
  default: () => Paginator_default
4053
4180
  });
4054
- var defaultImport33 = __toESM(require("@splunk/react-ui/Paginator"));
4181
+ var defaultImport35 = __toESM(require("@splunk/react-ui/Paginator"));
4055
4182
  __reExport(Paginator_exports, require("@splunk/react-ui/Paginator"));
4056
- var Paginator_default = "default" in defaultImport33 ? defaultImport33.default : defaultImport33;
4183
+ var Paginator_default = "default" in defaultImport35 ? defaultImport35.default : defaultImport35;
4057
4184
 
4058
4185
  // esm-externals:@splunk/themes
4059
4186
  var themes_exports = {};
4060
4187
  __export(themes_exports, {
4061
4188
  default: () => themes_default
4062
4189
  });
4063
- var defaultImport34 = __toESM(require("@splunk/themes"));
4190
+ var defaultImport36 = __toESM(require("@splunk/themes"));
4064
4191
  __reExport(themes_exports, require("@splunk/themes"));
4065
- var themes_default = "default" in defaultImport34 ? defaultImport34.default : defaultImport34;
4192
+ var themes_default = "default" in defaultImport36 ? defaultImport36.default : defaultImport36;
4066
4193
 
4067
4194
  // esm-externals:@splunk/themes/useSplunkTheme
4068
4195
  var useSplunkTheme_exports = {};
4069
4196
  __export(useSplunkTheme_exports, {
4070
4197
  default: () => useSplunkTheme_default
4071
4198
  });
4072
- var defaultImport35 = __toESM(require("@splunk/themes/useSplunkTheme"));
4199
+ var defaultImport37 = __toESM(require("@splunk/themes/useSplunkTheme"));
4073
4200
  __reExport(useSplunkTheme_exports, require("@splunk/themes/useSplunkTheme"));
4074
- var useSplunkTheme_default = "default" in defaultImport35 ? defaultImport35.default : defaultImport35;
4201
+ var useSplunkTheme_default = "default" in defaultImport37 ? defaultImport37.default : defaultImport37;
4075
4202
 
4076
4203
  // src/common/hocs/withTrellis.tsx
4204
+ var evaluatePanelOption = (panelDataSources, allOptions, optionKey, vizContext) => {
4205
+ try {
4206
+ const evaluated = Options_exports.Options.evaluate({ context: vizContext, options: allOptions }, panelDataSources);
4207
+ const num = Number(evaluated == null ? void 0 : evaluated[optionKey]);
4208
+ return Number.isNaN(num) ? Number.NaN : num;
4209
+ } catch (e) {
4210
+ return Number.NaN;
4211
+ }
4212
+ };
4213
+ var sortTrellisKeys = (keys, trellisSortBy, trellisSortOrder, modifiedDataSourceBySplitBy, mergedOptions, vizContext) => {
4214
+ if (trellisSortBy === "name") {
4215
+ keys.sort((a, b) => {
4216
+ const cmp = a.localeCompare(b, void 0, { numeric: true, sensitivity: "base" });
4217
+ return trellisSortOrder === "descending" ? -cmp : cmp;
4218
+ });
4219
+ } else if (trellisSortBy === "value" || trellisSortBy === "trend") {
4220
+ let optionKey;
4221
+ if (trellisSortBy === "trend") {
4222
+ optionKey = "trendValue";
4223
+ } else {
4224
+ optionKey = mergedOptions.value !== void 0 ? "value" : "majorValue";
4225
+ }
4226
+ keys.sort((a, b) => {
4227
+ const valA = evaluatePanelOption(
4228
+ modifiedDataSourceBySplitBy[a],
4229
+ mergedOptions,
4230
+ optionKey,
4231
+ vizContext
4232
+ );
4233
+ const valB = evaluatePanelOption(
4234
+ modifiedDataSourceBySplitBy[b],
4235
+ mergedOptions,
4236
+ optionKey,
4237
+ vizContext
4238
+ );
4239
+ const nanA = Number.isNaN(valA);
4240
+ const nanB = Number.isNaN(valB);
4241
+ if (nanA && nanB) return 0;
4242
+ if (nanA) return 1;
4243
+ if (nanB) return -1;
4244
+ const cmp = valA - valB;
4245
+ return trellisSortOrder === "descending" ? -cmp : cmp;
4246
+ });
4247
+ } else if (trellisSortOrder === "descending") {
4248
+ keys.reverse();
4249
+ }
4250
+ };
4077
4251
  var TrellisContainer = styled_components_default.div`
4078
4252
  overflow: hidden;
4079
4253
  display: flex;
@@ -4118,6 +4292,14 @@ var showErrorMessage = (errorCode, width, height) => {
4118
4292
  }
4119
4293
  return /* @__PURE__ */ react_exports.createElement(Message_default, { width, height, message: (0, i18n_exports._)("Error render in trellis"), level: "info" });
4120
4294
  };
4295
+ var resolveTrellisSplitBy = (trellisSplitBy, fields) => {
4296
+ var _a;
4297
+ if (trellisSplitBy && trellisSplitBy.length > 0) {
4298
+ return trellisSplitBy;
4299
+ }
4300
+ const splitByPossibleFields = (0, trellisUtils_exports.getAllPossibleSplitByFields)(fields);
4301
+ return ((_a = splitByPossibleFields.fields) == null ? void 0 : _a.length) ? splitByPossibleFields.fields[0] : AGGREGATIONS;
4302
+ };
4121
4303
  var withTrellis = (Viz) => {
4122
4304
  const VizWithTrellis = (opts) => {
4123
4305
  const cachedHandleResize = react_exports.useCallback((w, h) => {
@@ -4126,7 +4308,7 @@ var withTrellis = (Viz) => {
4126
4308
  }, []);
4127
4309
  const [containerWidth, setContainerWidth] = react_exports.useState(Number(opts.width));
4128
4310
  const [containerHeight, setContainerHeight] = react_exports.useState(Number(opts.height));
4129
- const _a = opts, { options = {}, height, width } = _a, otherProps = __objRest(_a, ["options", "height", "width"]);
4311
+ const _a = opts, { options = {}, context = {}, height, width } = _a, otherProps = __objRest(_a, ["options", "context", "height", "width"]);
4130
4312
  const defaultOptions = (0, JSONSchemaUtils_exports.pickFieldFromJSONSchema)(Viz.config.optionsSchema, "default");
4131
4313
  const mergedOptions = (0, hocUtils_exports.deepMergeWithArrayPrimitiveOverrides)({}, options, defaultOptions);
4132
4314
  const {
@@ -4136,6 +4318,8 @@ var withTrellis = (Viz) => {
4136
4318
  trellisRowHeight,
4137
4319
  splitByLayout,
4138
4320
  trellisSplitBy,
4321
+ trellisSortBy,
4322
+ trellisSortOrder,
4139
4323
  trellisSharedScale,
4140
4324
  stackMode,
4141
4325
  yAxisMin,
@@ -4204,7 +4388,7 @@ var withTrellis = (Viz) => {
4204
4388
  }, [pageCount, trellisSplitBy]);
4205
4389
  (0, react_exports.useEffect)(() => {
4206
4390
  updateDataDisplay(pageNum);
4207
- }, [columns, fields, trellisSplitBy, pageNum, splitByLayout]);
4391
+ }, [columns, fields, trellisSplitBy, trellisSortBy, trellisSortOrder, pageNum, splitByLayout]);
4208
4392
  const handlePageChange = (0, react_exports.useCallback)(
4209
4393
  (event, { page }) => {
4210
4394
  setPageNum(page);
@@ -4212,9 +4396,7 @@ var withTrellis = (Viz) => {
4212
4396
  [pageNum, pagedData]
4213
4397
  );
4214
4398
  const featureFlagContext = react_exports.useContext(FeatureFlagContext_default);
4215
- const isTrellisFeatureFlagOn2 = Boolean(
4216
- featureFlagContext && featureFlagContext.visualizations_enableTrellis
4217
- );
4399
+ const isTrellisFeatureFlagOn2 = Boolean(featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableTrellis);
4218
4400
  if (!isTrellisFeatureFlagOn2 || !splitByLayout || splitByLayout !== visualization_schemas_exports.LAYOUT_TYPE.Trellis) {
4219
4401
  return /* @__PURE__ */ react_exports.createElement(Viz, __spreadValues({}, opts));
4220
4402
  }
@@ -4222,14 +4404,9 @@ var withTrellis = (Viz) => {
4222
4404
  if (noColumns || noFields) {
4223
4405
  return /* @__PURE__ */ react_exports.createElement(Message_default, { width, height, message: (0, i18n_exports._)("Loading"), level: "info" });
4224
4406
  }
4225
- let currTrellisSplitBy = trellisSplitBy;
4226
- if (!trellisSplitBy || trellisSplitBy.length === 0) {
4227
- const splitByPossibleFields = (0, trellisUtils_exports.getAllPossibleSplitByFields)(fields);
4228
- currTrellisSplitBy = splitByPossibleFields.fields && splitByPossibleFields.fields.length ? splitByPossibleFields.fields[0] : AGGREGATIONS;
4229
- }
4230
- const splitMode = (0, trellisUtils_exports.getTrellisDataSplitterMode)(fields);
4407
+ const currTrellisSplitBy = resolveTrellisSplitBy(trellisSplitBy, fields);
4231
4408
  const dataSplitResult = getTrellisDataSourcesBySplitMode(
4232
- splitMode,
4409
+ (0, trellisUtils_exports.getTrellisDataSplitterMode)(fields),
4233
4410
  dataSources,
4234
4411
  currTrellisSplitBy
4235
4412
  );
@@ -4238,12 +4415,19 @@ var withTrellis = (Viz) => {
4238
4415
  if (!modifiedDataSourceBySplitBy || Object.keys(modifiedDataSourceBySplitBy).length === 0 || dataSplitErrorCode) {
4239
4416
  return showErrorMessage(dataSplitErrorCode, width, height);
4240
4417
  }
4241
- const splitByKeysModified = modifiedDataSourceBySplitBy ? Object.keys(modifiedDataSourceBySplitBy) : [];
4242
- if (splitByKeysModified) {
4243
- showPaginator = splitByKeysModified.length > pageCount;
4244
- splitByKeys = splitByKeysModified;
4245
- totalPages = splitByKeysModified ? Math.ceil(splitByKeysModified.length / pageCount) : 0;
4246
- }
4418
+ const splitByKeysModified = Object.keys(modifiedDataSourceBySplitBy);
4419
+ const vizContext = (0, lodash_exports.defaultsDeep)({}, context, Viz.config.defaultContext);
4420
+ sortTrellisKeys(
4421
+ splitByKeysModified,
4422
+ trellisSortBy,
4423
+ trellisSortOrder,
4424
+ modifiedDataSourceBySplitBy,
4425
+ mergedOptions,
4426
+ vizContext
4427
+ );
4428
+ showPaginator = splitByKeysModified.length > pageCount;
4429
+ splitByKeys = splitByKeysModified;
4430
+ totalPages = Math.ceil(splitByKeysModified.length / pageCount);
4247
4431
  const [calculatedMin, calculatedMax] = determineMinMax(
4248
4432
  modifiedDataSourceBySplitBy,
4249
4433
  trellisSharedScale,
@@ -4277,6 +4461,7 @@ var withTrellis = (Viz) => {
4277
4461
  /* @__PURE__ */ react_exports.createElement(
4278
4462
  Viz,
4279
4463
  __spreadProps(__spreadValues({}, otherProps), {
4464
+ context,
4280
4465
  trellisKey: splitByKey,
4281
4466
  trellisSplitBy: currTrellisSplitBy,
4282
4467
  dataSources: modifiedDataSourceBySplitBy[splitByKey],