@splunk/visualizations 28.5.2 → 28.6.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 (359) 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 -8
  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/config.d.ts.map +1 -1
  37. package/Events.config.js +13 -3
  38. package/Events.config.js.map +2 -2
  39. package/Events.js +330 -194
  40. package/Events.js.map +4 -4
  41. package/FillerGauge/FillerGauge.d.ts.map +1 -1
  42. package/FillerGauge/config.d.ts.map +1 -1
  43. package/FillerGauge.config.js +76 -24
  44. package/FillerGauge.config.js.map +2 -2
  45. package/FillerGauge.js +512 -271
  46. package/FillerGauge.js.map +4 -4
  47. package/Image/config.d.ts.map +1 -1
  48. package/Image.config.js +7 -0
  49. package/Image.config.js.map +2 -2
  50. package/Image.js +282 -149
  51. package/Image.js.map +4 -4
  52. package/LICENSE +13 -0
  53. package/Line/Line.d.ts.map +1 -1
  54. package/Line/config.d.ts.map +1 -1
  55. package/Line/lineUtils.d.ts.map +1 -1
  56. package/Line/mockdata/LineData.d.ts +21 -0
  57. package/Line/mockdata/LineData.d.ts.map +1 -1
  58. package/Line.config.js +86 -25
  59. package/Line.config.js.map +3 -3
  60. package/Line.js +638 -382
  61. package/Line.js.map +4 -4
  62. package/LinkGraph/PureLinkGraph/PureLinkGraph.d.ts +47 -73
  63. package/LinkGraph/PureLinkGraph/PureLinkGraph.d.ts.map +1 -1
  64. package/LinkGraph/PureLinkGraph/PureLinkGraphUtils.d.ts +11 -2
  65. package/LinkGraph/PureLinkGraph/PureLinkGraphUtils.d.ts.map +1 -1
  66. package/LinkGraph/PureLinkGraph/components/Graph.d.ts +5 -5
  67. package/LinkGraph/PureLinkGraph/components/Node.d.ts +2 -2
  68. package/LinkGraph/PureLinkGraph/components/Nodes.d.ts +2 -2
  69. package/LinkGraph.js +886 -759
  70. package/LinkGraph.js.map +4 -4
  71. package/Map/PureMap/BubbleLayer.d.ts.map +1 -1
  72. package/Map/PureMap/Tooltip.d.ts.map +1 -1
  73. package/Map/config.d.ts.map +1 -1
  74. package/Map.config.js +4 -1
  75. package/Map.config.js.map +2 -2
  76. package/Map.js +296 -169
  77. package/Map.js.map +4 -4
  78. package/Markdown/Markdown.d.ts.map +1 -1
  79. package/Markdown.config.js.map +1 -1
  80. package/Markdown.js +283 -157
  81. package/Markdown.js.map +4 -4
  82. package/MarkerGauge/MarkerGauge.d.ts +1 -47
  83. package/MarkerGauge/MarkerGauge.d.ts.map +1 -1
  84. package/MarkerGauge/PureMarkerGauge/MarkerGauge.d.ts +22 -68
  85. package/MarkerGauge/PureMarkerGauge/MarkerGauge.d.ts.map +1 -1
  86. package/MarkerGauge/config.d.ts.map +1 -1
  87. package/MarkerGauge.config.js +75 -23
  88. package/MarkerGauge.config.js.map +2 -2
  89. package/MarkerGauge.js +560 -375
  90. package/MarkerGauge.js.map +4 -4
  91. package/NetworkGraph/NetworkGraph.d.ts +2 -1
  92. package/NetworkGraph/NetworkGraph.d.ts.map +1 -1
  93. package/NetworkGraph/PureNetworkGraph/utils/networkGraphUtils.d.ts.map +1 -1
  94. package/NetworkGraph.config.js.map +2 -2
  95. package/NetworkGraph.js +628 -434
  96. package/NetworkGraph.js.map +4 -4
  97. package/ParallelCoordinates.config.js.map +1 -1
  98. package/ParallelCoordinates.js +288 -172
  99. package/ParallelCoordinates.js.map +4 -4
  100. package/Pie/Pie.d.ts.map +1 -1
  101. package/Pie/pieUtils.d.ts +2 -2
  102. package/Pie.config.js +74 -22
  103. package/Pie.config.js.map +2 -2
  104. package/Pie.js +522 -296
  105. package/Pie.js.map +4 -4
  106. package/ProcessTree/ProcessTree.d.ts +21 -0
  107. package/ProcessTree/ProcessTree.d.ts.map +1 -0
  108. package/ProcessTree/PureProcessTree/PureProcessTree.d.ts +32 -0
  109. package/ProcessTree/PureProcessTree/PureProcessTree.d.ts.map +1 -0
  110. package/ProcessTree/PureProcessTree/components/DirectionalBytes.d.ts +8 -0
  111. package/ProcessTree/PureProcessTree/components/DirectionalBytes.d.ts.map +1 -0
  112. package/ProcessTree/PureProcessTree/components/ProcessTreeLeftPanel.d.ts +44 -0
  113. package/ProcessTree/PureProcessTree/components/ProcessTreeLeftPanel.d.ts.map +1 -0
  114. package/ProcessTree/PureProcessTree/components/ProcessTreeRightPanel.d.ts +20 -0
  115. package/ProcessTree/PureProcessTree/components/ProcessTreeRightPanel.d.ts.map +1 -0
  116. package/ProcessTree/PureProcessTree/hooks/useProcessTreeExpansionState.d.ts +20 -0
  117. package/ProcessTree/PureProcessTree/hooks/useProcessTreeExpansionState.d.ts.map +1 -0
  118. package/ProcessTree/PureProcessTree/hooks/useProcessTreeGraphData.d.ts +44 -0
  119. package/ProcessTree/PureProcessTree/hooks/useProcessTreeGraphData.d.ts.map +1 -0
  120. package/ProcessTree/PureProcessTree/hooks/useProcessTreeLinkOverlay.d.ts +23 -0
  121. package/ProcessTree/PureProcessTree/hooks/useProcessTreeLinkOverlay.d.ts.map +1 -0
  122. package/ProcessTree/PureProcessTree/mockdata/data.d.ts +235 -0
  123. package/ProcessTree/PureProcessTree/mockdata/data.d.ts.map +1 -0
  124. package/ProcessTree/PureProcessTree/utils/iconLoader.d.ts +9 -0
  125. package/ProcessTree/PureProcessTree/utils/iconLoader.d.ts.map +1 -0
  126. package/ProcessTree/PureProcessTree/utils/processTreeLinkOverlayUtils.d.ts +36 -0
  127. package/ProcessTree/PureProcessTree/utils/processTreeLinkOverlayUtils.d.ts.map +1 -0
  128. package/ProcessTree/PureProcessTree/utils/processTreeUtils.d.ts +80 -0
  129. package/ProcessTree/PureProcessTree/utils/processTreeUtils.d.ts.map +1 -0
  130. package/ProcessTree/config.d.ts +4 -0
  131. package/ProcessTree/config.d.ts.map +1 -0
  132. package/ProcessTree/index.d.ts +3 -0
  133. package/ProcessTree/index.d.ts.map +1 -0
  134. package/ProcessTree.config.js +192 -0
  135. package/ProcessTree.config.js.map +7 -0
  136. package/ProcessTree.js +5058 -0
  137. package/ProcessTree.js.map +7 -0
  138. package/Punchcard/Punchcard.d.ts +1 -5
  139. package/Punchcard/Punchcard.d.ts.map +1 -1
  140. package/Punchcard/PurePunchcard/Punchcard.d.ts +28 -32
  141. package/Punchcard/PurePunchcard/Punchcard.d.ts.map +1 -1
  142. package/Punchcard/PurePunchcard/src/PunchcardAxis.d.ts +7 -12
  143. package/Punchcard/PurePunchcard/src/PunchcardAxis.d.ts.map +1 -1
  144. package/Punchcard/PurePunchcard/src/PunchcardBubble.d.ts +14 -19
  145. package/Punchcard/PurePunchcard/src/PunchcardBubble.d.ts.map +1 -1
  146. package/Punchcard/PurePunchcard/src/PunchcardChartArea.d.ts +22 -27
  147. package/Punchcard/PurePunchcard/src/PunchcardChartArea.d.ts.map +1 -1
  148. package/Punchcard/PurePunchcard/src/PunchcardGridLines.d.ts +3 -8
  149. package/Punchcard/PurePunchcard/src/PunchcardGridLines.d.ts.map +1 -1
  150. package/Punchcard/PurePunchcard/src/PunchcardLegend.d.ts +9 -14
  151. package/Punchcard/PurePunchcard/src/PunchcardLegend.d.ts.map +1 -1
  152. package/Punchcard/PurePunchcard/src/PunchcardRow.d.ts.map +1 -1
  153. package/Punchcard.config.js.map +1 -1
  154. package/Punchcard.js +444 -631
  155. package/Punchcard.js.map +4 -4
  156. package/Rectangle.config.js +1 -1
  157. package/Rectangle.config.js.map +2 -2
  158. package/Rectangle.js +289 -173
  159. package/Rectangle.js.map +4 -4
  160. package/RichText/PureRichText/Editor/EditorPanel.d.ts +20 -0
  161. package/RichText/PureRichText/Editor/EditorPanel.d.ts.map +1 -0
  162. package/RichText/PureRichText/Editor/EditorPanelStyles.d.ts +17 -0
  163. package/RichText/PureRichText/Editor/EditorPanelStyles.d.ts.map +1 -0
  164. package/RichText/PureRichText/Editor/FontSelector.d.ts +15 -0
  165. package/RichText/PureRichText/Editor/FontSelector.d.ts.map +1 -0
  166. package/RichText/PureRichText/Editor/FormatButton.d.ts +23 -0
  167. package/RichText/PureRichText/Editor/FormatButton.d.ts.map +1 -0
  168. package/RichText/PureRichText/Editor/editorPanelUtils.d.ts +19 -0
  169. package/RichText/PureRichText/Editor/editorPanelUtils.d.ts.map +1 -0
  170. package/RichText/PureRichText/Editor/hooks/useLineSpacing.d.ts +11 -0
  171. package/RichText/PureRichText/Editor/hooks/useLineSpacing.d.ts.map +1 -0
  172. package/RichText/PureRichText/Editor/hooks/useLinkHandlers.d.ts +26 -0
  173. package/RichText/PureRichText/Editor/hooks/useLinkHandlers.d.ts.map +1 -0
  174. package/RichText/PureRichText/Editor/index.d.ts +9 -0
  175. package/RichText/PureRichText/Editor/index.d.ts.map +1 -0
  176. package/RichText/PureRichText/InnerEditor.d.ts +41 -0
  177. package/RichText/PureRichText/InnerEditor.d.ts.map +1 -0
  178. package/RichText/PureRichText/PureRichText.d.ts +19 -0
  179. package/RichText/PureRichText/PureRichText.d.ts.map +1 -0
  180. package/RichText/PureRichText/PureRichTextContext.d.ts +64 -0
  181. package/RichText/PureRichText/PureRichTextContext.d.ts.map +1 -0
  182. package/RichText/PureRichText/RichTextStyles.d.ts +25 -0
  183. package/RichText/PureRichText/RichTextStyles.d.ts.map +1 -0
  184. package/RichText/PureRichText/activeInstance.d.ts +23 -0
  185. package/RichText/PureRichText/activeInstance.d.ts.map +1 -0
  186. package/RichText/PureRichText/config.d.ts +17 -0
  187. package/RichText/PureRichText/config.d.ts.map +1 -0
  188. package/RichText/PureRichText/hooks/index.d.ts +12 -0
  189. package/RichText/PureRichText/hooks/index.d.ts.map +1 -0
  190. package/RichText/PureRichText/hooks/useContentSave.d.ts +25 -0
  191. package/RichText/PureRichText/hooks/useContentSave.d.ts.map +1 -0
  192. package/RichText/PureRichText/hooks/useContentSync.d.ts +28 -0
  193. package/RichText/PureRichText/hooks/useContentSync.d.ts.map +1 -0
  194. package/RichText/PureRichText/hooks/useDashboardKeyboardNav.d.ts +33 -0
  195. package/RichText/PureRichText/hooks/useDashboardKeyboardNav.d.ts.map +1 -0
  196. package/RichText/PureRichText/hooks/useEditModeEffect.d.ts +10 -0
  197. package/RichText/PureRichText/hooks/useEditModeEffect.d.ts.map +1 -0
  198. package/RichText/PureRichText/hooks/useEditorSetup.d.ts +36 -0
  199. package/RichText/PureRichText/hooks/useEditorSetup.d.ts.map +1 -0
  200. package/RichText/PureRichText/hooks/useFakeHighlight.d.ts +33 -0
  201. package/RichText/PureRichText/hooks/useFakeHighlight.d.ts.map +1 -0
  202. package/RichText/PureRichText/hooks/useFocusHandlers.d.ts +35 -0
  203. package/RichText/PureRichText/hooks/useFocusHandlers.d.ts.map +1 -0
  204. package/RichText/PureRichText/hooks/useKeyboardShortcuts.d.ts +18 -0
  205. package/RichText/PureRichText/hooks/useKeyboardShortcuts.d.ts.map +1 -0
  206. package/RichText/PureRichText/hooks/useMouseHandlers.d.ts +24 -0
  207. package/RichText/PureRichText/hooks/useMouseHandlers.d.ts.map +1 -0
  208. package/RichText/PureRichText/hooks/useRichTextState.d.ts +38 -0
  209. package/RichText/PureRichText/hooks/useRichTextState.d.ts.map +1 -0
  210. package/RichText/PureRichText/hooks/useStepFontSize.d.ts +17 -0
  211. package/RichText/PureRichText/hooks/useStepFontSize.d.ts.map +1 -0
  212. package/RichText/PureRichText/hooks/useStepLineSpacing.d.ts +18 -0
  213. package/RichText/PureRichText/hooks/useStepLineSpacing.d.ts.map +1 -0
  214. package/RichText/PureRichText/hooks/useTokenMap.d.ts +45 -0
  215. package/RichText/PureRichText/hooks/useTokenMap.d.ts.map +1 -0
  216. package/RichText/PureRichText/index.d.ts +16 -0
  217. package/RichText/PureRichText/index.d.ts.map +1 -0
  218. package/RichText/PureRichText/renderers/ElementRenderer.d.ts +8 -0
  219. package/RichText/PureRichText/renderers/ElementRenderer.d.ts.map +1 -0
  220. package/RichText/PureRichText/renderers/LeafRenderer.d.ts +8 -0
  221. package/RichText/PureRichText/renderers/LeafRenderer.d.ts.map +1 -0
  222. package/RichText/PureRichText/types.d.ts +111 -0
  223. package/RichText/PureRichText/types.d.ts.map +1 -0
  224. package/RichText/PureRichText/utils/a11yUtils.d.ts +9 -0
  225. package/RichText/PureRichText/utils/a11yUtils.d.ts.map +1 -0
  226. package/RichText/PureRichText/utils/fontSize.d.ts +6 -0
  227. package/RichText/PureRichText/utils/fontSize.d.ts.map +1 -0
  228. package/RichText/PureRichText/utils/slateUtils.d.ts +99 -0
  229. package/RichText/PureRichText/utils/slateUtils.d.ts.map +1 -0
  230. package/RichText/RichText.d.ts +17 -0
  231. package/RichText/RichText.d.ts.map +1 -0
  232. package/RichText/config.d.ts +4 -0
  233. package/RichText/config.d.ts.map +1 -0
  234. package/RichText/index.d.ts +7 -0
  235. package/RichText/index.d.ts.map +1 -0
  236. package/RichText.config.js +268 -0
  237. package/RichText.config.js.map +7 -0
  238. package/RichText.js +7674 -0
  239. package/RichText.js.map +7 -0
  240. package/Sankey/PureSankey/PureSankey.d.ts.map +1 -1
  241. package/Sankey/PureSankey/SankeyLink.d.ts.map +1 -1
  242. package/Sankey/PureSankey/SankeyNode.d.ts +10 -3
  243. package/Sankey/PureSankey/SankeyNode.d.ts.map +1 -1
  244. package/Sankey/PureSankey/SankeyTooltip.d.ts.map +1 -1
  245. package/Sankey/PureSankey/SankeyUtils.d.ts +10 -0
  246. package/Sankey/PureSankey/SankeyUtils.d.ts.map +1 -1
  247. package/Sankey.config.js.map +1 -1
  248. package/Sankey.js +562 -290
  249. package/Sankey.js.map +4 -4
  250. package/Scatter/Scatter.d.ts.map +1 -1
  251. package/Scatter.config.js +81 -24
  252. package/Scatter.config.js.map +3 -3
  253. package/Scatter.js +528 -297
  254. package/Scatter.js.map +4 -4
  255. package/SingleValue/SingleValue.d.ts.map +1 -1
  256. package/SingleValue/config.d.ts.map +1 -1
  257. package/SingleValue.config.js +76 -24
  258. package/SingleValue.config.js.map +2 -2
  259. package/SingleValue.js +534 -314
  260. package/SingleValue.js.map +4 -4
  261. package/SingleValueBasic.js.map +1 -1
  262. package/SingleValueIcon/SingleValueIcon.d.ts.map +1 -1
  263. package/SingleValueIcon/config.d.ts.map +1 -1
  264. package/SingleValueIcon.config.js +76 -24
  265. package/SingleValueIcon.config.js.map +2 -2
  266. package/SingleValueIcon.js +512 -287
  267. package/SingleValueIcon.js.map +4 -4
  268. package/SingleValueRadial/PureSingleValueRadial/utils/gaugeUtils.d.ts +0 -8
  269. package/SingleValueRadial/PureSingleValueRadial/utils/gaugeUtils.d.ts.map +1 -1
  270. package/SingleValueRadial/SingleValueRadial.d.ts.map +1 -1
  271. package/SingleValueRadial/config.d.ts.map +1 -1
  272. package/SingleValueRadial.config.js +76 -24
  273. package/SingleValueRadial.config.js.map +2 -2
  274. package/SingleValueRadial.js +543 -326
  275. package/SingleValueRadial.js.map +4 -4
  276. package/TRELLIS.md +48 -0
  277. package/Table/PureTable.d.ts +1 -0
  278. package/Table/PureTable.d.ts.map +1 -1
  279. package/Table/Table.d.ts.map +1 -1
  280. package/Table/cells/ArrayCell.d.ts.map +1 -1
  281. package/Table/config.d.ts.map +1 -1
  282. package/Table/hooks.d.ts.map +1 -1
  283. package/Table/tableUtils.d.ts +14 -0
  284. package/Table/tableUtils.d.ts.map +1 -0
  285. package/Table.config.js +4 -10
  286. package/Table.config.js.map +2 -2
  287. package/Table.js +769 -355
  288. package/Table.js.map +4 -4
  289. package/Timeline/PureTimeline/src/TimelineYAxis.d.ts.map +1 -1
  290. package/Timeline/PureTimeline/src/utils/timelineUtils.d.ts +5 -0
  291. package/Timeline/PureTimeline/src/utils/timelineUtils.d.ts.map +1 -1
  292. package/Timeline/Timeline.d.ts +2 -0
  293. package/Timeline/Timeline.d.ts.map +1 -1
  294. package/Timeline/config.d.ts.map +1 -1
  295. package/Timeline/mockdata/timelineDataSource.d.ts +34 -0
  296. package/Timeline/mockdata/timelineDataSource.d.ts.map +1 -1
  297. package/Timeline.config.js +15 -0
  298. package/Timeline.config.js.map +2 -2
  299. package/Timeline.js +348 -186
  300. package/Timeline.js.map +4 -4
  301. package/common/Charting.d.ts.map +1 -1
  302. package/common/Charting.js +50 -28
  303. package/common/Charting.js.map +2 -2
  304. package/common/ChartingApi.d.ts +1 -1
  305. package/common/ChartingApi.d.ts.map +1 -1
  306. package/common/ChartingApi.js.map +2 -2
  307. package/common/DocExampleWithVizSandbox.js.map +1 -1
  308. package/common/OptionsDoc.js.map +1 -1
  309. package/common/OverviewDoc.js.map +1 -1
  310. package/common/SplunkVisualization.d.ts +1 -1
  311. package/common/SplunkVisualization.d.ts.map +1 -1
  312. package/common/SplunkVisualization.js +6 -4
  313. package/common/SplunkVisualization.js.map +2 -2
  314. package/common/StyledSkipLink.d.ts +2 -0
  315. package/common/StyledSkipLink.d.ts.map +1 -0
  316. package/common/StyledSkipLink.js +81 -0
  317. package/common/StyledSkipLink.js.map +7 -0
  318. package/common/TimeSeriesChartWrapper.d.ts.map +1 -1
  319. package/common/TimeSeriesChartWrapper.js +228 -107
  320. package/common/TimeSeriesChartWrapper.js.map +4 -4
  321. package/common/chartingUtils.d.ts +32 -6
  322. package/common/chartingUtils.d.ts.map +1 -1
  323. package/common/chartingUtils.js +166 -39
  324. package/common/chartingUtils.js.map +4 -4
  325. package/common/components/TrellisTitle.d.ts.map +1 -1
  326. package/common/docUtils.js +1 -1
  327. package/common/docUtils.js.map +2 -2
  328. package/common/editorConfig/AxesChartDataDisplay.d.ts.map +1 -1
  329. package/common/editorConfig/AxesChartYGridAndLabels.d.ts.map +1 -1
  330. package/common/editorConfig/BackgroundColor.d.ts +2 -2
  331. package/common/editorConfig/TrellisEditors.d.ts +33 -5
  332. package/common/editorConfig/TrellisEditors.d.ts.map +1 -1
  333. package/common/hocs/mockdata/trellisData.d.ts +54 -0
  334. package/common/hocs/mockdata/trellisData.d.ts.map +1 -1
  335. package/common/hocs/withTrellis.d.ts +9 -0
  336. package/common/hocs/withTrellis.d.ts.map +1 -1
  337. package/common/hooks/useSorting.d.ts +2 -2
  338. package/common/hooks/useSorting.d.ts.map +1 -1
  339. package/common/shapeUtils.d.ts +1 -1
  340. package/common/shapeUtils.d.ts.map +1 -1
  341. package/common/shapeUtils.js.map +2 -2
  342. package/common/utils/dataUtils.js +2 -1
  343. package/common/utils/dataUtils.js.map +2 -2
  344. package/common/utils/focusUtils.d.ts +4 -0
  345. package/common/utils/focusUtils.d.ts.map +1 -0
  346. package/common/utils/focusUtils.js +101 -0
  347. package/common/utils/focusUtils.js.map +7 -0
  348. package/common/utils/mapUtils.js +2 -6
  349. package/common/utils/mapUtils.js.map +2 -2
  350. package/common/utils/singleValueUtils.js +14 -26
  351. package/common/utils/singleValueUtils.js.map +2 -2
  352. package/common/utils/trellisUtils.d.ts.map +1 -1
  353. package/common/utils/trellisUtils.js +76 -70
  354. package/common/utils/trellisUtils.js.map +2 -2
  355. package/common/withDashboardViz.d.ts.map +1 -1
  356. package/common/withDashboardViz.js +276 -151
  357. package/common/withDashboardViz.js.map +4 -4
  358. package/package.json +32 -27
  359. package/LICENSE.md +0 -449
package/Map.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
  var __async = (__this, __arguments, generator) => {
63
65
  return new Promise((resolve, reject) => {
64
66
  var fulfilled = (value) => {
@@ -752,9 +754,7 @@ var Tooltip = ({
752
754
  tooltipHeader = null
753
755
  }) => {
754
756
  const featureFlagContext = react_exports.useContext(FeatureFlagContext_default);
755
- const isTooltipIconFlagEnabled = Boolean(
756
- featureFlagContext && featureFlagContext.visualizations_enableTooltipIcon
757
- );
757
+ const isTooltipIconFlagEnabled = Boolean(featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableTooltipIcon);
758
758
  return /* @__PURE__ */ react_exports.createElement(
759
759
  StyledPopover,
760
760
  {
@@ -946,9 +946,7 @@ var Bubble = react_exports.memo(
946
946
  showCoordinates
947
947
  }) => {
948
948
  const featureFlagContext = react_exports.useContext(FeatureFlagContext_default);
949
- const isBubbleMapIconFlagEnabled = Boolean(
950
- featureFlagContext && featureFlagContext.visualizations_enableBubbleMapIcon
951
- );
949
+ const isBubbleMapIconFlagEnabled = Boolean(featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableBubbleMapIcon);
952
950
  const onBubbleClick = react_exports.useCallback(
953
951
  (e, name, value) => {
954
952
  handleMapClick(e, name, value);
@@ -1273,7 +1271,7 @@ var StyledMarkerWrapper2 = styled_components_default(MarkerWrapper_default)`
1273
1271
  cursor: pointer;
1274
1272
  `;
1275
1273
  var generateMarkerWrapperProps = (markerLayer, showCoordinates, onMapClick = lodash_exports.noop) => {
1276
- var _a;
1274
+ var _a, _b;
1277
1275
  const latArray = markerLayer.latitude;
1278
1276
  const lonArray = markerLayer.longitude;
1279
1277
  const isStaticColor = !markerLayer.dataColors;
@@ -1287,8 +1285,8 @@ var generateMarkerWrapperProps = (markerLayer, showCoordinates, onMapClick = lod
1287
1285
  const staticColor = markerLayer.seriesColors && (0, colorUtils_exports.isColor)(markerLayer.seriesColors[0]) ? markerLayer.seriesColors[0] : DEFAULT_CLUSTER_COLOR;
1288
1286
  const dynamicColor = markerLayer.dataColors && (0, colorUtils_exports.isColor)(markerLayer.dataColors[i]) ? markerLayer.dataColors[i] : DEFAULT_CLUSTER_COLOR;
1289
1287
  const color = isStaticColor ? staticColor : dynamicColor;
1290
- const tooltipHeader = markerLayer.tooltipHeaderField && markerLayer.tooltipHeaderField[i];
1291
- const additionalFields = ((_a = markerLayer.metadata) == null ? void 0 : _a[i]) ? markerLayer.additionalTooltipFields.map((field) => ({
1288
+ const tooltipHeader = (_a = markerLayer.tooltipHeaderField) == null ? void 0 : _a[i];
1289
+ const additionalFields = ((_b = markerLayer.metadata) == null ? void 0 : _b[i]) ? markerLayer.additionalTooltipFields.map((field) => ({
1292
1290
  name: field,
1293
1291
  value: markerLayer.metadata[i][field]
1294
1292
  })) : [];
@@ -1561,7 +1559,7 @@ var ChoroplethLayer = (props) => {
1561
1559
  areaId,
1562
1560
  areaValue,
1563
1561
  additionalFields: additionalFields[i],
1564
- tooltipHeader: tooltipHeaderField && tooltipHeaderField[i],
1562
+ tooltipHeader: tooltipHeaderField == null ? void 0 : tooltipHeaderField[i],
1565
1563
  handleMapClick: (e) => handleMapClick(e, i)
1566
1564
  }
1567
1565
  );
@@ -2463,7 +2461,10 @@ var editorConfig = [
2463
2461
  label: (0, i18n_exports._)("Bubble size"),
2464
2462
  option: "layers[0].bubbleSize",
2465
2463
  editor: "editor.columnMultiSelector",
2466
- showEditor: ({ options }) => !(options.layers && options.layers.length && (options.layers[0].type === "marker" || options.layers[0].type === "choropleth")),
2464
+ showEditor: ({ options }) => {
2465
+ var _a;
2466
+ return !(((_a = options.layers) == null ? void 0 : _a.length) && (options.layers[0].type === "marker" || options.layers[0].type === "choropleth"));
2467
+ },
2467
2468
  editorProps: {
2468
2469
  dataSourceKey: "primary",
2469
2470
  shouldShowInternalFields: false,
@@ -2882,7 +2883,7 @@ var DefaultVizActionHandler = class {
2882
2883
  var INITIAL_HEIGHT = 250;
2883
2884
  var SplunkVisualization = class {
2884
2885
  };
2885
- SplunkVisualization.propTypes = {
2886
+ __publicField(SplunkVisualization, "propTypes", {
2886
2887
  /**
2887
2888
  * display mode
2888
2889
  */
@@ -2958,11 +2959,11 @@ SplunkVisualization.propTypes = {
2958
2959
  * A callback to request new data with updated request params
2959
2960
  */
2960
2961
  onRequestParamsChange: prop_types_exports.func
2961
- };
2962
+ });
2962
2963
  /**
2963
2964
  *
2964
2965
  */
2965
- SplunkVisualization.defaults = {
2966
+ __publicField(SplunkVisualization, "defaults", {
2966
2967
  // BaseVisualization in dashboard-visualizations uses 100% for width but 250 for height
2967
2968
  width: "100%",
2968
2969
  height: INITIAL_HEIGHT,
@@ -2977,7 +2978,7 @@ SplunkVisualization.defaults = {
2977
2978
  onComputedProps: () => ({}),
2978
2979
  loading: false,
2979
2980
  onRequestParamsChange: lodash_exports.noop
2980
- };
2981
+ });
2981
2982
  var SplunkVisualization_default = SplunkVisualization;
2982
2983
 
2983
2984
  // src/common/interfaces/DataSource.ts
@@ -3031,9 +3032,9 @@ var usePaginationParams = ({
3031
3032
  meta,
3032
3033
  onRequestParamsChange
3033
3034
  }) => {
3034
- const totalCount = meta && meta.totalCount || 0;
3035
- const offset = requestParams && requestParams.offset || 0;
3036
- const count = requestParams && requestParams.count;
3035
+ const totalCount = (meta == null ? void 0 : meta.totalCount) || 0;
3036
+ const offset = (requestParams == null ? void 0 : requestParams.offset) || 0;
3037
+ const count = requestParams == null ? void 0 : requestParams.count;
3037
3038
  const totalPages = typeof count === "number" && count > 0 ? Math.ceil(totalCount / count) : 0;
3038
3039
  const current = typeof count === "number" && count > 0 ? Math.floor(offset / count) + 1 : 0;
3039
3040
  const isPaging = totalPages > 1 && typeof onRequestParamsChange === "function";
@@ -3132,7 +3133,7 @@ var Cover = styled_components_default.div`
3132
3133
  bottom: 0;
3133
3134
  `;
3134
3135
  var Blocker = styled_components_default.div.attrs({
3135
- "data-splunk-visualization-version": "28.5.2 - fd77ce608"
3136
+ "data-splunk-visualization-version": "28.6.0 - 92427899a"
3136
3137
  })`
3137
3138
  position: relative;
3138
3139
  width: 100%;
@@ -3204,7 +3205,7 @@ var withFixedSizeContainer = (Viz) => {
3204
3205
  FixSizeItem,
3205
3206
  {
3206
3207
  "data-test": "fix-size-item",
3207
- "data-splunk-visualization-version": "28.5.2 - fd77ce608",
3208
+ "data-splunk-visualization-version": "28.6.0 - 92427899a",
3208
3209
  width,
3209
3210
  height,
3210
3211
  backgroundColor
@@ -3301,7 +3302,8 @@ var numberUtils_default = "default" in defaultImport41 ? defaultImport41.default
3301
3302
 
3302
3303
  // src/common/utils/dataUtils.ts
3303
3304
  var convertToArrOfObjects = (columns, fields) => {
3304
- if (!columns || !columns[0] || !columns[0].length) return [];
3305
+ var _a;
3306
+ if (!((_a = columns == null ? void 0 : columns[0]) == null ? void 0 : _a.length)) return [];
3305
3307
  const data = [];
3306
3308
  for (let i = 0; i < columns[0].length; i += 1) {
3307
3309
  const newObj = {};
@@ -3762,6 +3764,24 @@ var defaultImport45 = __toESM(require("@splunk/react-icons/Triangle"));
3762
3764
  __reExport(Triangle_exports, require("@splunk/react-icons/Triangle"));
3763
3765
  var Triangle_default = "default" in defaultImport45 ? defaultImport45.default : defaultImport45;
3764
3766
 
3767
+ // esm-externals:@splunk/visualizations-shared/propUtils
3768
+ var propUtils_exports = {};
3769
+ __export(propUtils_exports, {
3770
+ default: () => propUtils_default
3771
+ });
3772
+ var defaultImport46 = __toESM(require("@splunk/visualizations-shared/propUtils"));
3773
+ __reExport(propUtils_exports, require("@splunk/visualizations-shared/propUtils"));
3774
+ var propUtils_default = "default" in defaultImport46 ? defaultImport46.default : defaultImport46;
3775
+
3776
+ // esm-externals:@splunk/visualizations-shared/simpleXMLOptions
3777
+ var simpleXMLOptions_exports = {};
3778
+ __export(simpleXMLOptions_exports, {
3779
+ default: () => simpleXMLOptions_default
3780
+ });
3781
+ var defaultImport47 = __toESM(require("@splunk/visualizations-shared/simpleXMLOptions"));
3782
+ __reExport(simpleXMLOptions_exports, require("@splunk/visualizations-shared/simpleXMLOptions"));
3783
+ var simpleXMLOptions_default = "default" in defaultImport47 ? defaultImport47.default : defaultImport47;
3784
+
3765
3785
  // src/common/chartingUtils.ts
3766
3786
  var DEFAULT_LINE_WIDTH = 2;
3767
3787
  var getAnnotationsForCanvas = ({
@@ -3799,9 +3819,9 @@ var shouldEnableSearchZoom = (eventHandlers = [], xField = "") => {
3799
3819
  const xAxisIsTime = xField === "_time";
3800
3820
  return !!rangeSelectEventHandler && xAxisIsTime;
3801
3821
  };
3802
- var canvasSupportedTimeSeriesCharts = ["splunk.line"];
3822
+ var canvasSupportedTimeSeriesCharts = ["splunk.line", "splunk.area"];
3803
3823
  var isTimeSeriesCanvasRenderSupported = (vizConfigKey) => {
3804
- return canvasSupportedTimeSeriesCharts.indexOf(vizConfigKey) > -1;
3824
+ return canvasSupportedTimeSeriesCharts.includes(vizConfigKey);
3805
3825
  };
3806
3826
  var filterChartDataFromInternalFields = (chartData) => {
3807
3827
  const { fields, columns } = chartData;
@@ -3956,46 +3976,66 @@ var getY2ScaleConfig = (label, axisAbbreviation, axisScale, roundAxisLabelsToInt
3956
3976
  }
3957
3977
  return y2Config;
3958
3978
  };
3959
- var getSeriesOverrides = (yfields, y2fields, lineWidth, overlayFields, y2Enabled, nullValueMode, markerDisplay, lineDashStyle, lineDashStylesByField, stepPosition, stepPositionsByField) => {
3979
+ var getSeriesType = (isOverlay, isAreaChart, isStacked) => {
3980
+ if (isOverlay) return "line";
3981
+ if (!isAreaChart) return void 0;
3982
+ return isStacked ? "stacked-area" : "area";
3983
+ };
3984
+ var getY2Scale = (field, y2fields, overlayFields) => {
3985
+ 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));
3986
+ return assignToY2 ? "y2" : "y";
3987
+ };
3988
+ var getSeriesOverrides = (opts) => {
3989
+ var _a;
3990
+ const {
3991
+ yfields,
3992
+ y2fields,
3993
+ lineWidth,
3994
+ overlayFields,
3995
+ y2Enabled,
3996
+ nullValueMode,
3997
+ markerDisplay,
3998
+ lineDashStyle,
3999
+ lineDashStylesByField,
4000
+ stepPosition,
4001
+ stepPositionsByField,
4002
+ type,
4003
+ stackMode,
4004
+ showLines
4005
+ } = opts;
3960
4006
  const seriesConfig = {};
3961
4007
  let spanGaps;
3962
- let replaceNullsWithZero;
3963
4008
  if (nullValueMode === "gaps") {
3964
4009
  spanGaps = false;
3965
- } else if (nullValueMode === "connect" || nullValueMode === "zero") {
4010
+ } else if (nullValueMode != null) {
3966
4011
  spanGaps = true;
3967
- if (nullValueMode === "zero") {
3968
- replaceNullsWithZero = true;
3969
- }
4012
+ } else {
4013
+ spanGaps = void 0;
3970
4014
  }
3971
- yfields.forEach((field) => {
4015
+ const replaceNullsWithZero = nullValueMode === "zero" ? true : void 0;
4016
+ const isAreaChart = type === "area";
4017
+ const isStacked = isAreaChart && (stackMode === "stacked" || stackMode === "stacked100");
4018
+ const areaFields = isAreaChart ? yfields.filter((f) => !(overlayFields == null ? void 0 : overlayFields.includes(f))) : yfields;
4019
+ const overlayFieldsInOrder = (_a = overlayFields == null ? void 0 : overlayFields.filter((f) => yfields.includes(f))) != null ? _a : [];
4020
+ const orderedFields = isAreaChart ? [...areaFields, ...overlayFieldsInOrder] : yfields;
4021
+ orderedFields.forEach((field) => {
4022
+ var _a2;
4023
+ const isOverlay = (_a2 = overlayFields == null ? void 0 : overlayFields.includes(field)) != null ? _a2 : false;
4024
+ const isPercent = isAreaChart && stackMode === "stacked100" && !isOverlay;
4025
+ const shouldHideAreaOutline = isAreaChart && showLines === false && !isOverlay;
3972
4026
  seriesConfig[field] = {
3973
- overrides: { width: lineWidth != null ? lineWidth : DEFAULT_LINE_WIDTH }
4027
+ overrides: __spreadValues({
4028
+ width: shouldHideAreaOutline ? 0 : lineWidth != null ? lineWidth : DEFAULT_LINE_WIDTH
4029
+ }, isPercent ? { stacking: { mode: "percent", group: "A" } } : {})
3974
4030
  };
3975
- if (spanGaps !== void 0) {
3976
- seriesConfig[field].overrides.spanGaps = spanGaps;
3977
- }
3978
- if (y2Enabled) {
3979
- const shouldAssignToY2 = (
3980
- // If y2Fields are present, assign all y2Fields to y2 scale
3981
- (y2fields == null ? void 0 : y2fields.length) > 0 && y2fields.includes(field) || // Else, assign all overlayFields to y2 scale
3982
- (!y2fields || y2fields.length === 0) && (overlayFields == null ? void 0 : overlayFields.includes(field))
3983
- );
3984
- if (shouldAssignToY2) {
3985
- seriesConfig[field].overrides.scale = "y2";
3986
- } else {
3987
- seriesConfig[field].overrides.scale = "y";
3988
- }
3989
- }
3990
- if (overlayFields == null ? void 0 : overlayFields.includes(field)) {
3991
- seriesConfig[field].type = "line";
3992
- }
3993
- if (markerDisplay !== void 0) {
3994
- seriesConfig[field].markerDisplay = markerDisplay;
3995
- }
3996
- const fieldDashStyle = (lineDashStylesByField == null ? void 0 : lineDashStylesByField[field]) || lineDashStyle;
3997
- if (fieldDashStyle) {
3998
- seriesConfig[field].lineDashStyle = fieldDashStyle;
4031
+ const seriesType = getSeriesType(isOverlay, isAreaChart, isStacked);
4032
+ if (seriesType !== void 0) seriesConfig[field].type = seriesType;
4033
+ if (spanGaps !== void 0) seriesConfig[field].overrides.spanGaps = spanGaps;
4034
+ if (y2Enabled) seriesConfig[field].overrides.scale = getY2Scale(field, y2fields, overlayFields);
4035
+ if (markerDisplay !== void 0) seriesConfig[field].markerDisplay = markerDisplay;
4036
+ if (!isAreaChart || isOverlay) {
4037
+ const fieldDashStyle = (lineDashStylesByField == null ? void 0 : lineDashStylesByField[field]) || lineDashStyle;
4038
+ if (fieldDashStyle) seriesConfig[field].lineDashStyle = fieldDashStyle;
3999
4039
  }
4000
4040
  const hasFieldStepPosition = Object.hasOwn(stepPositionsByField || {}, field);
4001
4041
  const fieldStepPosition = hasFieldStepPosition ? stepPositionsByField == null ? void 0 : stepPositionsByField[field] : stepPosition;
@@ -4066,8 +4106,27 @@ var TrellisTitleDiv = styled_components_default.div`
4066
4106
  background-color: ${(props) => props.backgroundColor};
4067
4107
  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.
4068
4108
  `;
4109
+ var formatTrellisKey = (value) => {
4110
+ if (value === null || value === void 0) {
4111
+ return "";
4112
+ }
4113
+ if (typeof value === "string") {
4114
+ return value;
4115
+ }
4116
+ if (typeof value === "number" || typeof value === "boolean") {
4117
+ return value.toString();
4118
+ }
4119
+ if (typeof value === "symbol") {
4120
+ return value.toString();
4121
+ }
4122
+ try {
4123
+ return JSON.stringify(value);
4124
+ } catch (e) {
4125
+ return typeof value === "bigint" ? value.toString() : "";
4126
+ }
4127
+ };
4069
4128
  var TrellisTitle = (props) => {
4070
- const titleText = String(props.trellisKey).toString();
4129
+ const titleText = formatTrellisKey(props.trellisKey);
4071
4130
  return /* @__PURE__ */ react_exports.createElement(
4072
4131
  TrellisTitleDiv,
4073
4132
  {
@@ -4203,6 +4262,38 @@ var parseArrayOption = (value) => {
4203
4262
  }
4204
4263
  return void 0;
4205
4264
  };
4265
+ var getAreaOpacityForCanvas = (areaOpacity) => (
4266
+ // Preserve legacy visualizations behavior where area opacity is squared to match charting output.
4267
+ areaOpacity !== void 0 && areaOpacity !== null ? __pow(areaOpacity, 2) : areaOpacity
4268
+ );
4269
+ var parseTickIntervalOption = (simpleXMLValue, canvasValue) => {
4270
+ if (simpleXMLValue) return Number(simpleXMLValue);
4271
+ if (canvasValue) return Number(canvasValue);
4272
+ return void 0;
4273
+ };
4274
+ var getYAxisTitles = ({
4275
+ y2Enabled,
4276
+ yFields,
4277
+ y2Fields,
4278
+ overlayFields,
4279
+ yAxisTitleText,
4280
+ yAxisTitleVisibility,
4281
+ y2AxisTitleText,
4282
+ y2AxisTitleVisibility,
4283
+ containerHeight
4284
+ }) => {
4285
+ const yFieldsForTitle = y2Enabled ? yFields.filter((field) => !y2Fields.includes(field)) : yFields;
4286
+ const fieldsForY2Axis = y2Fields.length > 0 ? y2Fields : overlayFields;
4287
+ const yAxisTitle = ellipsisAxisTitle(
4288
+ getComputedAxisTitles(yAxisTitleText, yFieldsForTitle, yAxisTitleVisibility),
4289
+ containerHeight
4290
+ );
4291
+ const y2AxisTitle = ellipsisAxisTitle(
4292
+ getComputedAxisTitles(y2AxisTitleText, fieldsForY2Axis, y2AxisTitleVisibility),
4293
+ containerHeight
4294
+ );
4295
+ return { yAxisTitle, y2AxisTitle };
4296
+ };
4206
4297
  var TimeSeriesChartWrapper = (props) => {
4207
4298
  var _b, _c, _d;
4208
4299
  const _a = props, {
@@ -4292,6 +4383,8 @@ var TimeSeriesChartWrapper = (props) => {
4292
4383
  "chart.overlayFields": overlayFieldsStr,
4293
4384
  "chart.nullValueMode": nullValueMode,
4294
4385
  "chart.showDataLabels": showDataLabels,
4386
+ "chart.showLines": showLines,
4387
+ "chart.stackMode": stackMode,
4295
4388
  lineWidth,
4296
4389
  lineDashStyle,
4297
4390
  fieldDashStyles: lineDashStylesByFieldStr,
@@ -4320,7 +4413,10 @@ var TimeSeriesChartWrapper = (props) => {
4320
4413
  yAxisMinorTickSize,
4321
4414
  y2AxisMinorTickSize,
4322
4415
  showYAxisWithZero: showYAxisWithZeroFromOptions,
4323
- showY2AxisWithZero: showY2AxisWithZeroFromOptions
4416
+ showY2AxisWithZero: showY2AxisWithZeroFromOptions,
4417
+ // area only props
4418
+ areaFillOpacity: areaOpacity,
4419
+ chart: chartType
4324
4420
  } = options;
4325
4421
  const dataValuesDisplay = showDataLabels === "none" ? "off" : showDataLabels;
4326
4422
  const showYAxisWithZero = showYAxisWithZeroFromProps != null ? showYAxisWithZeroFromProps : showYAxisWithZeroFromOptions;
@@ -4337,13 +4433,11 @@ var TimeSeriesChartWrapper = (props) => {
4337
4433
  const yAxisMax = parseAxisValue(yAxisMaxRaw);
4338
4434
  const y2AxisMin = parseAxisValue(y2AxisMinRaw);
4339
4435
  const y2AxisMax = parseAxisValue(y2AxisMaxRaw);
4340
- const parseTickInterval = (simpleXMLValue, canvasValue) => {
4341
- if (simpleXMLValue) return Number(simpleXMLValue);
4342
- if (canvasValue) return Number(canvasValue);
4343
- return void 0;
4344
- };
4345
- const yAxisMajorTickIntervalNum = parseTickInterval(yAxisMajorUnitFromSimpleXML, yAxisMajorTickInterval);
4346
- const y2AxisMajorTickIntervalNum = parseTickInterval(
4436
+ const yAxisMajorTickIntervalNum = parseTickIntervalOption(
4437
+ yAxisMajorUnitFromSimpleXML,
4438
+ yAxisMajorTickInterval
4439
+ );
4440
+ const y2AxisMajorTickIntervalNum = parseTickIntervalOption(
4347
4441
  y2AxisMajorUnitFromSimpleXML,
4348
4442
  y2AxisMajorTickInterval
4349
4443
  );
@@ -4352,6 +4446,7 @@ var TimeSeriesChartWrapper = (props) => {
4352
4446
  const y2AxisMajorTickSizeNum = y2AxisMajorTickSize != null ? Number(y2AxisMajorTickSize) : void 0;
4353
4447
  const yAxisMinorTickSizeNum = yAxisMinorTickSize != null ? Number(yAxisMinorTickSize) : void 0;
4354
4448
  const y2AxisMinorTickSizeNum = y2AxisMinorTickSize != null ? Number(y2AxisMinorTickSize) : void 0;
4449
+ const areaOpacityForCanvas = getAreaOpacityForCanvas(areaOpacity);
4355
4450
  const seriesColors = seriesColorsStr ? JSON.parse(seriesColorsStr) : void 0;
4356
4451
  const seriesColorsByField = fieldColors ? JSON.parse(fieldColors) : void 0;
4357
4452
  const lineDashStylesByField = lineDashStylesByFieldStr ? JSON.parse(lineDashStylesByFieldStr) : void 0;
@@ -4382,26 +4477,40 @@ var TimeSeriesChartWrapper = (props) => {
4382
4477
  );
4383
4478
  let xAxisTitle = getComputedAxisTitles(xAxisTitleText, [xField], xAxisTitleVisibility);
4384
4479
  xAxisTitle = ellipsisAxisTitle(xAxisTitle, containerWidth);
4385
- const yFieldsForTitle = y2Enabled ? yFields.filter((field) => !y2Fields.includes(field)) : yFields;
4386
- let yAxisTitle = getComputedAxisTitles(yAxisTitleText, yFieldsForTitle, yAxisTitleVisibility);
4387
- yAxisTitle = ellipsisAxisTitle(yAxisTitle, containerHeight);
4388
- const fieldsForY2Axis = y2Fields.length > 0 ? y2Fields : overlayFields;
4389
- let y2AxisTitle = getComputedAxisTitles(y2AxisTitleText, fieldsForY2Axis, y2AxisTitleVisibility);
4390
- y2AxisTitle = ellipsisAxisTitle(y2AxisTitle, containerHeight);
4480
+ const { yAxisTitle, y2AxisTitle } = getYAxisTitles({
4481
+ y2Enabled,
4482
+ yFields,
4483
+ y2Fields,
4484
+ overlayFields,
4485
+ yAxisTitleText,
4486
+ yAxisTitleVisibility,
4487
+ y2AxisTitleText,
4488
+ y2AxisTitleVisibility,
4489
+ containerHeight
4490
+ });
4391
4491
  const xScaleConfig = (0, react_exports.useMemo)(
4392
4492
  () => getXScaleConfig(xAxisTitle, xAxisLabelVisibility, xAxisLabelRotation),
4393
4493
  [xAxisTitle, xAxisLabelVisibility, xAxisLabelRotation]
4394
4494
  );
4495
+ const isStacked100 = stackMode === "stacked100";
4395
4496
  const yScaleConfig = (0, react_exports.useMemo)(
4396
- () => getYScaleConfig(
4397
- yAxisTitle,
4398
- yAxisAbbreviation,
4399
- yAxisScale,
4400
- yAxisLabelVisibility,
4401
- yAxisMin,
4402
- yAxisMax
4403
- ),
4404
- [yAxisTitle, yAxisAbbreviation, yAxisScale, yAxisLabelVisibility, yAxisMin, yAxisMax]
4497
+ () => {
4498
+ const config2 = getYScaleConfig(
4499
+ yAxisTitle,
4500
+ yAxisAbbreviation,
4501
+ yAxisScale,
4502
+ yAxisLabelVisibility,
4503
+ yAxisMin,
4504
+ yAxisMax
4505
+ );
4506
+ if (isStacked100) {
4507
+ config2.y.tickFmt = (v) => `${Math.round(v * 100)}%`;
4508
+ config2.y.range = () => [0, 1];
4509
+ }
4510
+ return config2;
4511
+ },
4512
+ // eslint-disable-next-line react-hooks/exhaustive-deps
4513
+ [yAxisTitle, yAxisAbbreviation, yAxisScale, yAxisLabelVisibility, yAxisMin, yAxisMax, isStacked100]
4405
4514
  );
4406
4515
  const y2ScaleConfig = (0, react_exports.useMemo)(() => {
4407
4516
  if (y2Enabled) {
@@ -4433,10 +4542,11 @@ var TimeSeriesChartWrapper = (props) => {
4433
4542
  ];
4434
4543
  chartData.fields = filteredChartData.fields;
4435
4544
  chartData.columns = seriesDataFormatted;
4545
+ const normalizedStackMode = stackMode === "stacked" || stackMode === "stacked100" ? stackMode : "auto";
4436
4546
  const seriesOverrides = (0, react_exports.useMemo)(
4437
- () => getSeriesOverrides(
4438
- yFields,
4439
- y2Fields,
4547
+ () => getSeriesOverrides({
4548
+ yfields: yFields,
4549
+ y2fields: y2Fields,
4440
4550
  lineWidth,
4441
4551
  overlayFields,
4442
4552
  y2Enabled,
@@ -4445,8 +4555,11 @@ var TimeSeriesChartWrapper = (props) => {
4445
4555
  lineDashStyle,
4446
4556
  lineDashStylesByField,
4447
4557
  stepPosition,
4448
- stepPositionsByField
4449
- ),
4558
+ stepPositionsByField,
4559
+ type: chartType,
4560
+ stackMode: normalizedStackMode,
4561
+ showLines
4562
+ }),
4450
4563
  [
4451
4564
  yFields,
4452
4565
  y2Fields,
@@ -4458,7 +4571,10 @@ var TimeSeriesChartWrapper = (props) => {
4458
4571
  lineDashStyle,
4459
4572
  lineDashStylesByField,
4460
4573
  stepPosition,
4461
- stepPositionsByField
4574
+ stepPositionsByField,
4575
+ chartType,
4576
+ normalizedStackMode,
4577
+ showLines
4462
4578
  ]
4463
4579
  );
4464
4580
  const chartingEventAnnotations = (0, react_exports.useMemo)(
@@ -4526,50 +4642,54 @@ var TimeSeriesChartWrapper = (props) => {
4526
4642
  react_exports.useEffect(() => {
4527
4643
  additionalTooltipValuesRef.current = additionalTooltipValues;
4528
4644
  }, [additionalTooltipValues]);
4645
+ const handleCrosshairMouseout = react_exports.useCallback(() => {
4646
+ if (onPointMouseOut && lastPayloadRef.current) {
4647
+ onPointMouseOut({
4648
+ type: "point.mouseout",
4649
+ originalEvent: lastOriginalEventRef.current,
4650
+ payload: lastPayloadRef.current
4651
+ });
4652
+ }
4653
+ previousMouseoverPayloadRef.current = null;
4654
+ }, [onPointMouseOut]);
4529
4655
  const handleChartCrosshairChange = react_exports.useCallback(
4530
4656
  (event) => {
4531
- if (onPointMouseOver || onPointMouseOut) {
4532
- if (!event) {
4533
- if (onPointMouseOut && lastPayloadRef.current) {
4534
- onPointMouseOut({
4535
- type: "point.mouseout",
4536
- originalEvent: lastOriginalEventRef.current,
4537
- payload: lastPayloadRef.current
4538
- });
4539
- }
4540
- previousMouseoverPayloadRef.current = null;
4541
- return;
4542
- }
4543
- const payload = __spreadProps(__spreadValues({}, (0, lodash_exports.pick)(event, "value", "seriesKey", "time", "index", "seriesIndex")), {
4544
- name: event.seriesKey
4657
+ if (!onPointMouseOver && !onPointMouseOut) {
4658
+ return;
4659
+ }
4660
+ if (!event) {
4661
+ handleCrosshairMouseout();
4662
+ return;
4663
+ }
4664
+ const payload = __spreadProps(__spreadValues({}, (0, lodash_exports.pick)(event, "value", "seriesKey", "time", "index", "seriesIndex")), {
4665
+ name: event.seriesKey
4666
+ });
4667
+ delete payload.seriesKey;
4668
+ if (event.rowContext) {
4669
+ Object.assign(
4670
+ payload,
4671
+ Object.keys(event.rowContext).reduce((acc, fieldName) => {
4672
+ acc[`row.${fieldName}.value`] = event.rowContext[fieldName];
4673
+ return acc;
4674
+ }, {})
4675
+ );
4676
+ }
4677
+ const updatedPayload = appendTrellisToPayload(payload, trellisKey, trellisSplitBy);
4678
+ if (!hasMouseoverPayloadChanged(updatedPayload, previousMouseoverPayloadRef.current)) {
4679
+ return;
4680
+ }
4681
+ lastPayloadRef.current = updatedPayload;
4682
+ lastOriginalEventRef.current = event;
4683
+ previousMouseoverPayloadRef.current = __spreadValues({}, updatedPayload);
4684
+ if (onPointMouseOver) {
4685
+ onPointMouseOver({
4686
+ type: "point.mouseover",
4687
+ originalEvent: event,
4688
+ payload: updatedPayload
4545
4689
  });
4546
- delete payload.seriesKey;
4547
- if (event.rowContext) {
4548
- Object.assign(
4549
- payload,
4550
- Object.keys(event.rowContext).reduce((acc, fieldName) => {
4551
- acc[`row.${fieldName}.value`] = event.rowContext[fieldName];
4552
- return acc;
4553
- }, {})
4554
- );
4555
- }
4556
- const updatedPayload = appendTrellisToPayload(payload, trellisKey, trellisSplitBy);
4557
- if (!hasMouseoverPayloadChanged(updatedPayload, previousMouseoverPayloadRef.current)) {
4558
- return;
4559
- }
4560
- lastPayloadRef.current = updatedPayload;
4561
- lastOriginalEventRef.current = event;
4562
- previousMouseoverPayloadRef.current = __spreadValues({}, updatedPayload);
4563
- if (onPointMouseOver) {
4564
- onPointMouseOver({
4565
- type: "point.mouseover",
4566
- originalEvent: event,
4567
- payload: updatedPayload
4568
- });
4569
- }
4570
4690
  }
4571
4691
  },
4572
- [onPointMouseOver, onPointMouseOut, trellisKey, trellisSplitBy]
4692
+ [onPointMouseOver, onPointMouseOut, trellisKey, trellisSplitBy, handleCrosshairMouseout]
4573
4693
  );
4574
4694
  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}`;
4575
4695
  const memoizedChart = (0, react_exports.useMemo)(() => {
@@ -4624,7 +4744,8 @@ var TimeSeriesChartWrapper = (props) => {
4624
4744
  showXAxisLine,
4625
4745
  showYAxisLine,
4626
4746
  showY2AxisLine,
4627
- xAxisMaxLabelParts
4747
+ xAxisMaxLabelParts,
4748
+ areaOpacity: areaOpacityForCanvas
4628
4749
  }
4629
4750
  ));
4630
4751
  }, [
@@ -4676,7 +4797,8 @@ var TimeSeriesChartWrapper = (props) => {
4676
4797
  showYAxisLine,
4677
4798
  showY2AxisLine,
4678
4799
  legendMode,
4679
- xAxisMaxLabelParts
4800
+ xAxisMaxLabelParts,
4801
+ areaOpacityForCanvas
4680
4802
  ]);
4681
4803
  const memoizedVisualization = (0, react_exports.useMemo)(() => {
4682
4804
  return /* @__PURE__ */ react_exports.createElement(VizStyleWrapper_default, { backgroundColor: bgColor }, memoizedChart);
@@ -4704,6 +4826,37 @@ var TimeSeriesChartWrapper_default = TimeSeriesChartWrapper;
4704
4826
 
4705
4827
  // src/common/withDashboardViz.tsx
4706
4828
  var SanitizedTimeSeriesChartWrapper = (0, SanitizeProps_exports.withSanitizedProps)(TimeSeriesChartWrapper_default);
4829
+ var buildEventCallbackProps = (supportedEvents, evaluatedOptionsToUse, onEventTrigger) => {
4830
+ const result = {};
4831
+ Object.keys(supportedEvents).forEach((eventName) => {
4832
+ const { parentKeys, payloadKeys } = supportedEvents[eventName];
4833
+ const eventCallbackPropName = (0, lodash_exports.camelCase)(`on.${eventName}`);
4834
+ let payload = {};
4835
+ if (Array.isArray(payloadKeys) && payloadKeys.length) {
4836
+ payloadKeys.forEach((p) => {
4837
+ payload[p] = evaluatedOptionsToUse[p];
4838
+ });
4839
+ }
4840
+ result[eventCallbackPropName] = (ev) => {
4841
+ if (ev == null ? void 0 : ev.payload) {
4842
+ payload = __spreadValues({}, ev.payload);
4843
+ }
4844
+ return onEventTrigger({
4845
+ originalEvent: ev,
4846
+ payload,
4847
+ type: eventName
4848
+ });
4849
+ };
4850
+ if (parentKeys) {
4851
+ for (let i = parentKeys.length - 1; i >= 0; i -= 1) {
4852
+ const newObject = {};
4853
+ newObject[parentKeys[i]] = result[eventCallbackPropName];
4854
+ result[eventCallbackPropName] = newObject;
4855
+ }
4856
+ }
4857
+ });
4858
+ return result;
4859
+ };
4707
4860
  var withDashboardViz = (opts) => {
4708
4861
  const {
4709
4862
  ReactViz,
@@ -4761,9 +4914,7 @@ var withDashboardViz = (opts) => {
4761
4914
  const isDownsamplingEnabledByFeatureFlag = Boolean(
4762
4915
  featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableDownsampling
4763
4916
  );
4764
- const isTrellisFeatureFlagOn = Boolean(
4765
- featureFlagContext && featureFlagContext.visualizations_enableTrellis
4766
- );
4917
+ const isTrellisFeatureFlagOn = Boolean(featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableTrellis);
4767
4918
  const isTrellisOn = isTrellisFeatureFlagOn && ((_a = vizConfig == null ? void 0 : vizConfig.supports) == null ? void 0 : _a.includes("trellis" /* TRELLIS */)) && (options == null ? void 0 : options.splitByLayout) === "trellis" /* TRELLIS */;
4768
4919
  const isAcceleratedRenderFeatureFlagOn = Boolean(
4769
4920
  featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableAcceleratedRender
@@ -4928,38 +5079,12 @@ var withDashboardViz = (opts) => {
4928
5079
  }
4929
5080
  );
4930
5081
  }
4931
- const eventCallbackProps = {};
4932
- if (hasEventHandlers && mode === "view" && vizConfig.supports.indexOf("events" /* EVENTS */) > -1) {
4933
- const supportedEvents = vizConfig.events;
4934
- Object.keys(supportedEvents).forEach((eventName) => {
4935
- const { parentKeys, payloadKeys } = supportedEvents[eventName];
4936
- const eventCallbackPropName = (0, lodash_exports.camelCase)(`on.${eventName}`);
4937
- let payload = {};
4938
- if (Array.isArray(payloadKeys) && payloadKeys.length) {
4939
- payloadKeys.forEach((p) => {
4940
- payload[p] = evaluatedOptionsToUse[p];
4941
- });
4942
- }
4943
- eventCallbackProps[eventCallbackPropName] = (ev) => {
4944
- if (ev == null ? void 0 : ev.payload) {
4945
- payload = __spreadValues({}, ev.payload);
4946
- }
4947
- return onEventTrigger({
4948
- originalEvent: ev,
4949
- payload,
4950
- type: eventName
4951
- });
4952
- };
4953
- if (parentKeys) {
4954
- for (let i = parentKeys.length - 1; i >= 0; i -= 1) {
4955
- const newObject = {};
4956
- newObject[parentKeys[i]] = eventCallbackProps[eventCallbackPropName];
4957
- eventCallbackProps[eventCallbackPropName] = newObject;
4958
- }
4959
- }
4960
- });
4961
- }
4962
- const computedVizProps = computeVizProps2(__spreadProps(__spreadValues(__spreadValues(__spreadValues({}, props), evaluatedOptionsToUse), eventCallbackProps), {
5082
+ const eventCallbackProps = hasEventHandlers && mode === "view" && vizConfig.supports.includes("events" /* EVENTS */) ? buildEventCallbackProps(vizConfig.events, evaluatedOptionsToUse, onEventTrigger) : {};
5083
+ const computedVizProps = computeVizProps2(__spreadProps(__spreadValues(__spreadProps(__spreadValues(__spreadValues({}, props), evaluatedOptionsToUse), {
5084
+ // Align option transformation with the actual renderer selected below.
5085
+ // This prevents canvas-only option preservation from leaking into Highcharts mode.
5086
+ isAcceleratedRenderOn
5087
+ }), eventCallbackProps), {
4963
5088
  themeFunc
4964
5089
  }));
4965
5090
  if (useAsyncEvaluatedOptions && Object.keys(evaluatedOptionsToUse).length === 0) {
@@ -4993,9 +5118,9 @@ var dsl_exports = {};
4993
5118
  __export(dsl_exports, {
4994
5119
  default: () => dsl_default
4995
5120
  });
4996
- var defaultImport46 = __toESM(require("@splunk/visualization-encoding/utils/dsl"));
5121
+ var defaultImport48 = __toESM(require("@splunk/visualization-encoding/utils/dsl"));
4997
5122
  __reExport(dsl_exports, require("@splunk/visualization-encoding/utils/dsl"));
4998
- var dsl_default = "default" in defaultImport46 ? defaultImport46.default : defaultImport46;
5123
+ var dsl_default = "default" in defaultImport48 ? defaultImport48.default : defaultImport48;
4999
5124
 
5000
5125
  // src/common/utils/mapUtils.ts
5001
5126
  var columnsNullToZeros = (config2, dataSources, options) => {
@@ -5094,8 +5219,8 @@ var computeVizProps = (props) => {
5094
5219
  var withTooltipFields = (Viz) => {
5095
5220
  const VizWithTooltipFields = (_a) => {
5096
5221
  var _b = _a, { dataSources, options } = _b, otherProps = __objRest(_b, ["dataSources", "options"]);
5097
- var _a2, _b2, _c;
5098
- if (!dataSources || !dataSources.primary || !dataSources.primary.data) {
5222
+ var _a2, _b2, _c, _d;
5223
+ if (!((_a2 = dataSources == null ? void 0 : dataSources.primary) == null ? void 0 : _a2.data)) {
5099
5224
  return /* @__PURE__ */ react_exports.createElement(Viz, __spreadProps(__spreadValues({}, otherProps), { options }));
5100
5225
  }
5101
5226
  const mergedOptions = (0, hocUtils_exports.deepMergeWithArrayPrimitiveOverrides)(
@@ -5103,8 +5228,8 @@ var withTooltipFields = (Viz) => {
5103
5228
  options,
5104
5229
  (0, JSONSchemaUtils_exports.pickFieldFromJSONSchema)(config_default.optionsSchema, "default")
5105
5230
  );
5106
- if ((_a2 = mergedOptions.layers) == null ? void 0 : _a2[0]) {
5107
- if (((_c = (_b2 = mergedOptions.layers) == null ? void 0 : _b2[0]) == null ? void 0 : _c.type) === "bubble") {
5231
+ if ((_b2 = mergedOptions.layers) == null ? void 0 : _b2[0]) {
5232
+ if (((_d = (_c = mergedOptions.layers) == null ? void 0 : _c[0]) == null ? void 0 : _d.type) === "bubble") {
5108
5233
  mergedOptions.layers[0].bubbleSizeFields = "> bubbleSize | getField()";
5109
5234
  mergedOptions.layers[0].dataValuesField = "> dataValues | getField()";
5110
5235
  mergedOptions.layers[0].tooltipHeaderFieldName = "> tooltipHeaderField | getField()";
@@ -5127,7 +5252,8 @@ var withTooltipFields = (Viz) => {
5127
5252
  var withoutInternalFields = (Viz) => {
5128
5253
  const VizWithoutInternalFields = (_a) => {
5129
5254
  var _b = _a, { dataSources } = _b, otherProps = __objRest(_b, ["dataSources"]);
5130
- if (!dataSources || !dataSources.primary || !dataSources.primary.data) {
5255
+ var _a2;
5256
+ if (!((_a2 = dataSources == null ? void 0 : dataSources.primary) == null ? void 0 : _a2.data)) {
5131
5257
  return /* @__PURE__ */ react_exports.createElement(Viz, __spreadValues({}, otherProps));
5132
5258
  }
5133
5259
  const { primary } = dataSources;
@@ -5165,7 +5291,8 @@ var withoutInternalFields = (Viz) => {
5165
5291
  var withNullToZeros = (Viz) => {
5166
5292
  const VizWithColumnsNullToZeros = (_a) => {
5167
5293
  var _b = _a, { dataSources, options } = _b, otherProps = __objRest(_b, ["dataSources", "options"]);
5168
- if (!dataSources || !dataSources.primary || !dataSources.primary.data) {
5294
+ var _a2;
5295
+ if (!((_a2 = dataSources == null ? void 0 : dataSources.primary) == null ? void 0 : _a2.data)) {
5169
5296
  return /* @__PURE__ */ react_exports.createElement(Viz, __spreadValues({ options }, otherProps));
5170
5297
  }
5171
5298
  const modifiedDatasources = columnsNullToZeros(config_default, dataSources, options);