@splunk/visualizations 28.2.3 → 28.4.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 (895) hide show
  1. package/Area/Area.d.ts.map +1 -0
  2. package/Area/areaUtils.d.ts.map +1 -0
  3. package/Area/config.d.ts.map +1 -0
  4. package/Area/index.d.ts.map +1 -0
  5. package/Area.config.js +0 -1
  6. package/Area.config.js.map +2 -2
  7. package/Area.js +711 -184
  8. package/Area.js.map +4 -4
  9. package/Bar/Bar.d.ts.map +1 -0
  10. package/Bar/barUtils.d.ts.map +1 -0
  11. package/Bar/config.d.ts.map +1 -0
  12. package/Bar/index.d.ts.map +1 -0
  13. package/Bar.config.js +0 -1
  14. package/Bar.config.js.map +2 -2
  15. package/Bar.js +721 -184
  16. package/Bar.js.map +4 -4
  17. package/Bubble/Bubble.d.ts.map +1 -0
  18. package/Bubble/bubbleUtils.d.ts.map +1 -0
  19. package/Bubble/config.d.ts.map +1 -0
  20. package/Bubble/index.d.ts.map +1 -0
  21. package/Bubble.config.js +0 -1
  22. package/Bubble.config.js.map +2 -2
  23. package/Bubble.js +706 -167
  24. package/Bubble.js.map +4 -4
  25. package/CHANGELOG.external.md +99 -2
  26. package/{dist/types/ChoroplethSvg → ChoroplethSvg}/ChoroplethSvg.d.ts +4 -3
  27. package/ChoroplethSvg/ChoroplethSvg.d.ts.map +1 -0
  28. package/ChoroplethSvg/ErrorMessage/ErrorMessage.d.ts.map +1 -0
  29. package/ChoroplethSvg/PureChoroplethSvg/PureChoroplethSvg.d.ts.map +1 -0
  30. package/ChoroplethSvg/PureChoroplethSvg/SvgChoroplethDynamic.d.ts.map +1 -0
  31. package/ChoroplethSvg/PureChoroplethSvg/SvgMutator.d.ts.map +1 -0
  32. package/ChoroplethSvg/config.d.ts.map +1 -0
  33. package/ChoroplethSvg/index.d.ts.map +1 -0
  34. package/ChoroplethSvg.config.js +1 -3
  35. package/ChoroplethSvg.config.js.map +2 -2
  36. package/ChoroplethSvg.js +661 -109
  37. package/ChoroplethSvg.js.map +4 -4
  38. package/Column/Column.d.ts.map +1 -0
  39. package/Column/columnUtils.d.ts.map +1 -0
  40. package/Column/config.d.ts.map +1 -0
  41. package/Column/index.d.ts.map +1 -0
  42. package/Column.config.js +0 -1
  43. package/Column.config.js.map +2 -2
  44. package/Column.js +711 -184
  45. package/Column.js.map +4 -4
  46. package/Ellipse/Ellipse.d.ts.map +1 -0
  47. package/Ellipse/config.d.ts.map +1 -0
  48. package/Ellipse/index.d.ts.map +1 -0
  49. package/Ellipse.js +649 -107
  50. package/Ellipse.js.map +4 -4
  51. package/Events/EventUtils.d.ts.map +1 -0
  52. package/Events/Events.d.ts.map +1 -0
  53. package/Events/PureEvents/FieldSummaryTooltip.d.ts.map +1 -0
  54. package/Events/PureEvents/PureEvents.d.ts.map +1 -0
  55. package/Events/PureEvents/TimeControlsPopover.d.ts.map +1 -0
  56. package/Events/config.d.ts.map +1 -0
  57. package/Events/index.d.ts.map +1 -0
  58. package/Events.js +780 -193
  59. package/Events.js.map +4 -4
  60. package/FillerGauge/FillerGauge.d.ts.map +1 -0
  61. package/FillerGauge/PureFillerGauge/FillerGauge.d.ts.map +1 -0
  62. package/FillerGauge/config.d.ts.map +1 -0
  63. package/FillerGauge/index.d.ts.map +1 -0
  64. package/FillerGauge.js +656 -143
  65. package/FillerGauge.js.map +4 -4
  66. package/Image/Image.d.ts.map +1 -0
  67. package/Image/ImageApi.d.ts.map +1 -0
  68. package/Image/config.d.ts.map +1 -0
  69. package/Image/index.d.ts.map +1 -0
  70. package/Image.js +687 -113
  71. package/Image.js.map +4 -4
  72. package/LICENSE.md +0 -1
  73. package/Line/Line.d.ts.map +1 -0
  74. package/Line/config.d.ts.map +1 -0
  75. package/Line/index.d.ts.map +1 -0
  76. package/Line/lineUtils.d.ts.map +1 -0
  77. package/{dist/types/Line → Line}/mockdata/LineData.d.ts +59 -0
  78. package/Line/mockdata/LineData.d.ts.map +1 -0
  79. package/Line.config.js +0 -1
  80. package/Line.config.js.map +2 -2
  81. package/Line.js +817 -185
  82. package/Line.js.map +4 -4
  83. package/LinkGraph/ESTestDataSources.d.ts.map +1 -0
  84. package/LinkGraph/ESTestTemplate.d.ts.map +1 -0
  85. package/LinkGraph/LinkGraph.d.ts.map +1 -0
  86. package/{dist/types/LinkGraph → LinkGraph}/PureLinkGraph/PureLinkGraph.d.ts +5 -0
  87. package/LinkGraph/PureLinkGraph/PureLinkGraph.d.ts.map +1 -0
  88. package/LinkGraph/PureLinkGraph/PureLinkGraphUtils.d.ts.map +1 -0
  89. package/LinkGraph/PureLinkGraph/components/Edges.d.ts.map +1 -0
  90. package/LinkGraph/PureLinkGraph/components/Field.d.ts.map +1 -0
  91. package/LinkGraph/PureLinkGraph/components/FieldStyles.d.ts.map +1 -0
  92. package/{dist/types/LinkGraph → LinkGraph}/PureLinkGraph/components/Graph.d.ts +9 -1
  93. package/LinkGraph/PureLinkGraph/components/Graph.d.ts.map +1 -0
  94. package/LinkGraph/PureLinkGraph/components/GraphStyles.d.ts.map +1 -0
  95. package/{dist/types/LinkGraph → LinkGraph}/PureLinkGraph/components/Node.d.ts +1 -0
  96. package/LinkGraph/PureLinkGraph/components/Node.d.ts.map +1 -0
  97. package/{dist/types/LinkGraph → LinkGraph}/PureLinkGraph/components/Nodes.d.ts +1 -0
  98. package/LinkGraph/PureLinkGraph/components/Nodes.d.ts.map +1 -0
  99. package/LinkGraph/PureLinkGraph/measurementUtils.d.ts +16 -0
  100. package/LinkGraph/PureLinkGraph/measurementUtils.d.ts.map +1 -0
  101. package/{dist/types/LinkGraph → LinkGraph}/PureLinkGraph/utils/iconLoader.d.ts.map +1 -1
  102. package/LinkGraph/config.d.ts.map +1 -0
  103. package/LinkGraph/index.d.ts.map +1 -0
  104. package/LinkGraph.config.js +15 -1
  105. package/LinkGraph.config.js.map +2 -2
  106. package/LinkGraph.js +1476 -657
  107. package/LinkGraph.js.map +4 -4
  108. package/{dist/types/Map → Map}/Map.d.ts +2 -2
  109. package/Map/Map.d.ts.map +1 -0
  110. package/{dist/types/Map → Map}/PureMap/BubbleLayer.d.ts +5 -0
  111. package/Map/PureMap/BubbleLayer.d.ts.map +1 -0
  112. package/Map/PureMap/ChoroplethLayer.d.ts.map +1 -0
  113. package/Map/PureMap/ClusterLayer.d.ts.map +1 -0
  114. package/Map/PureMap/LocalChoroplethLayer.d.ts.map +1 -0
  115. package/{dist/types/Map → Map}/PureMap/MapUtils.d.ts +10 -6
  116. package/Map/PureMap/MapUtils.d.ts.map +1 -0
  117. package/Map/PureMap/MarkerLayer.d.ts.map +1 -0
  118. package/Map/PureMap/MarkerWrapper.d.ts.map +1 -0
  119. package/Map/PureMap/PureMap.d.ts.map +1 -0
  120. package/Map/PureMap/PureMapContainer.d.ts.map +1 -0
  121. package/Map/PureMap/Tooltip.d.ts.map +1 -0
  122. package/{dist/types/Map → Map}/PureMap/mockdata/data.d.ts +21 -17
  123. package/Map/PureMap/mockdata/data.d.ts.map +1 -0
  124. package/Map/config.d.ts.map +1 -0
  125. package/Map/index.d.ts.map +1 -0
  126. package/Map.config.js +0 -1
  127. package/Map.config.js.map +2 -2
  128. package/Map.js +1002 -319
  129. package/Map.js.map +4 -4
  130. package/Markdown/Markdown.d.ts.map +1 -0
  131. package/Markdown/config.d.ts.map +1 -0
  132. package/Markdown/index.d.ts.map +1 -0
  133. package/Markdown.js +669 -98
  134. package/Markdown.js.map +4 -4
  135. package/{dist/types/MarkerGauge → MarkerGauge}/MarkerGauge.d.ts +5 -1
  136. package/MarkerGauge/MarkerGauge.d.ts.map +1 -0
  137. package/{dist/types/MarkerGauge → MarkerGauge}/PureMarkerGauge/MarkerGauge.d.ts +4 -0
  138. package/MarkerGauge/PureMarkerGauge/MarkerGauge.d.ts.map +1 -0
  139. package/MarkerGauge/config.d.ts.map +1 -0
  140. package/MarkerGauge/index.d.ts.map +1 -0
  141. package/MarkerGauge.config.js +121 -3
  142. package/MarkerGauge.config.js.map +3 -3
  143. package/MarkerGauge.js +1439 -145
  144. package/MarkerGauge.js.map +4 -4
  145. package/NetworkGraph/NetworkGraph.d.ts +22 -0
  146. package/NetworkGraph/NetworkGraph.d.ts.map +1 -0
  147. package/NetworkGraph/PureNetworkGraph/PureNetworkGraph.d.ts +60 -0
  148. package/NetworkGraph/PureNetworkGraph/PureNetworkGraph.d.ts.map +1 -0
  149. package/NetworkGraph/PureNetworkGraph/components/Link.d.ts +19 -0
  150. package/NetworkGraph/PureNetworkGraph/components/Link.d.ts.map +1 -0
  151. package/NetworkGraph/PureNetworkGraph/components/NetworkGraphSvg.d.ts +29 -0
  152. package/NetworkGraph/PureNetworkGraph/components/NetworkGraphSvg.d.ts.map +1 -0
  153. package/NetworkGraph/PureNetworkGraph/components/Node.d.ts +27 -0
  154. package/NetworkGraph/PureNetworkGraph/components/Node.d.ts.map +1 -0
  155. package/NetworkGraph/PureNetworkGraph/components/Tooltip.d.ts +12 -0
  156. package/NetworkGraph/PureNetworkGraph/components/Tooltip.d.ts.map +1 -0
  157. package/NetworkGraph/PureNetworkGraph/components/ZoomControls.d.ts +13 -0
  158. package/NetworkGraph/PureNetworkGraph/components/ZoomControls.d.ts.map +1 -0
  159. package/NetworkGraph/PureNetworkGraph/mockdata/data.d.ts +140 -0
  160. package/NetworkGraph/PureNetworkGraph/mockdata/data.d.ts.map +1 -0
  161. package/NetworkGraph/PureNetworkGraph/mockdata/datasource.d.ts +89 -0
  162. package/NetworkGraph/PureNetworkGraph/mockdata/datasource.d.ts.map +1 -0
  163. package/NetworkGraph/PureNetworkGraph/utils/forceLayout.d.ts +47 -0
  164. package/NetworkGraph/PureNetworkGraph/utils/forceLayout.d.ts.map +1 -0
  165. package/NetworkGraph/PureNetworkGraph/utils/iconLoader.d.ts +78 -0
  166. package/NetworkGraph/PureNetworkGraph/utils/iconLoader.d.ts.map +1 -0
  167. package/NetworkGraph/PureNetworkGraph/utils/networkGraphShared.d.ts +111 -0
  168. package/NetworkGraph/PureNetworkGraph/utils/networkGraphShared.d.ts.map +1 -0
  169. package/NetworkGraph/PureNetworkGraph/utils/networkGraphUtils.d.ts +123 -0
  170. package/NetworkGraph/PureNetworkGraph/utils/networkGraphUtils.d.ts.map +1 -0
  171. package/NetworkGraph/config.d.ts.map +1 -0
  172. package/NetworkGraph/index.d.ts +3 -0
  173. package/NetworkGraph/index.d.ts.map +1 -0
  174. package/NetworkGraph.config.js +938 -0
  175. package/NetworkGraph.config.js.map +7 -0
  176. package/NetworkGraph.js +6793 -0
  177. package/NetworkGraph.js.map +7 -0
  178. package/ParallelCoordinates/ParallelCoordinates.d.ts.map +1 -0
  179. package/ParallelCoordinates/PureParallelCoordinates/PureParallelCoordinates.d.ts.map +1 -0
  180. package/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesCanvas.d.ts.map +1 -0
  181. package/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesChart.d.ts.map +1 -0
  182. package/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesPrompt.d.ts.map +1 -0
  183. package/ParallelCoordinates/config.d.ts.map +1 -0
  184. package/ParallelCoordinates/index.d.ts.map +1 -0
  185. package/ParallelCoordinates/mockdata/arrayValueData.d.ts.map +1 -0
  186. package/ParallelCoordinates/mockdata/sampleCarData.d.ts.map +1 -0
  187. package/ParallelCoordinates/mockdata/sampleCarNumericalData.d.ts.map +1 -0
  188. package/ParallelCoordinates/mockdata/sampleFoodData.d.ts.map +1 -0
  189. package/ParallelCoordinates/mockdata/sampleStringNumericalData.d.ts.map +1 -0
  190. package/ParallelCoordinates.js +666 -99
  191. package/ParallelCoordinates.js.map +4 -4
  192. package/Pie/Pie.d.ts.map +1 -0
  193. package/Pie/config.d.ts.map +1 -0
  194. package/Pie/index.d.ts.map +1 -0
  195. package/Pie/pieUtils.d.ts.map +1 -0
  196. package/Pie.config.js +13 -0
  197. package/Pie.config.js.map +2 -2
  198. package/Pie.js +744 -188
  199. package/Pie.js.map +4 -4
  200. package/Punchcard/Punchcard.d.ts.map +1 -0
  201. package/Punchcard/PurePunchcard/Punchcard.d.ts.map +1 -0
  202. package/Punchcard/PurePunchcard/src/PunchcardAxis.d.ts.map +1 -0
  203. package/Punchcard/PurePunchcard/src/PunchcardBubble.d.ts.map +1 -0
  204. package/Punchcard/PurePunchcard/src/PunchcardChartArea.d.ts.map +1 -0
  205. package/Punchcard/PurePunchcard/src/PunchcardGridLines.d.ts.map +1 -0
  206. package/Punchcard/PurePunchcard/src/PunchcardLegend.d.ts.map +1 -0
  207. package/Punchcard/PurePunchcard/src/PunchcardRow.d.ts.map +1 -0
  208. package/Punchcard/PurePunchcard/src/utils/punchcardUtils.d.ts.map +1 -0
  209. package/Punchcard/config.d.ts.map +1 -0
  210. package/Punchcard/index.d.ts.map +1 -0
  211. package/Punchcard/punchcardUtils.d.ts.map +1 -0
  212. package/Punchcard.js +663 -109
  213. package/Punchcard.js.map +4 -4
  214. package/README.md +1 -1
  215. package/Rectangle/Rectangle.d.ts.map +1 -0
  216. package/Rectangle/config.d.ts.map +1 -0
  217. package/Rectangle/index.d.ts.map +1 -0
  218. package/Rectangle.config.js +13 -22
  219. package/Rectangle.config.js.map +4 -4
  220. package/Rectangle.js +671 -138
  221. package/Rectangle.js.map +4 -4
  222. package/Sankey/PureSankey/PureSankey.d.ts.map +1 -0
  223. package/Sankey/PureSankey/SankeyLink.d.ts.map +1 -0
  224. package/Sankey/PureSankey/SankeyModels.d.ts.map +1 -0
  225. package/Sankey/PureSankey/SankeyNode.d.ts.map +1 -0
  226. package/Sankey/PureSankey/SankeyTooltip.d.ts.map +1 -0
  227. package/Sankey/PureSankey/SankeyUtils.d.ts.map +1 -0
  228. package/Sankey/PureSankey/mockdata/data.d.ts.map +1 -0
  229. package/Sankey/Sankey.d.ts.map +1 -0
  230. package/Sankey/config.d.ts.map +1 -0
  231. package/Sankey/index.d.ts.map +1 -0
  232. package/Sankey.js +683 -114
  233. package/Sankey.js.map +4 -4
  234. package/Scatter/Scatter.d.ts.map +1 -0
  235. package/Scatter/config.d.ts.map +1 -0
  236. package/Scatter/index.d.ts.map +1 -0
  237. package/Scatter/mockdata/data.d.ts.map +1 -0
  238. package/Scatter/scatterUtils.d.ts.map +1 -0
  239. package/Scatter.config.js +0 -1
  240. package/Scatter.config.js.map +2 -2
  241. package/Scatter.js +721 -184
  242. package/Scatter.js.map +4 -4
  243. package/SingleValue/SingleValue.d.ts.map +1 -0
  244. package/SingleValue/config.d.ts.map +1 -0
  245. package/SingleValue/index.d.ts.map +1 -0
  246. package/SingleValue.config.js +15 -2
  247. package/SingleValue.config.js.map +2 -2
  248. package/SingleValue.js +864 -226
  249. package/SingleValue.js.map +3 -3
  250. package/SingleValueBasic/index.d.ts.map +1 -0
  251. package/SingleValueBasic.js +22 -13
  252. package/SingleValueBasic.js.map +2 -2
  253. package/SingleValueIcon/SingleValueIcon.d.ts.map +1 -0
  254. package/SingleValueIcon/config.d.ts.map +1 -0
  255. package/SingleValueIcon/index.d.ts.map +1 -0
  256. package/SingleValueIcon.config.js +0 -1
  257. package/SingleValueIcon.config.js.map +2 -2
  258. package/SingleValueIcon.js +661 -142
  259. package/SingleValueIcon.js.map +3 -3
  260. package/SingleValueRadial/PureSingleValueRadial/GaugeGraph.d.ts.map +1 -0
  261. package/{dist/types/SingleValueRadial → SingleValueRadial}/PureSingleValueRadial/utils/gaugeUtils.d.ts +0 -8
  262. package/SingleValueRadial/PureSingleValueRadial/utils/gaugeUtils.d.ts.map +1 -0
  263. package/SingleValueRadial/SingleValueRadial.d.ts.map +1 -0
  264. package/SingleValueRadial/config.d.ts.map +1 -0
  265. package/SingleValueRadial/index.d.ts.map +1 -0
  266. package/SingleValueRadial.config.js +0 -1
  267. package/SingleValueRadial.config.js.map +2 -2
  268. package/SingleValueRadial.js +660 -140
  269. package/SingleValueRadial.js.map +4 -4
  270. package/SparkLine/index.d.ts.map +1 -0
  271. package/SparkLine.js +111 -45
  272. package/SparkLine.js.map +2 -2
  273. package/{dist/types/Table → Table}/PureTable.d.ts +10 -0
  274. package/Table/PureTable.d.ts.map +1 -0
  275. package/Table/Table.d.ts +18 -0
  276. package/Table/Table.d.ts.map +1 -0
  277. package/Table/cells/ArrayCell.d.ts.map +1 -0
  278. package/Table/cells/SparklineCell.d.ts.map +1 -0
  279. package/Table/cells/SwitchTableCell.d.ts.map +1 -0
  280. package/Table/cells/TextCell.d.ts.map +1 -0
  281. package/Table/cells/index.d.ts.map +1 -0
  282. package/Table/config.d.ts.map +1 -0
  283. package/{dist/types/Table → Table}/hooks.d.ts +5 -5
  284. package/Table/hooks.d.ts.map +1 -0
  285. package/Table/index.d.ts.map +1 -0
  286. package/Table.config.js +1 -1
  287. package/Table.config.js.map +2 -2
  288. package/Table.js +1115 -375
  289. package/Table.js.map +4 -4
  290. package/Timeline/PureTimeline/PureTimeline.d.ts.map +1 -0
  291. package/Timeline/PureTimeline/src/CursorPlugin.d.ts.map +1 -0
  292. package/Timeline/PureTimeline/src/TimelineLegend.d.ts.map +1 -0
  293. package/{dist/types/Timeline → Timeline}/PureTimeline/src/TimelinePlugin.d.ts +3 -1
  294. package/Timeline/PureTimeline/src/TimelinePlugin.d.ts.map +1 -0
  295. package/Timeline/PureTimeline/src/TimelineTooltip.d.ts.map +1 -0
  296. package/Timeline/PureTimeline/src/TimelineUplot.d.ts.map +1 -0
  297. package/Timeline/PureTimeline/src/TimelineYAxis.d.ts.map +1 -0
  298. package/{dist/types/Timeline → Timeline}/PureTimeline/src/XAxisPlugin.d.ts +2 -1
  299. package/Timeline/PureTimeline/src/XAxisPlugin.d.ts.map +1 -0
  300. package/{dist/types/Timeline → Timeline}/PureTimeline/src/utils/timelineUtils.d.ts +26 -2
  301. package/Timeline/PureTimeline/src/utils/timelineUtils.d.ts.map +1 -0
  302. package/Timeline/Timeline.d.ts.map +1 -0
  303. package/Timeline/config.d.ts +4 -0
  304. package/Timeline/config.d.ts.map +1 -0
  305. package/Timeline/index.d.ts.map +1 -0
  306. package/Timeline/mockdata/basicTimelineData.d.ts.map +1 -0
  307. package/Timeline/mockdata/categoricalTimelineData.d.ts.map +1 -0
  308. package/Timeline/mockdata/timelineDataSource.d.ts.map +1 -0
  309. package/Timeline.config.js +30 -21
  310. package/Timeline.config.js.map +4 -4
  311. package/Timeline.js +1287 -467
  312. package/Timeline.js.map +4 -4
  313. package/{dist/types/common → common}/Charting.d.ts +7 -0
  314. package/common/Charting.d.ts.map +1 -0
  315. package/common/Charting.js +59 -34
  316. package/common/Charting.js.map +4 -4
  317. package/common/ChartingApi.d.ts.map +1 -0
  318. package/common/DocExampleWithVizSandbox.d.ts.map +1 -0
  319. package/common/DocExampleWithVizSandbox.js.map +1 -1
  320. package/common/OptionsDoc.js.map +1 -1
  321. package/common/OverviewDoc.d.ts.map +1 -0
  322. package/common/OverviewDoc.js.map +1 -1
  323. package/common/SplunkVisualization.d.ts.map +1 -0
  324. package/common/SplunkVisualizationApi.d.ts.map +1 -0
  325. package/common/ThemedDefaults.d.ts.map +1 -0
  326. package/common/ThemesDoc.js +0 -1
  327. package/common/ThemesDoc.js.map +2 -2
  328. package/common/TimeSeriesChartWrapper.d.ts +31 -0
  329. package/common/TimeSeriesChartWrapper.d.ts.map +1 -0
  330. package/common/TimeSeriesChartWrapper.js +693 -74
  331. package/common/TimeSeriesChartWrapper.js.map +4 -4
  332. package/{dist/types/common → common}/chartingUtils.d.ts +55 -5
  333. package/common/chartingUtils.d.ts.map +1 -0
  334. package/common/chartingUtils.js +120 -9
  335. package/common/chartingUtils.js.map +3 -3
  336. package/common/components/IconPlaceholder.d.ts.map +1 -0
  337. package/common/components/MissingPropsMessage.d.ts.map +1 -0
  338. package/common/components/TrellisTitle.d.ts.map +1 -0
  339. package/common/configContext/singleValueContext.d.ts.map +1 -0
  340. package/common/docUtils.d.ts.map +1 -0
  341. package/common/docUtils.js +1 -1
  342. package/common/docUtils.js.map +2 -2
  343. package/common/editorConfig/AxesChartColorAndStyle.d.ts.map +1 -0
  344. package/common/editorConfig/AxesChartDataConfig.d.ts.map +1 -0
  345. package/common/editorConfig/AxesChartDataDisplay.d.ts.map +1 -0
  346. package/common/editorConfig/AxesChartLegend.d.ts.map +1 -0
  347. package/common/editorConfig/AxesChartXGridAndLabels.d.ts.map +1 -0
  348. package/common/editorConfig/AxesChartY2GridAndLabels.d.ts.map +1 -0
  349. package/common/editorConfig/AxesChartYGridAndLabels.d.ts.map +1 -0
  350. package/common/editorConfig/BackgroundColor.d.ts.map +1 -0
  351. package/common/editorConfig/DynamicFillColorEditor.d.ts.map +1 -0
  352. package/common/editorConfig/DynamicGaugeColorEditor.d.ts.map +1 -0
  353. package/common/editorConfig/DynamicStrokeColorEditor.d.ts.map +1 -0
  354. package/common/editorConfig/Gauge.d.ts.map +1 -0
  355. package/common/editorConfig/Legend.d.ts.map +1 -0
  356. package/common/editorConfig/RadialBackgroundColor.d.ts.map +1 -0
  357. package/common/editorConfig/StaticFillColorEditor.d.ts.map +1 -0
  358. package/common/editorConfig/StaticGaugeColorEditor.d.ts.map +1 -0
  359. package/common/editorConfig/StaticStrokeColorEditor.d.ts.map +1 -0
  360. package/common/editorConfig/TrellisEditors.d.ts.map +1 -0
  361. package/common/gaugeUtils.d.ts.map +1 -0
  362. package/common/hocs/FixedSizeContainer.d.ts.map +1 -0
  363. package/common/hocs/mockdata/trellisData.d.ts.map +1 -0
  364. package/common/hocs/withEditModeCover.d.ts.map +1 -0
  365. package/common/hocs/withPlaceholder.d.ts.map +1 -0
  366. package/common/hocs/withTrellis.d.ts.map +1 -0
  367. package/common/hooks/useDeepMemo.d.ts.map +1 -0
  368. package/common/hooks/useDownsampleDataSources.d.ts.map +1 -0
  369. package/common/hooks/useEventCallback.d.ts.map +1 -0
  370. package/common/hooks/useGetXAndYFields.d.ts.map +1 -0
  371. package/common/hooks/usePagination.d.ts.map +1 -0
  372. package/common/hooks/usePrevious.d.ts.map +1 -0
  373. package/common/hooks/useSorting.d.ts.map +1 -0
  374. package/common/hooks/useTrellisEnabled.d.ts.map +1 -0
  375. package/common/interfaces/ChartEvent.d.ts.map +1 -0
  376. package/{dist/types/common → common}/interfaces/DashboardVizProps.d.ts +0 -3
  377. package/common/interfaces/DashboardVizProps.d.ts.map +1 -0
  378. package/common/interfaces/DataContract.d.ts.map +1 -0
  379. package/{dist/types/common → common}/interfaces/DataSource.d.ts +1 -1
  380. package/common/interfaces/DataSource.d.ts.map +1 -0
  381. package/common/interfaces/DefaultContext.d.ts.map +1 -0
  382. package/common/interfaces/Editor.d.ts.map +1 -0
  383. package/common/interfaces/ExtendedDashViz.d.ts.map +1 -0
  384. package/common/interfaces/Object.d.ts.map +1 -0
  385. package/common/interfaces/Overview.d.ts.map +1 -0
  386. package/common/interfaces/ThemedDefaults.d.ts.map +1 -0
  387. package/common/interfaces/VizActionHandler.d.ts.map +1 -0
  388. package/common/interfaces/VizBehavior.d.ts.map +1 -0
  389. package/common/interfaces/VizCategory.d.ts.map +1 -0
  390. package/common/interfaces/VizConfig.d.ts.map +1 -0
  391. package/common/interfaces/VizEvent.d.ts.map +1 -0
  392. package/common/interfaces/VizProps.d.ts.map +1 -0
  393. package/common/interfaces/VizRegistry.d.ts.map +1 -0
  394. package/common/interfaces/VizSize.d.ts.map +1 -0
  395. package/common/interfaces/VizStatus.d.ts.map +1 -0
  396. package/common/interfaces/index.d.ts.map +1 -0
  397. package/common/shapeUtils.d.ts.map +1 -0
  398. package/common/shapeUtils.js +5 -20
  399. package/common/shapeUtils.js.map +2 -2
  400. package/common/utils/configUtils.d.ts.map +1 -0
  401. package/common/utils/dataUtils.d.ts.map +1 -0
  402. package/common/utils/dataUtils.js +5 -4
  403. package/common/utils/dataUtils.js.map +2 -2
  404. package/common/utils/featureFlagUtils.d.ts +4 -0
  405. package/common/utils/featureFlagUtils.d.ts.map +1 -0
  406. package/common/utils/featureFlagUtils.js.map +2 -2
  407. package/common/utils/hocUtils.d.ts.map +1 -0
  408. package/common/utils/mapUtils.d.ts.map +1 -0
  409. package/common/utils/mapUtils.js +16 -9
  410. package/common/utils/mapUtils.js.map +2 -2
  411. package/common/utils/singleValueUtils.js +17 -18
  412. package/common/utils/singleValueUtils.js.map +2 -2
  413. package/common/utils/tableUtils.d.ts +10 -0
  414. package/common/utils/tableUtils.d.ts.map +1 -0
  415. package/common/utils/tableUtils.js +20 -8
  416. package/common/utils/tableUtils.js.map +2 -2
  417. package/common/utils/textUtils.d.ts +20 -0
  418. package/common/utils/textUtils.d.ts.map +1 -0
  419. package/common/utils/textUtils.js +76 -0
  420. package/common/utils/textUtils.js.map +7 -0
  421. package/common/utils/trellisUtils.d.ts.map +1 -0
  422. package/common/utils/trellisUtils.js +12 -14
  423. package/common/utils/trellisUtils.js.map +2 -2
  424. package/common/utils/urlUtils.d.ts.map +1 -0
  425. package/{dist/types/common → common}/withDashboardViz.d.ts +7 -0
  426. package/common/withDashboardViz.d.ts.map +1 -0
  427. package/common/withDashboardViz.js +665 -87
  428. package/common/withDashboardViz.js.map +4 -4
  429. package/package.json +35 -29
  430. package/common/utils/styleUtils.js +0 -30
  431. package/common/utils/styleUtils.js.map +0 -7
  432. package/dist/types/Area/Area.d.ts.map +0 -1
  433. package/dist/types/Area/areaUtils.d.ts.map +0 -1
  434. package/dist/types/Area/config.d.ts.map +0 -1
  435. package/dist/types/Area/index.d.ts.map +0 -1
  436. package/dist/types/Bar/Bar.d.ts.map +0 -1
  437. package/dist/types/Bar/barUtils.d.ts.map +0 -1
  438. package/dist/types/Bar/config.d.ts.map +0 -1
  439. package/dist/types/Bar/index.d.ts.map +0 -1
  440. package/dist/types/Bubble/Bubble.d.ts.map +0 -1
  441. package/dist/types/Bubble/bubbleUtils.d.ts.map +0 -1
  442. package/dist/types/Bubble/config.d.ts.map +0 -1
  443. package/dist/types/Bubble/index.d.ts.map +0 -1
  444. package/dist/types/ChoroplethSvg/ChoroplethSvg.d.ts.map +0 -1
  445. package/dist/types/ChoroplethSvg/ErrorMessage/ErrorMessage.d.ts.map +0 -1
  446. package/dist/types/ChoroplethSvg/PureChoroplethSvg/PureChoroplethSvg.d.ts.map +0 -1
  447. package/dist/types/ChoroplethSvg/PureChoroplethSvg/SvgChoroplethDynamic.d.ts.map +0 -1
  448. package/dist/types/ChoroplethSvg/PureChoroplethSvg/SvgMutator.d.ts.map +0 -1
  449. package/dist/types/ChoroplethSvg/config.d.ts.map +0 -1
  450. package/dist/types/ChoroplethSvg/index.d.ts.map +0 -1
  451. package/dist/types/Column/Column.d.ts.map +0 -1
  452. package/dist/types/Column/columnUtils.d.ts.map +0 -1
  453. package/dist/types/Column/config.d.ts.map +0 -1
  454. package/dist/types/Column/index.d.ts.map +0 -1
  455. package/dist/types/Ellipse/Ellipse.d.ts.map +0 -1
  456. package/dist/types/Ellipse/config.d.ts.map +0 -1
  457. package/dist/types/Ellipse/index.d.ts.map +0 -1
  458. package/dist/types/Events/EventUtils.d.ts.map +0 -1
  459. package/dist/types/Events/Events.d.ts.map +0 -1
  460. package/dist/types/Events/PureEvents/FieldSummaryTooltip.d.ts.map +0 -1
  461. package/dist/types/Events/PureEvents/PureEvents.d.ts.map +0 -1
  462. package/dist/types/Events/PureEvents/TimeControlsPopover.d.ts.map +0 -1
  463. package/dist/types/Events/config.d.ts.map +0 -1
  464. package/dist/types/Events/index.d.ts.map +0 -1
  465. package/dist/types/FillerGauge/FillerGauge.d.ts.map +0 -1
  466. package/dist/types/FillerGauge/PureFillerGauge/FillerGauge.d.ts.map +0 -1
  467. package/dist/types/FillerGauge/config.d.ts.map +0 -1
  468. package/dist/types/FillerGauge/index.d.ts.map +0 -1
  469. package/dist/types/Image/Image.d.ts.map +0 -1
  470. package/dist/types/Image/ImageApi.d.ts.map +0 -1
  471. package/dist/types/Image/config.d.ts.map +0 -1
  472. package/dist/types/Image/index.d.ts.map +0 -1
  473. package/dist/types/Line/Line.d.ts.map +0 -1
  474. package/dist/types/Line/config.d.ts.map +0 -1
  475. package/dist/types/Line/index.d.ts.map +0 -1
  476. package/dist/types/Line/lineUtils.d.ts.map +0 -1
  477. package/dist/types/Line/mockdata/LineData.d.ts.map +0 -1
  478. package/dist/types/LinkGraph/ESTestDataSources.d.ts.map +0 -1
  479. package/dist/types/LinkGraph/ESTestTemplate.d.ts.map +0 -1
  480. package/dist/types/LinkGraph/LinkGraph.d.ts.map +0 -1
  481. package/dist/types/LinkGraph/PureLinkGraph/PureLinkGraph.d.ts.map +0 -1
  482. package/dist/types/LinkGraph/PureLinkGraph/PureLinkGraphUtils.d.ts.map +0 -1
  483. package/dist/types/LinkGraph/PureLinkGraph/components/Edges.d.ts.map +0 -1
  484. package/dist/types/LinkGraph/PureLinkGraph/components/Field.d.ts.map +0 -1
  485. package/dist/types/LinkGraph/PureLinkGraph/components/FieldStyles.d.ts.map +0 -1
  486. package/dist/types/LinkGraph/PureLinkGraph/components/Graph.d.ts.map +0 -1
  487. package/dist/types/LinkGraph/PureLinkGraph/components/GraphStyles.d.ts.map +0 -1
  488. package/dist/types/LinkGraph/PureLinkGraph/components/Node.d.ts.map +0 -1
  489. package/dist/types/LinkGraph/PureLinkGraph/components/Nodes.d.ts.map +0 -1
  490. package/dist/types/LinkGraph/config.d.ts.map +0 -1
  491. package/dist/types/LinkGraph/index.d.ts.map +0 -1
  492. package/dist/types/Map/Map.d.ts.map +0 -1
  493. package/dist/types/Map/MapContextDefault.d.ts +0 -39
  494. package/dist/types/Map/MapContextDefault.d.ts.map +0 -1
  495. package/dist/types/Map/PureMap/BubbleLayer.d.ts.map +0 -1
  496. package/dist/types/Map/PureMap/ChoroplethLayer.d.ts.map +0 -1
  497. package/dist/types/Map/PureMap/ClusterLayer.d.ts.map +0 -1
  498. package/dist/types/Map/PureMap/LocalChoroplethLayer.d.ts.map +0 -1
  499. package/dist/types/Map/PureMap/MapUtils.d.ts.map +0 -1
  500. package/dist/types/Map/PureMap/MarkerLayer.d.ts.map +0 -1
  501. package/dist/types/Map/PureMap/MarkerWrapper.d.ts.map +0 -1
  502. package/dist/types/Map/PureMap/PureMap.d.ts.map +0 -1
  503. package/dist/types/Map/PureMap/PureMapContainer.d.ts.map +0 -1
  504. package/dist/types/Map/PureMap/Tooltip.d.ts.map +0 -1
  505. package/dist/types/Map/PureMap/mockdata/data.d.ts.map +0 -1
  506. package/dist/types/Map/config.d.ts.map +0 -1
  507. package/dist/types/Map/index.d.ts.map +0 -1
  508. package/dist/types/Markdown/Markdown.d.ts.map +0 -1
  509. package/dist/types/Markdown/config.d.ts.map +0 -1
  510. package/dist/types/Markdown/index.d.ts.map +0 -1
  511. package/dist/types/MarkerGauge/MarkerGauge.d.ts.map +0 -1
  512. package/dist/types/MarkerGauge/PureMarkerGauge/MarkerGauge.d.ts.map +0 -1
  513. package/dist/types/MarkerGauge/config.d.ts.map +0 -1
  514. package/dist/types/MarkerGauge/index.d.ts.map +0 -1
  515. package/dist/types/ParallelCoordinates/ParallelCoordinates.d.ts.map +0 -1
  516. package/dist/types/ParallelCoordinates/PureParallelCoordinates/PureParallelCoordinates.d.ts.map +0 -1
  517. package/dist/types/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesCanvas.d.ts.map +0 -1
  518. package/dist/types/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesChart.d.ts.map +0 -1
  519. package/dist/types/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesPrompt.d.ts.map +0 -1
  520. package/dist/types/ParallelCoordinates/config.d.ts.map +0 -1
  521. package/dist/types/ParallelCoordinates/index.d.ts.map +0 -1
  522. package/dist/types/ParallelCoordinates/mockdata/arrayValueData.d.ts.map +0 -1
  523. package/dist/types/ParallelCoordinates/mockdata/sampleCarData.d.ts.map +0 -1
  524. package/dist/types/ParallelCoordinates/mockdata/sampleCarNumericalData.d.ts.map +0 -1
  525. package/dist/types/ParallelCoordinates/mockdata/sampleFoodData.d.ts.map +0 -1
  526. package/dist/types/ParallelCoordinates/mockdata/sampleStringNumericalData.d.ts.map +0 -1
  527. package/dist/types/Pie/Pie.d.ts.map +0 -1
  528. package/dist/types/Pie/config.d.ts.map +0 -1
  529. package/dist/types/Pie/index.d.ts.map +0 -1
  530. package/dist/types/Pie/pieUtils.d.ts.map +0 -1
  531. package/dist/types/Punchcard/Punchcard.d.ts.map +0 -1
  532. package/dist/types/Punchcard/PurePunchcard/Punchcard.d.ts.map +0 -1
  533. package/dist/types/Punchcard/PurePunchcard/src/PunchcardAxis.d.ts.map +0 -1
  534. package/dist/types/Punchcard/PurePunchcard/src/PunchcardBubble.d.ts.map +0 -1
  535. package/dist/types/Punchcard/PurePunchcard/src/PunchcardChartArea.d.ts.map +0 -1
  536. package/dist/types/Punchcard/PurePunchcard/src/PunchcardGridLines.d.ts.map +0 -1
  537. package/dist/types/Punchcard/PurePunchcard/src/PunchcardLegend.d.ts.map +0 -1
  538. package/dist/types/Punchcard/PurePunchcard/src/PunchcardRow.d.ts.map +0 -1
  539. package/dist/types/Punchcard/PurePunchcard/src/utils/punchcardUtils.d.ts.map +0 -1
  540. package/dist/types/Punchcard/config.d.ts.map +0 -1
  541. package/dist/types/Punchcard/index.d.ts.map +0 -1
  542. package/dist/types/Punchcard/punchcardUtils.d.ts.map +0 -1
  543. package/dist/types/Rectangle/Rectangle.d.ts.map +0 -1
  544. package/dist/types/Rectangle/config.d.ts.map +0 -1
  545. package/dist/types/Rectangle/index.d.ts.map +0 -1
  546. package/dist/types/Sankey/PureSankey/PureSankey.d.ts.map +0 -1
  547. package/dist/types/Sankey/PureSankey/SankeyLink.d.ts.map +0 -1
  548. package/dist/types/Sankey/PureSankey/SankeyModels.d.ts.map +0 -1
  549. package/dist/types/Sankey/PureSankey/SankeyNode.d.ts.map +0 -1
  550. package/dist/types/Sankey/PureSankey/SankeyTooltip.d.ts.map +0 -1
  551. package/dist/types/Sankey/PureSankey/SankeyUtils.d.ts.map +0 -1
  552. package/dist/types/Sankey/PureSankey/mockdata/data.d.ts.map +0 -1
  553. package/dist/types/Sankey/Sankey.d.ts.map +0 -1
  554. package/dist/types/Sankey/config.d.ts.map +0 -1
  555. package/dist/types/Sankey/index.d.ts.map +0 -1
  556. package/dist/types/Scatter/Scatter.d.ts.map +0 -1
  557. package/dist/types/Scatter/config.d.ts.map +0 -1
  558. package/dist/types/Scatter/index.d.ts.map +0 -1
  559. package/dist/types/Scatter/mockdata/data.d.ts.map +0 -1
  560. package/dist/types/Scatter/scatterUtils.d.ts.map +0 -1
  561. package/dist/types/SingleValue/SingleValue.d.ts.map +0 -1
  562. package/dist/types/SingleValue/config.d.ts.map +0 -1
  563. package/dist/types/SingleValue/index.d.ts.map +0 -1
  564. package/dist/types/SingleValueBasic/index.d.ts.map +0 -1
  565. package/dist/types/SingleValueIcon/SingleValueIcon.d.ts.map +0 -1
  566. package/dist/types/SingleValueIcon/config.d.ts.map +0 -1
  567. package/dist/types/SingleValueIcon/index.d.ts.map +0 -1
  568. package/dist/types/SingleValueRadial/PureSingleValueRadial/GaugeGraph.d.ts.map +0 -1
  569. package/dist/types/SingleValueRadial/PureSingleValueRadial/utils/gaugeUtils.d.ts.map +0 -1
  570. package/dist/types/SingleValueRadial/SingleValueRadial.d.ts.map +0 -1
  571. package/dist/types/SingleValueRadial/config.d.ts.map +0 -1
  572. package/dist/types/SingleValueRadial/index.d.ts.map +0 -1
  573. package/dist/types/SparkLine/index.d.ts.map +0 -1
  574. package/dist/types/Table/PureTable.d.ts.map +0 -1
  575. package/dist/types/Table/Table.d.ts +0 -10
  576. package/dist/types/Table/Table.d.ts.map +0 -1
  577. package/dist/types/Table/cells/ArrayCell.d.ts.map +0 -1
  578. package/dist/types/Table/cells/SparklineCell.d.ts.map +0 -1
  579. package/dist/types/Table/cells/SwitchTableCell.d.ts.map +0 -1
  580. package/dist/types/Table/cells/TextCell.d.ts.map +0 -1
  581. package/dist/types/Table/cells/index.d.ts.map +0 -1
  582. package/dist/types/Table/config.d.ts.map +0 -1
  583. package/dist/types/Table/hooks.d.ts.map +0 -1
  584. package/dist/types/Table/index.d.ts.map +0 -1
  585. package/dist/types/Timeline/PureTimeline/PureTimeline.d.ts.map +0 -1
  586. package/dist/types/Timeline/PureTimeline/src/CursorPlugin.d.ts.map +0 -1
  587. package/dist/types/Timeline/PureTimeline/src/TimelineLegend.d.ts.map +0 -1
  588. package/dist/types/Timeline/PureTimeline/src/TimelinePlugin.d.ts.map +0 -1
  589. package/dist/types/Timeline/PureTimeline/src/TimelineTooltip.d.ts.map +0 -1
  590. package/dist/types/Timeline/PureTimeline/src/TimelineUplot.d.ts.map +0 -1
  591. package/dist/types/Timeline/PureTimeline/src/TimelineYAxis.d.ts.map +0 -1
  592. package/dist/types/Timeline/PureTimeline/src/XAxisPlugin.d.ts.map +0 -1
  593. package/dist/types/Timeline/PureTimeline/src/utils/timelineUtils.d.ts.map +0 -1
  594. package/dist/types/Timeline/Timeline.d.ts.map +0 -1
  595. package/dist/types/Timeline/config.d.ts.map +0 -1
  596. package/dist/types/Timeline/index.d.ts.map +0 -1
  597. package/dist/types/Timeline/mockdata/basicTimelineData.d.ts.map +0 -1
  598. package/dist/types/Timeline/mockdata/categoricalTimelineData.d.ts.map +0 -1
  599. package/dist/types/Timeline/mockdata/timelineDataSource.d.ts.map +0 -1
  600. package/dist/types/common/Charting.d.ts.map +0 -1
  601. package/dist/types/common/ChartingApi.d.ts.map +0 -1
  602. package/dist/types/common/DocExampleWithVizSandbox.d.ts.map +0 -1
  603. package/dist/types/common/OverviewDoc.d.ts.map +0 -1
  604. package/dist/types/common/SplunkVisualization.d.ts.map +0 -1
  605. package/dist/types/common/SplunkVisualizationApi.d.ts.map +0 -1
  606. package/dist/types/common/ThemedDefaults.d.ts.map +0 -1
  607. package/dist/types/common/TimeSeriesChartWrapper.d.ts +0 -7
  608. package/dist/types/common/TimeSeriesChartWrapper.d.ts.map +0 -1
  609. package/dist/types/common/chartingUtils.d.ts.map +0 -1
  610. package/dist/types/common/components/IconPlaceholder.d.ts.map +0 -1
  611. package/dist/types/common/components/MissingPropsMessage.d.ts.map +0 -1
  612. package/dist/types/common/components/TrellisTitle.d.ts.map +0 -1
  613. package/dist/types/common/configContext/singleValueContext.d.ts.map +0 -1
  614. package/dist/types/common/docUtils.d.ts.map +0 -1
  615. package/dist/types/common/editorConfig/AxesChartColorAndStyle.d.ts.map +0 -1
  616. package/dist/types/common/editorConfig/AxesChartDataConfig.d.ts.map +0 -1
  617. package/dist/types/common/editorConfig/AxesChartDataDisplay.d.ts.map +0 -1
  618. package/dist/types/common/editorConfig/AxesChartLegend.d.ts.map +0 -1
  619. package/dist/types/common/editorConfig/AxesChartXGridAndLabels.d.ts.map +0 -1
  620. package/dist/types/common/editorConfig/AxesChartY2GridAndLabels.d.ts.map +0 -1
  621. package/dist/types/common/editorConfig/AxesChartYGridAndLabels.d.ts.map +0 -1
  622. package/dist/types/common/editorConfig/BackgroundColor.d.ts.map +0 -1
  623. package/dist/types/common/editorConfig/DynamicFillColorEditor.d.ts.map +0 -1
  624. package/dist/types/common/editorConfig/DynamicGaugeColorEditor.d.ts.map +0 -1
  625. package/dist/types/common/editorConfig/DynamicStrokeColorEditor.d.ts.map +0 -1
  626. package/dist/types/common/editorConfig/Gauge.d.ts.map +0 -1
  627. package/dist/types/common/editorConfig/Legend.d.ts.map +0 -1
  628. package/dist/types/common/editorConfig/RadialBackgroundColor.d.ts.map +0 -1
  629. package/dist/types/common/editorConfig/StaticFillColorEditor.d.ts.map +0 -1
  630. package/dist/types/common/editorConfig/StaticGaugeColorEditor.d.ts.map +0 -1
  631. package/dist/types/common/editorConfig/StaticStrokeColorEditor.d.ts.map +0 -1
  632. package/dist/types/common/editorConfig/TrellisEditors.d.ts.map +0 -1
  633. package/dist/types/common/gaugeUtils.d.ts.map +0 -1
  634. package/dist/types/common/hocs/FixedSizeContainer.d.ts.map +0 -1
  635. package/dist/types/common/hocs/mockdata/trellisData.d.ts.map +0 -1
  636. package/dist/types/common/hocs/withEditModeCover.d.ts.map +0 -1
  637. package/dist/types/common/hocs/withPlaceholder.d.ts.map +0 -1
  638. package/dist/types/common/hocs/withTrellis.d.ts.map +0 -1
  639. package/dist/types/common/hooks/useDeepMemo.d.ts.map +0 -1
  640. package/dist/types/common/hooks/useDownsampleDataSources.d.ts.map +0 -1
  641. package/dist/types/common/hooks/useEventCallback.d.ts.map +0 -1
  642. package/dist/types/common/hooks/useGetXAndYFields.d.ts.map +0 -1
  643. package/dist/types/common/hooks/usePagination.d.ts.map +0 -1
  644. package/dist/types/common/hooks/usePrevious.d.ts.map +0 -1
  645. package/dist/types/common/hooks/useSorting.d.ts.map +0 -1
  646. package/dist/types/common/hooks/useTrellisEnabled.d.ts.map +0 -1
  647. package/dist/types/common/interfaces/ChartEvent.d.ts.map +0 -1
  648. package/dist/types/common/interfaces/DashboardVizProps.d.ts.map +0 -1
  649. package/dist/types/common/interfaces/DataContract.d.ts.map +0 -1
  650. package/dist/types/common/interfaces/DataSource.d.ts.map +0 -1
  651. package/dist/types/common/interfaces/DefaultContext.d.ts.map +0 -1
  652. package/dist/types/common/interfaces/Editor.d.ts.map +0 -1
  653. package/dist/types/common/interfaces/ExtendedDashViz.d.ts.map +0 -1
  654. package/dist/types/common/interfaces/Object.d.ts.map +0 -1
  655. package/dist/types/common/interfaces/Overview.d.ts.map +0 -1
  656. package/dist/types/common/interfaces/ThemedDefaults.d.ts.map +0 -1
  657. package/dist/types/common/interfaces/VizActionHandler.d.ts.map +0 -1
  658. package/dist/types/common/interfaces/VizBehavior.d.ts.map +0 -1
  659. package/dist/types/common/interfaces/VizCategory.d.ts.map +0 -1
  660. package/dist/types/common/interfaces/VizConfig.d.ts.map +0 -1
  661. package/dist/types/common/interfaces/VizEvent.d.ts.map +0 -1
  662. package/dist/types/common/interfaces/VizProps.d.ts.map +0 -1
  663. package/dist/types/common/interfaces/VizRegistry.d.ts.map +0 -1
  664. package/dist/types/common/interfaces/VizSize.d.ts.map +0 -1
  665. package/dist/types/common/interfaces/VizStatus.d.ts.map +0 -1
  666. package/dist/types/common/interfaces/index.d.ts.map +0 -1
  667. package/dist/types/common/shapeUtils.d.ts.map +0 -1
  668. package/dist/types/common/utils/configUtils.d.ts.map +0 -1
  669. package/dist/types/common/utils/dataUtils.d.ts.map +0 -1
  670. package/dist/types/common/utils/featureFlagUtils.d.ts +0 -3
  671. package/dist/types/common/utils/featureFlagUtils.d.ts.map +0 -1
  672. package/dist/types/common/utils/hocUtils.d.ts.map +0 -1
  673. package/dist/types/common/utils/mapUtils.d.ts.map +0 -1
  674. package/dist/types/common/utils/styleUtils.d.ts +0 -2
  675. package/dist/types/common/utils/styleUtils.d.ts.map +0 -1
  676. package/dist/types/common/utils/tableUtils.d.ts +0 -3
  677. package/dist/types/common/utils/tableUtils.d.ts.map +0 -1
  678. package/dist/types/common/utils/trellisUtils.d.ts.map +0 -1
  679. package/dist/types/common/utils/urlUtils.d.ts.map +0 -1
  680. package/dist/types/common/withDashboardViz.d.ts.map +0 -1
  681. /package/{dist/types/Area → Area}/Area.d.ts +0 -0
  682. /package/{dist/types/Area → Area}/areaUtils.d.ts +0 -0
  683. /package/{dist/types/Area → Area}/config.d.ts +0 -0
  684. /package/{dist/types/Area → Area}/index.d.ts +0 -0
  685. /package/{dist/types/Bar → Bar}/Bar.d.ts +0 -0
  686. /package/{dist/types/Bar → Bar}/barUtils.d.ts +0 -0
  687. /package/{dist/types/Bar → Bar}/config.d.ts +0 -0
  688. /package/{dist/types/Bar → Bar}/index.d.ts +0 -0
  689. /package/{dist/types/Bubble → Bubble}/Bubble.d.ts +0 -0
  690. /package/{dist/types/Bubble → Bubble}/bubbleUtils.d.ts +0 -0
  691. /package/{dist/types/Bubble → Bubble}/config.d.ts +0 -0
  692. /package/{dist/types/Bubble → Bubble}/index.d.ts +0 -0
  693. /package/{dist/types/ChoroplethSvg → ChoroplethSvg}/ErrorMessage/ErrorMessage.d.ts +0 -0
  694. /package/{dist/types/ChoroplethSvg → ChoroplethSvg}/PureChoroplethSvg/PureChoroplethSvg.d.ts +0 -0
  695. /package/{dist/types/ChoroplethSvg → ChoroplethSvg}/PureChoroplethSvg/SvgChoroplethDynamic.d.ts +0 -0
  696. /package/{dist/types/ChoroplethSvg → ChoroplethSvg}/PureChoroplethSvg/SvgMutator.d.ts +0 -0
  697. /package/{dist/types/ChoroplethSvg → ChoroplethSvg}/config.d.ts +0 -0
  698. /package/{dist/types/ChoroplethSvg → ChoroplethSvg}/index.d.ts +0 -0
  699. /package/{dist/types/Column → Column}/Column.d.ts +0 -0
  700. /package/{dist/types/Column → Column}/columnUtils.d.ts +0 -0
  701. /package/{dist/types/Column → Column}/config.d.ts +0 -0
  702. /package/{dist/types/Column → Column}/index.d.ts +0 -0
  703. /package/{dist/types/Ellipse → Ellipse}/Ellipse.d.ts +0 -0
  704. /package/{dist/types/Ellipse → Ellipse}/config.d.ts +0 -0
  705. /package/{dist/types/Ellipse → Ellipse}/index.d.ts +0 -0
  706. /package/{dist/types/Events → Events}/EventUtils.d.ts +0 -0
  707. /package/{dist/types/Events → Events}/Events.d.ts +0 -0
  708. /package/{dist/types/Events → Events}/PureEvents/FieldSummaryTooltip.d.ts +0 -0
  709. /package/{dist/types/Events → Events}/PureEvents/PureEvents.d.ts +0 -0
  710. /package/{dist/types/Events → Events}/PureEvents/TimeControlsPopover.d.ts +0 -0
  711. /package/{dist/types/Events → Events}/config.d.ts +0 -0
  712. /package/{dist/types/Events → Events}/index.d.ts +0 -0
  713. /package/{dist/types/FillerGauge → FillerGauge}/FillerGauge.d.ts +0 -0
  714. /package/{dist/types/FillerGauge → FillerGauge}/PureFillerGauge/FillerGauge.d.ts +0 -0
  715. /package/{dist/types/FillerGauge → FillerGauge}/config.d.ts +0 -0
  716. /package/{dist/types/FillerGauge → FillerGauge}/index.d.ts +0 -0
  717. /package/{dist/types/Image → Image}/Image.d.ts +0 -0
  718. /package/{dist/types/Image → Image}/ImageApi.d.ts +0 -0
  719. /package/{dist/types/Image → Image}/config.d.ts +0 -0
  720. /package/{dist/types/Image → Image}/index.d.ts +0 -0
  721. /package/{dist/types/Line → Line}/Line.d.ts +0 -0
  722. /package/{dist/types/Line → Line}/config.d.ts +0 -0
  723. /package/{dist/types/Line → Line}/index.d.ts +0 -0
  724. /package/{dist/types/Line → Line}/lineUtils.d.ts +0 -0
  725. /package/{dist/types/LinkGraph → LinkGraph}/ESTestDataSources.d.ts +0 -0
  726. /package/{dist/types/LinkGraph → LinkGraph}/ESTestTemplate.d.ts +0 -0
  727. /package/{dist/types/LinkGraph → LinkGraph}/LinkGraph.d.ts +0 -0
  728. /package/{dist/types/LinkGraph → LinkGraph}/PureLinkGraph/PureLinkGraphUtils.d.ts +0 -0
  729. /package/{dist/types/LinkGraph → LinkGraph}/PureLinkGraph/components/Edges.d.ts +0 -0
  730. /package/{dist/types/LinkGraph → LinkGraph}/PureLinkGraph/components/Field.d.ts +0 -0
  731. /package/{dist/types/LinkGraph → LinkGraph}/PureLinkGraph/components/FieldStyles.d.ts +0 -0
  732. /package/{dist/types/LinkGraph → LinkGraph}/PureLinkGraph/components/GraphStyles.d.ts +0 -0
  733. /package/{dist/types/LinkGraph → LinkGraph}/PureLinkGraph/utils/iconLoader.d.ts +0 -0
  734. /package/{dist/types/LinkGraph → LinkGraph}/config.d.ts +0 -0
  735. /package/{dist/types/LinkGraph → LinkGraph}/index.d.ts +0 -0
  736. /package/{dist/types/Map → Map}/PureMap/ChoroplethLayer.d.ts +0 -0
  737. /package/{dist/types/Map → Map}/PureMap/ClusterLayer.d.ts +0 -0
  738. /package/{dist/types/Map → Map}/PureMap/LocalChoroplethLayer.d.ts +0 -0
  739. /package/{dist/types/Map → Map}/PureMap/MarkerLayer.d.ts +0 -0
  740. /package/{dist/types/Map → Map}/PureMap/MarkerWrapper.d.ts +0 -0
  741. /package/{dist/types/Map → Map}/PureMap/PureMap.d.ts +0 -0
  742. /package/{dist/types/Map → Map}/PureMap/PureMapContainer.d.ts +0 -0
  743. /package/{dist/types/Map → Map}/PureMap/Tooltip.d.ts +0 -0
  744. /package/{dist/types/Map → Map}/config.d.ts +0 -0
  745. /package/{dist/types/Map → Map}/index.d.ts +0 -0
  746. /package/{dist/types/Markdown → Markdown}/Markdown.d.ts +0 -0
  747. /package/{dist/types/Markdown → Markdown}/config.d.ts +0 -0
  748. /package/{dist/types/Markdown → Markdown}/index.d.ts +0 -0
  749. /package/{dist/types/MarkerGauge → MarkerGauge}/config.d.ts +0 -0
  750. /package/{dist/types/MarkerGauge → MarkerGauge}/index.d.ts +0 -0
  751. /package/{dist/types/ParallelCoordinates → NetworkGraph}/config.d.ts +0 -0
  752. /package/{dist/types/ParallelCoordinates → ParallelCoordinates}/ParallelCoordinates.d.ts +0 -0
  753. /package/{dist/types/ParallelCoordinates → ParallelCoordinates}/PureParallelCoordinates/PureParallelCoordinates.d.ts +0 -0
  754. /package/{dist/types/ParallelCoordinates → ParallelCoordinates}/PureParallelCoordinates/src/ParallelCoordinatesCanvas.d.ts +0 -0
  755. /package/{dist/types/ParallelCoordinates → ParallelCoordinates}/PureParallelCoordinates/src/ParallelCoordinatesChart.d.ts +0 -0
  756. /package/{dist/types/ParallelCoordinates → ParallelCoordinates}/PureParallelCoordinates/src/ParallelCoordinatesPrompt.d.ts +0 -0
  757. /package/{dist/types/Pie → ParallelCoordinates}/config.d.ts +0 -0
  758. /package/{dist/types/ParallelCoordinates → ParallelCoordinates}/index.d.ts +0 -0
  759. /package/{dist/types/ParallelCoordinates → ParallelCoordinates}/mockdata/arrayValueData.d.ts +0 -0
  760. /package/{dist/types/ParallelCoordinates → ParallelCoordinates}/mockdata/sampleCarData.d.ts +0 -0
  761. /package/{dist/types/ParallelCoordinates → ParallelCoordinates}/mockdata/sampleCarNumericalData.d.ts +0 -0
  762. /package/{dist/types/ParallelCoordinates → ParallelCoordinates}/mockdata/sampleFoodData.d.ts +0 -0
  763. /package/{dist/types/ParallelCoordinates → ParallelCoordinates}/mockdata/sampleStringNumericalData.d.ts +0 -0
  764. /package/{dist/types/Pie → Pie}/Pie.d.ts +0 -0
  765. /package/{dist/types/Punchcard → Pie}/config.d.ts +0 -0
  766. /package/{dist/types/Pie → Pie}/index.d.ts +0 -0
  767. /package/{dist/types/Pie → Pie}/pieUtils.d.ts +0 -0
  768. /package/{dist/types/Punchcard → Punchcard}/Punchcard.d.ts +0 -0
  769. /package/{dist/types/Punchcard → Punchcard}/PurePunchcard/Punchcard.d.ts +0 -0
  770. /package/{dist/types/Punchcard → Punchcard}/PurePunchcard/src/PunchcardAxis.d.ts +0 -0
  771. /package/{dist/types/Punchcard → Punchcard}/PurePunchcard/src/PunchcardBubble.d.ts +0 -0
  772. /package/{dist/types/Punchcard → Punchcard}/PurePunchcard/src/PunchcardChartArea.d.ts +0 -0
  773. /package/{dist/types/Punchcard → Punchcard}/PurePunchcard/src/PunchcardGridLines.d.ts +0 -0
  774. /package/{dist/types/Punchcard → Punchcard}/PurePunchcard/src/PunchcardLegend.d.ts +0 -0
  775. /package/{dist/types/Punchcard → Punchcard}/PurePunchcard/src/PunchcardRow.d.ts +0 -0
  776. /package/{dist/types/Punchcard → Punchcard}/PurePunchcard/src/utils/punchcardUtils.d.ts +0 -0
  777. /package/{dist/types/Rectangle → Punchcard}/config.d.ts +0 -0
  778. /package/{dist/types/Punchcard → Punchcard}/index.d.ts +0 -0
  779. /package/{dist/types/Punchcard → Punchcard}/punchcardUtils.d.ts +0 -0
  780. /package/{dist/types/Rectangle → Rectangle}/Rectangle.d.ts +0 -0
  781. /package/{dist/types/Sankey → Rectangle}/config.d.ts +0 -0
  782. /package/{dist/types/Rectangle → Rectangle}/index.d.ts +0 -0
  783. /package/{dist/types/Sankey → Sankey}/PureSankey/PureSankey.d.ts +0 -0
  784. /package/{dist/types/Sankey → Sankey}/PureSankey/SankeyLink.d.ts +0 -0
  785. /package/{dist/types/Sankey → Sankey}/PureSankey/SankeyModels.d.ts +0 -0
  786. /package/{dist/types/Sankey → Sankey}/PureSankey/SankeyNode.d.ts +0 -0
  787. /package/{dist/types/Sankey → Sankey}/PureSankey/SankeyTooltip.d.ts +0 -0
  788. /package/{dist/types/Sankey → Sankey}/PureSankey/SankeyUtils.d.ts +0 -0
  789. /package/{dist/types/Sankey → Sankey}/PureSankey/mockdata/data.d.ts +0 -0
  790. /package/{dist/types/Sankey → Sankey}/Sankey.d.ts +0 -0
  791. /package/{dist/types/Scatter → Sankey}/config.d.ts +0 -0
  792. /package/{dist/types/Sankey → Sankey}/index.d.ts +0 -0
  793. /package/{dist/types/Scatter → Scatter}/Scatter.d.ts +0 -0
  794. /package/{dist/types/SingleValue → Scatter}/config.d.ts +0 -0
  795. /package/{dist/types/Scatter → Scatter}/index.d.ts +0 -0
  796. /package/{dist/types/Scatter → Scatter}/mockdata/data.d.ts +0 -0
  797. /package/{dist/types/Scatter → Scatter}/scatterUtils.d.ts +0 -0
  798. /package/{dist/types/SingleValue → SingleValue}/SingleValue.d.ts +0 -0
  799. /package/{dist/types/SingleValueIcon → SingleValue}/config.d.ts +0 -0
  800. /package/{dist/types/SingleValue → SingleValue}/index.d.ts +0 -0
  801. /package/{dist/types/SingleValueBasic → SingleValueBasic}/index.d.ts +0 -0
  802. /package/{dist/types/SingleValueIcon → SingleValueIcon}/SingleValueIcon.d.ts +0 -0
  803. /package/{dist/types/SingleValueRadial → SingleValueIcon}/config.d.ts +0 -0
  804. /package/{dist/types/SingleValueIcon → SingleValueIcon}/index.d.ts +0 -0
  805. /package/{dist/types/SingleValueRadial → SingleValueRadial}/PureSingleValueRadial/GaugeGraph.d.ts +0 -0
  806. /package/{dist/types/SingleValueRadial → SingleValueRadial}/SingleValueRadial.d.ts +0 -0
  807. /package/{dist/types/Table → SingleValueRadial}/config.d.ts +0 -0
  808. /package/{dist/types/SingleValueRadial → SingleValueRadial}/index.d.ts +0 -0
  809. /package/{dist/types/SparkLine → SparkLine}/index.d.ts +0 -0
  810. /package/{dist/types/Table → Table}/cells/ArrayCell.d.ts +0 -0
  811. /package/{dist/types/Table → Table}/cells/SparklineCell.d.ts +0 -0
  812. /package/{dist/types/Table → Table}/cells/SwitchTableCell.d.ts +0 -0
  813. /package/{dist/types/Table → Table}/cells/TextCell.d.ts +0 -0
  814. /package/{dist/types/Table → Table}/cells/index.d.ts +0 -0
  815. /package/{dist/types/Timeline → Table}/config.d.ts +0 -0
  816. /package/{dist/types/Table → Table}/index.d.ts +0 -0
  817. /package/{dist/types/Timeline → Timeline}/PureTimeline/PureTimeline.d.ts +0 -0
  818. /package/{dist/types/Timeline → Timeline}/PureTimeline/src/CursorPlugin.d.ts +0 -0
  819. /package/{dist/types/Timeline → Timeline}/PureTimeline/src/TimelineLegend.d.ts +0 -0
  820. /package/{dist/types/Timeline → Timeline}/PureTimeline/src/TimelineTooltip.d.ts +0 -0
  821. /package/{dist/types/Timeline → Timeline}/PureTimeline/src/TimelineUplot.d.ts +0 -0
  822. /package/{dist/types/Timeline → Timeline}/PureTimeline/src/TimelineYAxis.d.ts +0 -0
  823. /package/{dist/types/Timeline → Timeline}/Timeline.d.ts +0 -0
  824. /package/{dist/types/Timeline → Timeline}/index.d.ts +0 -0
  825. /package/{dist/types/Timeline → Timeline}/mockdata/basicTimelineData.d.ts +0 -0
  826. /package/{dist/types/Timeline → Timeline}/mockdata/categoricalTimelineData.d.ts +0 -0
  827. /package/{dist/types/Timeline → Timeline}/mockdata/timelineDataSource.d.ts +0 -0
  828. /package/{dist/types/common → common}/ChartingApi.d.ts +0 -0
  829. /package/{dist/types/common → common}/DocExampleWithVizSandbox.d.ts +0 -0
  830. /package/{dist/types/common → common}/OverviewDoc.d.ts +0 -0
  831. /package/{dist/types/common → common}/SplunkVisualization.d.ts +0 -0
  832. /package/{dist/types/common → common}/SplunkVisualizationApi.d.ts +0 -0
  833. /package/{dist/types/common → common}/ThemedDefaults.d.ts +0 -0
  834. /package/{dist/types/common → common}/components/IconPlaceholder.d.ts +0 -0
  835. /package/{dist/types/common → common}/components/MissingPropsMessage.d.ts +0 -0
  836. /package/{dist/types/common → common}/components/TrellisTitle.d.ts +0 -0
  837. /package/{dist/types/common → common}/configContext/singleValueContext.d.ts +0 -0
  838. /package/{dist/types/common → common}/docUtils.d.ts +0 -0
  839. /package/{dist/types/common → common}/editorConfig/AxesChartColorAndStyle.d.ts +0 -0
  840. /package/{dist/types/common → common}/editorConfig/AxesChartDataConfig.d.ts +0 -0
  841. /package/{dist/types/common → common}/editorConfig/AxesChartDataDisplay.d.ts +0 -0
  842. /package/{dist/types/common → common}/editorConfig/AxesChartLegend.d.ts +0 -0
  843. /package/{dist/types/common → common}/editorConfig/AxesChartXGridAndLabels.d.ts +0 -0
  844. /package/{dist/types/common → common}/editorConfig/AxesChartY2GridAndLabels.d.ts +0 -0
  845. /package/{dist/types/common → common}/editorConfig/AxesChartYGridAndLabels.d.ts +0 -0
  846. /package/{dist/types/common → common}/editorConfig/BackgroundColor.d.ts +0 -0
  847. /package/{dist/types/common → common}/editorConfig/DynamicFillColorEditor.d.ts +0 -0
  848. /package/{dist/types/common → common}/editorConfig/DynamicGaugeColorEditor.d.ts +0 -0
  849. /package/{dist/types/common → common}/editorConfig/DynamicStrokeColorEditor.d.ts +0 -0
  850. /package/{dist/types/common → common}/editorConfig/Gauge.d.ts +0 -0
  851. /package/{dist/types/common → common}/editorConfig/Legend.d.ts +0 -0
  852. /package/{dist/types/common → common}/editorConfig/RadialBackgroundColor.d.ts +0 -0
  853. /package/{dist/types/common → common}/editorConfig/StaticFillColorEditor.d.ts +0 -0
  854. /package/{dist/types/common → common}/editorConfig/StaticGaugeColorEditor.d.ts +0 -0
  855. /package/{dist/types/common → common}/editorConfig/StaticStrokeColorEditor.d.ts +0 -0
  856. /package/{dist/types/common → common}/editorConfig/TrellisEditors.d.ts +0 -0
  857. /package/{dist/types/common → common}/gaugeUtils.d.ts +0 -0
  858. /package/{dist/types/common → common}/hocs/FixedSizeContainer.d.ts +0 -0
  859. /package/{dist/types/common → common}/hocs/mockdata/trellisData.d.ts +0 -0
  860. /package/{dist/types/common → common}/hocs/withEditModeCover.d.ts +0 -0
  861. /package/{dist/types/common → common}/hocs/withPlaceholder.d.ts +0 -0
  862. /package/{dist/types/common → common}/hocs/withTrellis.d.ts +0 -0
  863. /package/{dist/types/common → common}/hooks/useDeepMemo.d.ts +0 -0
  864. /package/{dist/types/common → common}/hooks/useDownsampleDataSources.d.ts +0 -0
  865. /package/{dist/types/common → common}/hooks/useEventCallback.d.ts +0 -0
  866. /package/{dist/types/common → common}/hooks/useGetXAndYFields.d.ts +0 -0
  867. /package/{dist/types/common → common}/hooks/usePagination.d.ts +0 -0
  868. /package/{dist/types/common → common}/hooks/usePrevious.d.ts +0 -0
  869. /package/{dist/types/common → common}/hooks/useSorting.d.ts +0 -0
  870. /package/{dist/types/common → common}/hooks/useTrellisEnabled.d.ts +0 -0
  871. /package/{dist/types/common → common}/interfaces/ChartEvent.d.ts +0 -0
  872. /package/{dist/types/common → common}/interfaces/DataContract.d.ts +0 -0
  873. /package/{dist/types/common → common}/interfaces/DefaultContext.d.ts +0 -0
  874. /package/{dist/types/common → common}/interfaces/Editor.d.ts +0 -0
  875. /package/{dist/types/common → common}/interfaces/ExtendedDashViz.d.ts +0 -0
  876. /package/{dist/types/common → common}/interfaces/Object.d.ts +0 -0
  877. /package/{dist/types/common → common}/interfaces/Overview.d.ts +0 -0
  878. /package/{dist/types/common → common}/interfaces/ThemedDefaults.d.ts +0 -0
  879. /package/{dist/types/common → common}/interfaces/VizActionHandler.d.ts +0 -0
  880. /package/{dist/types/common → common}/interfaces/VizBehavior.d.ts +0 -0
  881. /package/{dist/types/common → common}/interfaces/VizCategory.d.ts +0 -0
  882. /package/{dist/types/common → common}/interfaces/VizConfig.d.ts +0 -0
  883. /package/{dist/types/common → common}/interfaces/VizEvent.d.ts +0 -0
  884. /package/{dist/types/common → common}/interfaces/VizProps.d.ts +0 -0
  885. /package/{dist/types/common → common}/interfaces/VizRegistry.d.ts +0 -0
  886. /package/{dist/types/common → common}/interfaces/VizSize.d.ts +0 -0
  887. /package/{dist/types/common → common}/interfaces/VizStatus.d.ts +0 -0
  888. /package/{dist/types/common → common}/interfaces/index.d.ts +0 -0
  889. /package/{dist/types/common → common}/shapeUtils.d.ts +0 -0
  890. /package/{dist/types/common → common}/utils/configUtils.d.ts +0 -0
  891. /package/{dist/types/common → common}/utils/dataUtils.d.ts +0 -0
  892. /package/{dist/types/common → common}/utils/hocUtils.d.ts +0 -0
  893. /package/{dist/types/common → common}/utils/mapUtils.d.ts +0 -0
  894. /package/{dist/types/common → common}/utils/trellisUtils.d.ts +0 -0
  895. /package/{dist/types/common → common}/utils/urlUtils.d.ts +0 -0
package/Table.js CHANGED
@@ -90,113 +90,131 @@ var defaultImport2 = __toESM(require("@splunk/visualizations-shared/colorUtils")
90
90
  __reExport(colorUtils_exports, require("@splunk/visualizations-shared/colorUtils"));
91
91
  var colorUtils_default = "default" in defaultImport2 ? defaultImport2.default : defaultImport2;
92
92
 
93
+ // esm-externals:react
94
+ var react_exports = {};
95
+ __export(react_exports, {
96
+ default: () => react_default
97
+ });
98
+ var defaultImport3 = __toESM(require("react"));
99
+ __reExport(react_exports, require("react"));
100
+ var react_default = "default" in defaultImport3 ? defaultImport3.default : defaultImport3;
101
+
102
+ // esm-externals:@splunk/ui-utils/id
103
+ var id_exports = {};
104
+ __export(id_exports, {
105
+ default: () => id_default
106
+ });
107
+ var defaultImport4 = __toESM(require("@splunk/ui-utils/id"));
108
+ __reExport(id_exports, require("@splunk/ui-utils/id"));
109
+ var id_default = "default" in defaultImport4 ? defaultImport4.default : defaultImport4;
110
+
93
111
  // esm-externals:@splunk/ui-utils/i18n
94
112
  var i18n_exports = {};
95
113
  __export(i18n_exports, {
96
114
  default: () => i18n_default
97
115
  });
98
- var defaultImport3 = __toESM(require("@splunk/ui-utils/i18n"));
116
+ var defaultImport5 = __toESM(require("@splunk/ui-utils/i18n"));
99
117
  __reExport(i18n_exports, require("@splunk/ui-utils/i18n"));
100
- var i18n_default = "default" in defaultImport3 ? defaultImport3.default : defaultImport3;
118
+ var i18n_default = "default" in defaultImport5 ? defaultImport5.default : defaultImport5;
101
119
 
102
120
  // esm-externals:@splunk/visualization-schemas
103
121
  var visualization_schemas_exports = {};
104
122
  __export(visualization_schemas_exports, {
105
123
  default: () => visualization_schemas_default
106
124
  });
107
- var defaultImport4 = __toESM(require("@splunk/visualization-schemas"));
125
+ var defaultImport6 = __toESM(require("@splunk/visualization-schemas"));
108
126
  __reExport(visualization_schemas_exports, require("@splunk/visualization-schemas"));
109
- var visualization_schemas_default = "default" in defaultImport4 ? defaultImport4.default : defaultImport4;
127
+ var visualization_schemas_default = "default" in defaultImport6 ? defaultImport6.default : defaultImport6;
110
128
 
111
129
  // esm-externals:@splunk/visualization-color-palettes/editors/PresetPalettes
112
130
  var PresetPalettes_exports = {};
113
131
  __export(PresetPalettes_exports, {
114
132
  default: () => PresetPalettes_default
115
133
  });
116
- var defaultImport5 = __toESM(require("@splunk/visualization-color-palettes/editors/PresetPalettes"));
134
+ var defaultImport7 = __toESM(require("@splunk/visualization-color-palettes/editors/PresetPalettes"));
117
135
  __reExport(PresetPalettes_exports, require("@splunk/visualization-color-palettes/editors/PresetPalettes"));
118
- var PresetPalettes_default = "default" in defaultImport5 ? defaultImport5.default : defaultImport5;
136
+ var PresetPalettes_default = "default" in defaultImport7 ? defaultImport7.default : defaultImport7;
119
137
 
120
138
  // esm-externals:@splunk/visualizations-shared/colorConstants
121
139
  var colorConstants_exports = {};
122
140
  __export(colorConstants_exports, {
123
141
  default: () => colorConstants_default
124
142
  });
125
- var defaultImport6 = __toESM(require("@splunk/visualizations-shared/colorConstants"));
143
+ var defaultImport8 = __toESM(require("@splunk/visualizations-shared/colorConstants"));
126
144
  __reExport(colorConstants_exports, require("@splunk/visualizations-shared/colorConstants"));
127
- var colorConstants_default = "default" in defaultImport6 ? defaultImport6.default : defaultImport6;
145
+ var colorConstants_default = "default" in defaultImport8 ? defaultImport8.default : defaultImport8;
128
146
 
129
147
  // esm-externals:@splunk/visualization-icons
130
148
  var visualization_icons_exports = {};
131
149
  __export(visualization_icons_exports, {
132
150
  default: () => visualization_icons_default
133
151
  });
134
- var defaultImport7 = __toESM(require("@splunk/visualization-icons"));
152
+ var defaultImport9 = __toESM(require("@splunk/visualization-icons"));
135
153
  __reExport(visualization_icons_exports, require("@splunk/visualization-icons"));
136
- var visualization_icons_default = "default" in defaultImport7 ? defaultImport7.default : defaultImport7;
154
+ var visualization_icons_default = "default" in defaultImport9 ? defaultImport9.default : defaultImport9;
137
155
 
138
156
  // esm-externals:@splunk/visualization-icons/placeholders
139
157
  var placeholders_exports = {};
140
158
  __export(placeholders_exports, {
141
159
  default: () => placeholders_default
142
160
  });
143
- var defaultImport8 = __toESM(require("@splunk/visualization-icons/placeholders"));
161
+ var defaultImport10 = __toESM(require("@splunk/visualization-icons/placeholders"));
144
162
  __reExport(placeholders_exports, require("@splunk/visualization-icons/placeholders"));
145
- var placeholders_default = "default" in defaultImport8 ? defaultImport8.default : defaultImport8;
163
+ var placeholders_default = "default" in defaultImport10 ? defaultImport10.default : defaultImport10;
146
164
 
147
165
  // esm-externals:@splunk/themes/variables
148
166
  var variables_exports = {};
149
167
  __export(variables_exports, {
150
168
  default: () => variables_default
151
169
  });
152
- var defaultImport9 = __toESM(require("@splunk/themes/variables"));
170
+ var defaultImport11 = __toESM(require("@splunk/themes/variables"));
153
171
  __reExport(variables_exports, require("@splunk/themes/variables"));
154
- var variables_default = "default" in defaultImport9 ? defaultImport9.default : defaultImport9;
172
+ var variables_default = "default" in defaultImport11 ? defaultImport11.default : defaultImport11;
155
173
 
156
174
  // esm-externals:@splunk/themes/pick
157
175
  var pick_exports = {};
158
176
  __export(pick_exports, {
159
177
  default: () => pick_default
160
178
  });
161
- var defaultImport10 = __toESM(require("@splunk/themes/pick"));
179
+ var defaultImport12 = __toESM(require("@splunk/themes/pick"));
162
180
  __reExport(pick_exports, require("@splunk/themes/pick"));
163
- var pick_default = "default" in defaultImport10 ? defaultImport10.default : defaultImport10;
181
+ var pick_default = "default" in defaultImport12 ? defaultImport12.default : defaultImport12;
164
182
 
165
183
  // esm-externals:@splunk/react-icons/TextAlignCenter
166
184
  var TextAlignCenter_exports = {};
167
185
  __export(TextAlignCenter_exports, {
168
186
  default: () => TextAlignCenter_default
169
187
  });
170
- var defaultImport11 = __toESM(require("@splunk/react-icons/TextAlignCenter"));
188
+ var defaultImport13 = __toESM(require("@splunk/react-icons/TextAlignCenter"));
171
189
  __reExport(TextAlignCenter_exports, require("@splunk/react-icons/TextAlignCenter"));
172
- var TextAlignCenter_default = "default" in defaultImport11 ? defaultImport11.default : defaultImport11;
190
+ var TextAlignCenter_default = "default" in defaultImport13 ? defaultImport13.default : defaultImport13;
173
191
 
174
192
  // esm-externals:@splunk/react-icons/TextAlignLeft
175
193
  var TextAlignLeft_exports = {};
176
194
  __export(TextAlignLeft_exports, {
177
195
  default: () => TextAlignLeft_default
178
196
  });
179
- var defaultImport12 = __toESM(require("@splunk/react-icons/TextAlignLeft"));
197
+ var defaultImport14 = __toESM(require("@splunk/react-icons/TextAlignLeft"));
180
198
  __reExport(TextAlignLeft_exports, require("@splunk/react-icons/TextAlignLeft"));
181
- var TextAlignLeft_default = "default" in defaultImport12 ? defaultImport12.default : defaultImport12;
199
+ var TextAlignLeft_default = "default" in defaultImport14 ? defaultImport14.default : defaultImport14;
182
200
 
183
201
  // esm-externals:@splunk/react-icons/TextAlignRight
184
202
  var TextAlignRight_exports = {};
185
203
  __export(TextAlignRight_exports, {
186
204
  default: () => TextAlignRight_default
187
205
  });
188
- var defaultImport13 = __toESM(require("@splunk/react-icons/TextAlignRight"));
206
+ var defaultImport15 = __toESM(require("@splunk/react-icons/TextAlignRight"));
189
207
  __reExport(TextAlignRight_exports, require("@splunk/react-icons/TextAlignRight"));
190
- var TextAlignRight_default = "default" in defaultImport13 ? defaultImport13.default : defaultImport13;
208
+ var TextAlignRight_default = "default" in defaultImport15 ? defaultImport15.default : defaultImport15;
191
209
 
192
210
  // esm-externals:@splunk/visualizations-shared/configUtils
193
211
  var configUtils_exports = {};
194
212
  __export(configUtils_exports, {
195
213
  default: () => configUtils_default
196
214
  });
197
- var defaultImport14 = __toESM(require("@splunk/visualizations-shared/configUtils"));
215
+ var defaultImport16 = __toESM(require("@splunk/visualizations-shared/configUtils"));
198
216
  __reExport(configUtils_exports, require("@splunk/visualizations-shared/configUtils"));
199
- var configUtils_default = "default" in defaultImport14 ? defaultImport14.default : defaultImport14;
217
+ var configUtils_default = "default" in defaultImport16 ? defaultImport16.default : defaultImport16;
200
218
 
201
219
  // src/common/utils/configUtils.ts
202
220
  function enhanceConfig(vizConfig) {
@@ -705,8 +723,8 @@ var editorConfig = [
705
723
  }
706
724
  ]
707
725
  ],
708
- // TODO(fkurniawan): fill in with proper editor components
709
726
  sparkline: [],
727
+ // Configure via columnFormat.sparklineNullValueDisplay
710
728
  string: [
711
729
  [
712
730
  __spreadValues({}, unitPositionConfig),
@@ -788,125 +806,119 @@ var buildTotalsByFieldFromFieldsMeta = (fieldsMeta) => {
788
806
  });
789
807
  return totalsByField;
790
808
  };
791
- var buildPercentagesByFieldFromTotals = (totalsByField) => {
809
+ var buildFooterDataFrames = (fieldsMeta) => {
810
+ const totalsByField = buildTotalsByFieldFromFieldsMeta(fieldsMeta);
792
811
  const entries = Object.entries(totalsByField).filter(([, v]) => Number.isFinite(v));
793
812
  const grandTotal = entries.reduce((acc, [, v]) => acc + Number(v), 0);
794
- if (grandTotal <= 0) return {};
795
- const percentages = {};
796
- entries.forEach(([k, v]) => {
797
- const pct = (Number(v) / grandTotal * 100).toFixed(2);
798
- percentages[k] = `${pct}%`;
813
+ const percentagesByField = {};
814
+ if (grandTotal > 0) {
815
+ entries.forEach(([k, v]) => {
816
+ const pct = (Number(v) / grandTotal * 100).toFixed(2);
817
+ percentagesByField[k] = `${pct}%`;
818
+ });
819
+ }
820
+ const fields = Array.isArray(fieldsMeta) ? fieldsMeta : [];
821
+ const fieldNames = fields.map((f) => f.name).filter(Boolean);
822
+ const combinedFooterFields = fieldNames.map((name) => ({ name }));
823
+ const combinedFooterColumns = fieldNames.map((name) => {
824
+ const total = totalsByField[name];
825
+ const pct = percentagesByField[name];
826
+ return [typeof total === "number" ? total : "", pct || ""];
799
827
  });
800
- return percentages;
828
+ return {
829
+ footer: { fields: combinedFooterFields, columns: combinedFooterColumns }
830
+ };
801
831
  };
802
832
 
803
- // esm-externals:react
804
- var react_exports = {};
805
- __export(react_exports, {
806
- default: () => react_default
807
- });
808
- var defaultImport15 = __toESM(require("react"));
809
- __reExport(react_exports, require("react"));
810
- var react_default = "default" in defaultImport15 ? defaultImport15.default : defaultImport15;
811
-
812
833
  // esm-externals:@splunk/themes/getSettingsFromThemedProps
813
834
  var getSettingsFromThemedProps_exports = {};
814
835
  __export(getSettingsFromThemedProps_exports, {
815
836
  default: () => getSettingsFromThemedProps_default
816
837
  });
817
- var defaultImport16 = __toESM(require("@splunk/themes/getSettingsFromThemedProps"));
838
+ var defaultImport17 = __toESM(require("@splunk/themes/getSettingsFromThemedProps"));
818
839
  __reExport(getSettingsFromThemedProps_exports, require("@splunk/themes/getSettingsFromThemedProps"));
819
- var getSettingsFromThemedProps_default = "default" in defaultImport16 ? defaultImport16.default : defaultImport16;
840
+ var getSettingsFromThemedProps_default = "default" in defaultImport17 ? defaultImport17.default : defaultImport17;
820
841
 
821
842
  // esm-externals:@splunk/visualization-encoding/Options
822
843
  var Options_exports = {};
823
844
  __export(Options_exports, {
824
845
  default: () => Options_default
825
846
  });
826
- var defaultImport17 = __toESM(require("@splunk/visualization-encoding/Options"));
847
+ var defaultImport18 = __toESM(require("@splunk/visualization-encoding/Options"));
827
848
  __reExport(Options_exports, require("@splunk/visualization-encoding/Options"));
828
- var Options_default = "default" in defaultImport17 ? defaultImport17.default : defaultImport17;
849
+ var Options_default = "default" in defaultImport18 ? defaultImport18.default : defaultImport18;
829
850
 
830
851
  // esm-externals:@splunk/visualizations-shared/SanitizeProps
831
852
  var SanitizeProps_exports = {};
832
853
  __export(SanitizeProps_exports, {
833
854
  default: () => SanitizeProps_default
834
855
  });
835
- var defaultImport18 = __toESM(require("@splunk/visualizations-shared/SanitizeProps"));
856
+ var defaultImport19 = __toESM(require("@splunk/visualizations-shared/SanitizeProps"));
836
857
  __reExport(SanitizeProps_exports, require("@splunk/visualizations-shared/SanitizeProps"));
837
- var SanitizeProps_default = "default" in defaultImport18 ? defaultImport18.default : defaultImport18;
858
+ var SanitizeProps_default = "default" in defaultImport19 ? defaultImport19.default : defaultImport19;
838
859
 
839
860
  // esm-externals:@splunk/visualization-context/TimezoneContext
840
861
  var TimezoneContext_exports = {};
841
862
  __export(TimezoneContext_exports, {
842
863
  default: () => TimezoneContext_default
843
864
  });
844
- var defaultImport19 = __toESM(require("@splunk/visualization-context/TimezoneContext"));
865
+ var defaultImport20 = __toESM(require("@splunk/visualization-context/TimezoneContext"));
845
866
  __reExport(TimezoneContext_exports, require("@splunk/visualization-context/TimezoneContext"));
846
- var TimezoneContext_default = "default" in defaultImport19 ? defaultImport19.default : defaultImport19;
867
+ var TimezoneContext_default = "default" in defaultImport20 ? defaultImport20.default : defaultImport20;
847
868
 
848
869
  // esm-externals:@splunk/moment
849
870
  var moment_exports = {};
850
871
  __export(moment_exports, {
851
872
  default: () => moment_default
852
873
  });
853
- var defaultImport20 = __toESM(require("@splunk/moment"));
874
+ var defaultImport21 = __toESM(require("@splunk/moment"));
854
875
  __reExport(moment_exports, require("@splunk/moment"));
855
- var moment_default = "default" in defaultImport20 ? defaultImport20.default : defaultImport20;
876
+ var moment_default = "default" in defaultImport21 ? defaultImport21.default : defaultImport21;
856
877
 
857
878
  // esm-externals:@splunk/visualization-context/FeatureFlagContext
858
879
  var FeatureFlagContext_exports = {};
859
880
  __export(FeatureFlagContext_exports, {
860
881
  default: () => FeatureFlagContext_default
861
882
  });
862
- var defaultImport21 = __toESM(require("@splunk/visualization-context/FeatureFlagContext"));
883
+ var defaultImport22 = __toESM(require("@splunk/visualization-context/FeatureFlagContext"));
863
884
  __reExport(FeatureFlagContext_exports, require("@splunk/visualization-context/FeatureFlagContext"));
864
- var FeatureFlagContext_default = "default" in defaultImport21 ? defaultImport21.default : defaultImport21;
885
+ var FeatureFlagContext_default = "default" in defaultImport22 ? defaultImport22.default : defaultImport22;
865
886
 
866
887
  // esm-externals:styled-components
867
888
  var styled_components_exports = {};
868
889
  __export(styled_components_exports, {
869
890
  default: () => styled_components_default
870
891
  });
871
- var defaultImport22 = __toESM(require("styled-components"));
892
+ var defaultImport23 = __toESM(require("styled-components"));
872
893
  __reExport(styled_components_exports, require("styled-components"));
873
- var styled_components_default = "default" in defaultImport22 ? defaultImport22.default : defaultImport22;
894
+ var styled_components_default = "default" in defaultImport23 ? defaultImport23.default : defaultImport23;
874
895
 
875
896
  // esm-externals:@splunk/visualizations-shared/hocUtils
876
897
  var hocUtils_exports = {};
877
898
  __export(hocUtils_exports, {
878
899
  default: () => hocUtils_default
879
900
  });
880
- var defaultImport23 = __toESM(require("@splunk/visualizations-shared/hocUtils"));
901
+ var defaultImport24 = __toESM(require("@splunk/visualizations-shared/hocUtils"));
881
902
  __reExport(hocUtils_exports, require("@splunk/visualizations-shared/hocUtils"));
882
- var hocUtils_default = "default" in defaultImport23 ? defaultImport23.default : defaultImport23;
903
+ var hocUtils_default = "default" in defaultImport24 ? defaultImport24.default : defaultImport24;
883
904
 
884
905
  // esm-externals:@splunk/visualizations-shared/JSONSchemaUtils
885
906
  var JSONSchemaUtils_exports = {};
886
907
  __export(JSONSchemaUtils_exports, {
887
908
  default: () => JSONSchemaUtils_default
888
909
  });
889
- var defaultImport24 = __toESM(require("@splunk/visualizations-shared/JSONSchemaUtils"));
910
+ var defaultImport25 = __toESM(require("@splunk/visualizations-shared/JSONSchemaUtils"));
890
911
  __reExport(JSONSchemaUtils_exports, require("@splunk/visualizations-shared/JSONSchemaUtils"));
891
- var JSONSchemaUtils_default = "default" in defaultImport24 ? defaultImport24.default : defaultImport24;
912
+ var JSONSchemaUtils_default = "default" in defaultImport25 ? defaultImport25.default : defaultImport25;
892
913
 
893
914
  // esm-externals:@splunk/async-dynamic-options-evaluator
894
915
  var async_dynamic_options_evaluator_exports = {};
895
916
  __export(async_dynamic_options_evaluator_exports, {
896
917
  default: () => async_dynamic_options_evaluator_default
897
918
  });
898
- var defaultImport25 = __toESM(require("@splunk/async-dynamic-options-evaluator"));
919
+ var defaultImport26 = __toESM(require("@splunk/async-dynamic-options-evaluator"));
899
920
  __reExport(async_dynamic_options_evaluator_exports, require("@splunk/async-dynamic-options-evaluator"));
900
- var async_dynamic_options_evaluator_default = "default" in defaultImport25 ? defaultImport25.default : defaultImport25;
901
-
902
- // esm-externals:@splunk/ui-utils/id
903
- var id_exports = {};
904
- __export(id_exports, {
905
- default: () => id_default
906
- });
907
- var defaultImport26 = __toESM(require("@splunk/ui-utils/id"));
908
- __reExport(id_exports, require("@splunk/ui-utils/id"));
909
- var id_default = "default" in defaultImport26 ? defaultImport26.default : defaultImport26;
921
+ var async_dynamic_options_evaluator_default = "default" in defaultImport26 ? defaultImport26.default : defaultImport26;
910
922
 
911
923
  // esm-externals:prop-types
912
924
  var prop_types_exports = {};
@@ -1189,7 +1201,7 @@ var Cover = styled_components_default.div`
1189
1201
  bottom: 0;
1190
1202
  `;
1191
1203
  var Blocker = styled_components_default.div.attrs({
1192
- "data-splunk-visualization-version": "28.2.3 - f147a8bda"
1204
+ "data-splunk-visualization-version": "28.4.0 - 002bd482f"
1193
1205
  })`
1194
1206
  position: relative;
1195
1207
  width: 100%;
@@ -1270,7 +1282,7 @@ var withFixedSizeContainer = (Viz) => {
1270
1282
  FixSizeItem,
1271
1283
  {
1272
1284
  "data-test": "fix-size-item",
1273
- "data-splunk-visualization-version": "28.2.3 - f147a8bda",
1285
+ "data-splunk-visualization-version": "28.4.0 - 002bd482f",
1274
1286
  width,
1275
1287
  height,
1276
1288
  backgroundColor
@@ -1366,6 +1378,7 @@ __reExport(numberUtils_exports, require("@splunk/visualizations-shared/numberUti
1366
1378
  var numberUtils_default = "default" in defaultImport31 ? defaultImport31.default : defaultImport31;
1367
1379
 
1368
1380
  // src/common/utils/dataUtils.ts
1381
+ var getFieldName = (field) => typeof field === "string" ? field : field.name;
1369
1382
  var largestTriangleThreeBuckets = (data, threshold, preferredDownsampleIndices) => {
1370
1383
  const dataLength = data.length;
1371
1384
  const downsampledIndices = [];
@@ -1482,9 +1495,9 @@ var tryToCoerceAllDisplayedFields = (ds, xField, yFields, fieldTypes, options) =
1482
1495
  let xColumn = [];
1483
1496
  const yColumns = [];
1484
1497
  const canDownsample = !ds.data.fields.some((field, index) => {
1485
- var _a, _b;
1486
- const fieldName = (_a = field.name) != null ? _a : field;
1487
- const fieldType = (_b = fieldTypes[index]) != null ? _b : "unknown";
1498
+ var _a;
1499
+ const fieldName = getFieldName(field);
1500
+ const fieldType = (_a = fieldTypes[index]) != null ? _a : "unknown";
1488
1501
  const column = ds.data.columns[index];
1489
1502
  let hasDisplayedColumnThatCantBeDownsampled = false;
1490
1503
  if (fieldName === xField) {
@@ -1824,14 +1837,29 @@ var getAnnotationsForCanvas = ({
1824
1837
  var StyledTriangle = styled_components_default(Triangle_default)`
1825
1838
  color: ${(props) => props.eventColor || variables_default.severityColorNotice(props)};
1826
1839
  `;
1827
- var triangleEventAnnotationRenderer = ({ event }) => {
1840
+ var triangleEventAnnotationRenderer = ({
1841
+ event,
1842
+ dimensions
1843
+ }) => {
1828
1844
  const eventWithColor = event;
1829
1845
  return react_default.createElement(StyledTriangle, {
1846
+ width: `${dimensions.width}px`,
1847
+ height: `${dimensions.height}px`,
1830
1848
  viewBox: "0 0 24 24",
1831
1849
  variant: "filled",
1832
1850
  eventColor: eventWithColor.color
1833
1851
  });
1834
1852
  };
1853
+ var shouldEnableSearchZoom = (eventHandlers = [], xField = "") => {
1854
+ const rangeSelectEventHandler = eventHandlers.find(
1855
+ (eventHandler) => {
1856
+ var _a;
1857
+ return (_a = eventHandler.options.events) == null ? void 0 : _a.includes("range.select");
1858
+ }
1859
+ );
1860
+ const xAxisIsTime = xField === "_time";
1861
+ return !!rangeSelectEventHandler && xAxisIsTime;
1862
+ };
1835
1863
  var canvasSupportedTimeSeriesCharts = ["splunk.line"];
1836
1864
  var isTimeSeriesCanvasRenderSupported = (vizConfigKey) => {
1837
1865
  return canvasSupportedTimeSeriesCharts.indexOf(vizConfigKey) > -1;
@@ -1852,16 +1880,31 @@ var filterChartDataFromInternalFields = (chartData) => {
1852
1880
  var convert2DArrayToNumbers = (arr) => {
1853
1881
  return arr.map((subArray) => subArray.map((element) => parseFloat(element)));
1854
1882
  };
1883
+ var parseAxisValue = (val) => {
1884
+ if (val === void 0 || val === null || val === "auto" || val === "") {
1885
+ return void 0;
1886
+ }
1887
+ const num = typeof val === "number" ? val : Number.parseFloat(val);
1888
+ return Number.isNaN(num) ? void 0 : num;
1889
+ };
1855
1890
  var SideLegendWidth = 75;
1856
- var commonLegendProps = { center: true, fontSize: 12, largerTiles: true, hideSeriesValue: true };
1891
+ var SeriesCompareLegendWidth = 200;
1857
1892
  var getLegend = (props) => {
1858
1893
  const legendPlacement = props == null ? void 0 : props.legendDisplay;
1894
+ const { isSeriesCompare } = props;
1895
+ const commonLegendProps = {
1896
+ center: true,
1897
+ fontSize: 12,
1898
+ largerTiles: true,
1899
+ hideSeriesValue: !isSeriesCompare
1900
+ // Show values if in seriesCompare mode
1901
+ };
1859
1902
  switch (legendPlacement) {
1860
1903
  case "off":
1861
1904
  return false;
1862
1905
  case "left":
1863
1906
  return (0, visualization_canvas_exports.LeftLegendFactory)(__spreadValues({
1864
- width: SideLegendWidth
1907
+ width: isSeriesCompare ? SeriesCompareLegendWidth : SideLegendWidth
1865
1908
  }, commonLegendProps));
1866
1909
  case "bottom":
1867
1910
  return (0, visualization_canvas_exports.BottomLegendFactory)(__spreadValues({
@@ -1873,7 +1916,7 @@ var getLegend = (props) => {
1873
1916
  }, commonLegendProps));
1874
1917
  default:
1875
1918
  return (0, visualization_canvas_exports.SideLegendFactory)(__spreadValues({
1876
- width: SideLegendWidth
1919
+ width: isSeriesCompare ? SeriesCompareLegendWidth : SideLegendWidth
1877
1920
  }, commonLegendProps));
1878
1921
  }
1879
1922
  };
@@ -1909,19 +1952,25 @@ var ellipsisAxisTitle = (axisTitle, containerSpacing, fontSize = 12) => {
1909
1952
  const end = axisTitle.slice(-halfChars);
1910
1953
  return `${start}...${end}`;
1911
1954
  };
1912
- var getFieldName = (field) => {
1955
+ var getFieldName2 = (field) => {
1913
1956
  const fieldName = typeof field === "object" ? field == null ? void 0 : field.name : field;
1914
1957
  return fieldName;
1915
1958
  };
1916
1959
  var getFieldNames = (fields) => {
1917
- return fields.map((field) => getFieldName(field));
1960
+ return fields.map((field) => getFieldName2(field));
1918
1961
  };
1919
- var getXScaleConfig = (label) => {
1962
+ var getXScaleConfig = (label, xAxisLabelVisibility, xAxisLabelRotation) => {
1920
1963
  const xConfig = { x: {} };
1921
1964
  xConfig.x.label = label;
1965
+ if (xAxisLabelVisibility === "hide") {
1966
+ xConfig.x.hideLabels = true;
1967
+ }
1968
+ if (xAxisLabelRotation !== void 0) {
1969
+ xConfig.x.labelRotation = xAxisLabelRotation;
1970
+ }
1922
1971
  return xConfig;
1923
1972
  };
1924
- var getYScaleConfig = (label, yAxisAbbreviation, yAxisScale) => {
1973
+ var getYScaleConfig = (label, yAxisAbbreviation, yAxisScale, yAxisLabelVisibility, yAxisMin, yAxisMax) => {
1925
1974
  const scaleType = yAxisScale != null ? yAxisScale : "linear";
1926
1975
  const yConfig = { y: {} };
1927
1976
  yConfig.y.label = label;
@@ -1934,23 +1983,42 @@ var getYScaleConfig = (label, yAxisAbbreviation, yAxisScale) => {
1934
1983
  } else {
1935
1984
  yConfig.y.width = label && label.length > 0 ? 30 : 10;
1936
1985
  }
1986
+ if (yAxisLabelVisibility === "hide") {
1987
+ yConfig.y.hideLabels = true;
1988
+ }
1989
+ if (yAxisMin !== void 0 || yAxisMax !== void 0) {
1990
+ yConfig.y.range = (u, dataMin, dataMax) => {
1991
+ const min2 = yAxisMin != null ? yAxisMin : dataMin;
1992
+ const max2 = yAxisMax != null ? yAxisMax : dataMax;
1993
+ return [min2, max2];
1994
+ };
1995
+ }
1937
1996
  return yConfig;
1938
1997
  };
1939
- var getY2ScaleConfig = (label, axisAbbreviation, axisScale, roundAxisLabelsToInteger) => {
1998
+ var getY2ScaleConfig = (label, axisAbbreviation, axisScale, roundAxisLabelsToInteger, y2AxisLabelVisibility, y2AxisMin, y2AxisMax) => {
1940
1999
  const y2Config = { y2: {} };
1941
2000
  const scaleType = axisScale != null ? axisScale : "linear";
1942
2001
  y2Config.y2.label = label;
1943
2002
  y2Config.y2.side = "right";
1944
- y2Config.y2.showGrid = false;
1945
2003
  y2Config.y2.type = scaleType;
1946
2004
  if (axisAbbreviation !== "none") {
1947
2005
  y2Config.y2.tickFmt = (v) => (0, visualization_canvas_exports.shortenNumber)(v, 1, roundAxisLabelsToInteger);
1948
2006
  } else if (roundAxisLabelsToInteger) {
1949
2007
  y2Config.y2.tickFmt = (v) => roundAxisLabelsToInteger ? Math.round(v).toString() : v.toString();
1950
2008
  }
2009
+ if (y2AxisLabelVisibility === "hide") {
2010
+ y2Config.y2.hideLabels = true;
2011
+ }
2012
+ if (y2AxisMin !== void 0 || y2AxisMax !== void 0) {
2013
+ y2Config.y2.range = (u, dataMin, dataMax) => {
2014
+ const min2 = y2AxisMin != null ? y2AxisMin : dataMin;
2015
+ const max2 = y2AxisMax != null ? y2AxisMax : dataMax;
2016
+ return [min2, max2];
2017
+ };
2018
+ }
1951
2019
  return y2Config;
1952
2020
  };
1953
- var getSeriesOverrides = (yfields, y2fields, lineWidth, overlayFields, y2Enabled, nullValueMode) => {
2021
+ var getSeriesOverrides = (yfields, y2fields, lineWidth, overlayFields, y2Enabled, nullValueMode, markerDisplay, lineDashStyle, lineDashStylesByField) => {
1954
2022
  const seriesConfig = {};
1955
2023
  let spanGaps;
1956
2024
  let replaceNullsWithZero;
@@ -1982,12 +2050,90 @@ var getSeriesOverrides = (yfields, y2fields, lineWidth, overlayFields, y2Enabled
1982
2050
  if (overlayFields == null ? void 0 : overlayFields.includes(field)) {
1983
2051
  seriesConfig[field].type = "line";
1984
2052
  }
2053
+ if (markerDisplay !== void 0) {
2054
+ seriesConfig[field].markerDisplay = markerDisplay;
2055
+ }
2056
+ const fieldDashStyle = (lineDashStylesByField == null ? void 0 : lineDashStylesByField[field]) || lineDashStyle;
2057
+ if (fieldDashStyle) {
2058
+ seriesConfig[field].lineDashStyle = fieldDashStyle;
2059
+ }
1985
2060
  if (replaceNullsWithZero !== void 0) {
1986
2061
  seriesConfig[field].replaceNullsWithZero = replaceNullsWithZero;
1987
2062
  }
1988
2063
  });
1989
2064
  return seriesConfig;
1990
2065
  };
2066
+ var findRangeIndices = (xData, startValue, endValue) => {
2067
+ let startXIndex = -1;
2068
+ let endXIndex = -1;
2069
+ const xDataEpoch = xData.map((val) => {
2070
+ if (typeof val === "string") {
2071
+ return new Date(val).getTime() / 1e3;
2072
+ }
2073
+ return val;
2074
+ });
2075
+ for (let i = 0; i < xDataEpoch.length; i += 1) {
2076
+ if (xDataEpoch[i] >= startValue) {
2077
+ startXIndex = i;
2078
+ break;
2079
+ }
2080
+ }
2081
+ if (startXIndex === -1 && xDataEpoch.length > 0) {
2082
+ startXIndex = xDataEpoch.length - 1;
2083
+ }
2084
+ for (let i = xDataEpoch.length - 1; i >= 0; i -= 1) {
2085
+ if (xDataEpoch[i] <= endValue) {
2086
+ endXIndex = i;
2087
+ break;
2088
+ }
2089
+ }
2090
+ if (endXIndex === -1 && xDataEpoch.length > 0) {
2091
+ endXIndex = 0;
2092
+ }
2093
+ return { startXIndex, endXIndex };
2094
+ };
2095
+
2096
+ // src/common/hooks/useTrellisEnabled.ts
2097
+ var useTrellisFeatureFlagOn = () => {
2098
+ const context = (0, react_exports.useContext)(FeatureFlagContext_default);
2099
+ return Boolean(context == null ? void 0 : context.visualizations_enableTrellis);
2100
+ };
2101
+ var useTrellisEnabled = (layoutType = visualization_schemas_exports.LAYOUT_TYPE.Off) => {
2102
+ const trellisFeatureEnabled = useTrellisFeatureFlagOn();
2103
+ return trellisFeatureEnabled && layoutType === visualization_schemas_exports.LAYOUT_TYPE.Trellis;
2104
+ };
2105
+
2106
+ // src/common/components/TrellisTitle.tsx
2107
+ var TRELLIS_TITLE_HEIGHT = 28;
2108
+ var TrellisTitleText = styled_components_default.div`
2109
+ margin-left: 10px;
2110
+ margin-right: 10px;
2111
+ padding-top: 8px;
2112
+ text-overflow: ellipsis;
2113
+ white-space: nowrap;
2114
+ overflow: hidden;
2115
+ `;
2116
+ var TrellisTitleDiv = styled_components_default.div`
2117
+ height: ${TRELLIS_TITLE_HEIGHT}px;
2118
+ font-size: 14px;
2119
+ font-weight: 700;
2120
+ color: ${(props) => props.fontColor};
2121
+ background-color: ${(props) => props.backgroundColor};
2122
+ 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.
2123
+ `;
2124
+ var TrellisTitle = (props) => {
2125
+ const titleText = String(props.trellisKey).toString();
2126
+ return /* @__PURE__ */ react_exports.createElement(
2127
+ TrellisTitleDiv,
2128
+ {
2129
+ fontColor: props.fontColor,
2130
+ backgroundColor: props.backgroundColor,
2131
+ "data-test": "trellis-title",
2132
+ title: titleText
2133
+ },
2134
+ /* @__PURE__ */ react_exports.createElement(TrellisTitleText, null, titleText)
2135
+ );
2136
+ };
1991
2137
 
1992
2138
  // src/common/TimeSeriesChartWrapper.tsx
1993
2139
  var TimeSeriesChartContainer = styled_components_default.div`
@@ -1998,45 +2144,190 @@ var TimeSeriesChartContainer = styled_components_default.div`
1998
2144
  position: absolute !important; // This is needed for canvas element export pdf/png to work correctly
1999
2145
  }
2000
2146
  `;
2001
- var handleClick = (chartEvent, props) => {
2147
+ var appendTrellisToPayload = (payload, trellisKey, trellisSplitBy) => {
2148
+ const result = __spreadValues({}, payload);
2149
+ if (trellisSplitBy) {
2150
+ result["trellis.name"] = trellisSplitBy;
2151
+ }
2152
+ if (trellisKey) {
2153
+ result["trellis.value"] = trellisKey;
2154
+ }
2155
+ return result;
2156
+ };
2157
+ var hasMouseoverPayloadChanged = (currentPayload, previousPayload) => {
2158
+ if (!previousPayload) {
2159
+ return true;
2160
+ }
2161
+ if (currentPayload.index !== previousPayload.index) {
2162
+ return true;
2163
+ }
2164
+ if (currentPayload.seriesIndex !== previousPayload.seriesIndex) {
2165
+ return true;
2166
+ }
2167
+ if (currentPayload["trellis.name"] !== previousPayload["trellis.name"]) {
2168
+ return true;
2169
+ }
2170
+ if (currentPayload["trellis.value"] !== previousPayload["trellis.value"]) {
2171
+ return true;
2172
+ }
2173
+ return false;
2174
+ };
2175
+ var handleClick = (chartEvent, onClick, trellisKey, trellisSplitBy) => {
2002
2176
  const payload = __spreadProps(__spreadValues({}, (0, lodash_exports.pick)(chartEvent, "value", "seriesKey")), {
2003
2177
  name: chartEvent.seriesKey
2004
2178
  });
2005
2179
  delete payload.seriesKey;
2006
- const clickHandler = props == null ? void 0 : props.onClick;
2007
- if (clickHandler) {
2008
- clickHandler({
2180
+ if (chartEvent.rowContext) {
2181
+ Object.assign(
2182
+ payload,
2183
+ Object.keys(chartEvent.rowContext).reduce((acc, fieldName) => {
2184
+ acc[`row.${fieldName}.value`] = chartEvent.rowContext[fieldName];
2185
+ return acc;
2186
+ }, {})
2187
+ );
2188
+ }
2189
+ const updatedPayload = appendTrellisToPayload(payload, trellisKey, trellisSplitBy);
2190
+ if (onClick) {
2191
+ onClick({
2009
2192
  type: "point.click",
2010
2193
  originalEvent: chartEvent,
2011
- payload
2194
+ payload: updatedPayload
2012
2195
  });
2013
2196
  }
2014
2197
  };
2015
- var handleLegendClick = (chartEvent, props) => {
2198
+ var handleLegendClick = (chartEvent, onClick, trellisKey, trellisSplitBy) => {
2016
2199
  const payload = {
2017
2200
  name: chartEvent
2018
2201
  };
2019
- const clickHandler = props == null ? void 0 : props.onClick;
2020
- if (clickHandler) {
2021
- clickHandler({
2202
+ const updatedPayload = appendTrellisToPayload(payload, trellisKey, trellisSplitBy);
2203
+ if (onClick) {
2204
+ onClick({
2022
2205
  type: "legend.click",
2023
2206
  originalEvent: chartEvent,
2024
- payload
2207
+ payload: updatedPayload
2025
2208
  });
2026
2209
  }
2027
2210
  };
2211
+ var handleRangeSelection = (rangeEvent, onSelect, chartData, trellisKey, trellisSplitBy) => {
2212
+ var _a;
2213
+ if (!rangeEvent) {
2214
+ return;
2215
+ }
2216
+ const xData = ((_a = chartData == null ? void 0 : chartData.columns) == null ? void 0 : _a[0]) || [];
2217
+ const { startXIndex, endXIndex } = findRangeIndices(xData, rangeEvent.start, rangeEvent.end);
2218
+ const payload = {
2219
+ startXIndex,
2220
+ startXValue: rangeEvent.start,
2221
+ endXIndex,
2222
+ endXValue: rangeEvent.end
2223
+ };
2224
+ const updatedPayload = appendTrellisToPayload(payload, trellisKey, trellisSplitBy);
2225
+ if (onSelect) {
2226
+ onSelect({
2227
+ type: "range.selectBeforeZoom",
2228
+ originalEvent: rangeEvent,
2229
+ payload: updatedPayload
2230
+ });
2231
+ }
2232
+ };
2233
+ var handleRangeZoom = (rangeEvent, onSelect, chartData, trellisKey, trellisSplitBy) => {
2234
+ var _a;
2235
+ const xData = ((_a = chartData == null ? void 0 : chartData.columns) == null ? void 0 : _a[0]) || [];
2236
+ const { startXIndex, endXIndex } = findRangeIndices(xData, rangeEvent.start, rangeEvent.end);
2237
+ const payload = {
2238
+ startXIndex,
2239
+ startXValue: rangeEvent.start,
2240
+ endXIndex,
2241
+ endXValue: rangeEvent.end
2242
+ };
2243
+ const updatedPayload = appendTrellisToPayload(payload, trellisKey, trellisSplitBy);
2244
+ if (onSelect) {
2245
+ onSelect({
2246
+ type: "range.select",
2247
+ originalEvent: rangeEvent,
2248
+ payload: updatedPayload
2249
+ });
2250
+ }
2251
+ };
2252
+ var parseArrayOption = (value) => {
2253
+ if (Array.isArray(value)) {
2254
+ return value;
2255
+ }
2256
+ if (value) {
2257
+ return JSON.parse(value);
2258
+ }
2259
+ return void 0;
2260
+ };
2028
2261
  var TimeSeriesChartWrapper = (props) => {
2029
- const { width, height, chartData, options, userLocale, annotationX, annotationLabel, annotationColor } = props;
2030
- const {
2262
+ var _b, _c, _d;
2263
+ const _a = props, {
2264
+ width,
2265
+ height,
2266
+ chartData,
2267
+ options,
2268
+ userLocale,
2269
+ annotationX,
2270
+ annotationLabel,
2271
+ annotationColor,
2272
+ legendDisplay,
2273
+ markerDisplay,
2274
+ onClick,
2275
+ onPointMouseOver,
2276
+ onPointMouseOut,
2277
+ onSelect,
2278
+ splitByLayout,
2279
+ trellisKey,
2280
+ trellisSplitBy,
2031
2281
  backgroundColor,
2282
+ defaultFontColor,
2283
+ additionalTooltipValues,
2284
+ showYAxisWithZero: showYAxisWithZeroFromProps,
2285
+ showY2AxisWithZero: showY2AxisWithZeroFromProps
2286
+ } = _a, otherOptions = __objRest(_a, [
2287
+ "width",
2288
+ "height",
2289
+ "chartData",
2290
+ "options",
2291
+ "userLocale",
2292
+ "annotationX",
2293
+ "annotationLabel",
2294
+ "annotationColor",
2295
+ "legendDisplay",
2296
+ "markerDisplay",
2297
+ "onClick",
2298
+ "onPointMouseOver",
2299
+ "onPointMouseOut",
2300
+ "onSelect",
2301
+ "splitByLayout",
2302
+ "trellisKey",
2303
+ "trellisSplitBy",
2304
+ "backgroundColor",
2305
+ "defaultFontColor",
2306
+ "additionalTooltipValues",
2307
+ // Extract showYAxisWithZero directly from props for accelerated render mode
2308
+ "showYAxisWithZero",
2309
+ "showY2AxisWithZero"
2310
+ ]);
2311
+ const { eventHandlers, xField: xFieldFromProps } = otherOptions;
2312
+ const trellisEnabled = useTrellisEnabled(splitByLayout);
2313
+ const {
2314
+ backgroundColor: bgColorFromOptions,
2032
2315
  seriesColors: seriesColorsStr,
2033
2316
  fieldColors,
2317
+ legendLabels: legendLabelsStr,
2318
+ legendMode,
2034
2319
  "axisTitleX.text": xAxisTitleText,
2035
2320
  "axisTitleY.text": yAxisTitleText,
2036
2321
  "axisTitleY2.text": y2AxisTitleText,
2037
2322
  "axisTitleX.visibility": xAxisTitleVisibility,
2038
2323
  "axisTitleY.visibility": yAxisTitleVisibility,
2039
2324
  "axisTitleY2.visibility": y2AxisTitleVisibility,
2325
+ "axisLabelsX.majorLabelVisibility": xAxisLabelVisibility,
2326
+ "axisLabelsX.majorLabelStyle.rotation": xAxisLabelRotation,
2327
+ "axisLabelsY.majorLabelVisibility": yAxisLabelVisibility,
2328
+ "axisLabelsY.majorUnit": yAxisMajorUnitFromSimpleXML,
2329
+ "axisLabelsY2.majorLabelVisibility": y2AxisLabelVisibility,
2330
+ "axisLabelsY2.majorUnit": y2AxisMajorUnitFromSimpleXML,
2040
2331
  "axisY.abbreviation": yAxisAbbreviation,
2041
2332
  "axisY.scale": yAxisScale,
2042
2333
  "axisY2.abbreviation": y2AxisAbbreviation,
@@ -2046,10 +2337,63 @@ var TimeSeriesChartWrapper = (props) => {
2046
2337
  "axisLabelsY2.integerUnits": y2IntegerUnits,
2047
2338
  "chart.overlayFields": overlayFieldsStr,
2048
2339
  "chart.nullValueMode": nullValueMode,
2049
- lineWidth
2340
+ "chart.showDataLabels": showDataLabels,
2341
+ lineWidth,
2342
+ lineDashStyle,
2343
+ fieldDashStyles: lineDashStylesByFieldStr,
2344
+ yAxisMin: yAxisMinRaw,
2345
+ yAxisMax: yAxisMaxRaw,
2346
+ y2AxisMin: y2AxisMinRaw,
2347
+ y2AxisMax: y2AxisMaxRaw,
2348
+ showXMajorGridLines,
2349
+ showYMajorGridLines,
2350
+ showY2MajorGridLines,
2351
+ showYMinorGridLines,
2352
+ showY2MinorGridLines,
2353
+ showLineSmoothing,
2354
+ yAxisMajorTickVisibility,
2355
+ y2AxisMajorTickVisibility,
2356
+ yAxisMajorTickSize,
2357
+ y2AxisMajorTickSize,
2358
+ yAxisMajorTickInterval,
2359
+ y2AxisMajorTickInterval,
2360
+ yAxisMinorTickVisibility,
2361
+ y2AxisMinorTickVisibility,
2362
+ yAxisMinorTickSize,
2363
+ y2AxisMinorTickSize,
2364
+ showYAxisWithZero: showYAxisWithZeroFromOptions,
2365
+ showY2AxisWithZero: showY2AxisWithZeroFromOptions
2050
2366
  } = options;
2367
+ const dataValuesDisplay = showDataLabels === "none" ? "off" : showDataLabels;
2368
+ const showYAxisWithZero = showYAxisWithZeroFromProps != null ? showYAxisWithZeroFromProps : showYAxisWithZeroFromOptions;
2369
+ const showY2AxisWithZero = showY2AxisWithZeroFromProps != null ? showY2AxisWithZeroFromProps : showY2AxisWithZeroFromOptions;
2370
+ const showYMajorTicks = yAxisMajorTickVisibility === "show";
2371
+ const showY2MajorTicks = y2AxisMajorTickVisibility === "show";
2372
+ const showYMinorTicks = yAxisMinorTickVisibility === "show";
2373
+ const showY2MinorTicks = y2AxisMinorTickVisibility === "show";
2374
+ const yAxisMin = parseAxisValue(yAxisMinRaw);
2375
+ const yAxisMax = parseAxisValue(yAxisMaxRaw);
2376
+ const y2AxisMin = parseAxisValue(y2AxisMinRaw);
2377
+ const y2AxisMax = parseAxisValue(y2AxisMaxRaw);
2378
+ const parseTickInterval = (simpleXMLValue, canvasValue) => {
2379
+ if (simpleXMLValue) return Number(simpleXMLValue);
2380
+ if (canvasValue) return Number(canvasValue);
2381
+ return void 0;
2382
+ };
2383
+ const yAxisMajorTickIntervalNum = parseTickInterval(yAxisMajorUnitFromSimpleXML, yAxisMajorTickInterval);
2384
+ const y2AxisMajorTickIntervalNum = parseTickInterval(
2385
+ y2AxisMajorUnitFromSimpleXML,
2386
+ y2AxisMajorTickInterval
2387
+ );
2388
+ const yAxisMajorTickSizeNum = yAxisMajorTickSize ? Number(yAxisMajorTickSize) : void 0;
2389
+ const y2AxisMajorTickSizeNum = y2AxisMajorTickSize ? Number(y2AxisMajorTickSize) : void 0;
2390
+ const yAxisMinorTickSizeNum = yAxisMinorTickSize ? Number(yAxisMinorTickSize) : void 0;
2391
+ const y2AxisMinorTickSizeNum = y2AxisMinorTickSize ? Number(y2AxisMinorTickSize) : void 0;
2051
2392
  const seriesColors = seriesColorsStr ? JSON.parse(seriesColorsStr) : void 0;
2052
2393
  const seriesColorsByField = fieldColors ? JSON.parse(fieldColors) : void 0;
2394
+ const lineDashStylesByField = lineDashStylesByFieldStr ? JSON.parse(lineDashStylesByFieldStr) : void 0;
2395
+ const legendLabels = parseArrayOption(legendLabelsStr);
2396
+ const bgColor = backgroundColor || bgColorFromOptions;
2053
2397
  const [containerWidth, setContainerWidth] = react_exports.useState(Number(props.width));
2054
2398
  const [containerHeight, setContainerHeight] = react_exports.useState(Number(props.height));
2055
2399
  const cachedHandleResize = react_exports.useCallback((w, h) => {
@@ -2060,25 +2404,64 @@ var TimeSeriesChartWrapper = (props) => {
2060
2404
  fields: chartData.fields,
2061
2405
  columns: chartData.seriesList
2062
2406
  });
2063
- const xField = getFieldName(filteredChartData.fields[0]);
2407
+ const xField = getFieldName2(filteredChartData.fields[0]);
2064
2408
  const yFields = getFieldNames(
2065
2409
  filteredChartData.fields.length > 1 ? filteredChartData.fields.slice(1) : []
2066
2410
  );
2067
- const y2Fields = y2FieldsStr ? y2FieldsStr.split(",").map((f) => f.trim()) : [];
2068
- const overlayFields = overlayFieldsStr ? overlayFieldsStr.split(",").map((f) => f.trim()) : [];
2411
+ const y2Fields = (0, react_exports.useMemo)(
2412
+ () => y2FieldsStr ? y2FieldsStr.split(",").map((f) => f.trim()) : [],
2413
+ [y2FieldsStr]
2414
+ );
2415
+ const overlayFields = (0, react_exports.useMemo)(
2416
+ () => overlayFieldsStr ? overlayFieldsStr.split(",").map((f) => f.trim()) : [],
2417
+ [overlayFieldsStr]
2418
+ );
2069
2419
  let xAxisTitle = getComputedAxisTitles(xAxisTitleText, [xField], xAxisTitleVisibility);
2070
2420
  xAxisTitle = ellipsisAxisTitle(xAxisTitle, containerWidth);
2071
- let yAxisTitle = getComputedAxisTitles(yAxisTitleText, yFields, yAxisTitleVisibility);
2421
+ const yFieldsForTitle = y2Enabled ? yFields.filter((field) => !y2Fields.includes(field)) : yFields;
2422
+ let yAxisTitle = getComputedAxisTitles(yAxisTitleText, yFieldsForTitle, yAxisTitleVisibility);
2072
2423
  yAxisTitle = ellipsisAxisTitle(yAxisTitle, containerHeight);
2073
2424
  const fieldsForY2Axis = y2Fields.length > 0 ? y2Fields : overlayFields;
2074
2425
  let y2AxisTitle = getComputedAxisTitles(y2AxisTitleText, fieldsForY2Axis, y2AxisTitleVisibility);
2075
2426
  y2AxisTitle = ellipsisAxisTitle(y2AxisTitle, containerHeight);
2076
- const xScaleConfig = getXScaleConfig(xAxisTitle);
2077
- const yScaleConfig = getYScaleConfig(yAxisTitle, yAxisAbbreviation, yAxisScale);
2078
- let y2ScaleConfig = {};
2079
- if (y2Enabled) {
2080
- y2ScaleConfig = getY2ScaleConfig(y2AxisTitle, y2AxisAbbreviation, y2AxisScale, y2IntegerUnits);
2081
- }
2427
+ const xScaleConfig = (0, react_exports.useMemo)(
2428
+ () => getXScaleConfig(xAxisTitle, xAxisLabelVisibility, xAxisLabelRotation),
2429
+ [xAxisTitle, xAxisLabelVisibility, xAxisLabelRotation]
2430
+ );
2431
+ const yScaleConfig = (0, react_exports.useMemo)(
2432
+ () => getYScaleConfig(
2433
+ yAxisTitle,
2434
+ yAxisAbbreviation,
2435
+ yAxisScale,
2436
+ yAxisLabelVisibility,
2437
+ yAxisMin,
2438
+ yAxisMax
2439
+ ),
2440
+ [yAxisTitle, yAxisAbbreviation, yAxisScale, yAxisLabelVisibility, yAxisMin, yAxisMax]
2441
+ );
2442
+ const y2ScaleConfig = (0, react_exports.useMemo)(() => {
2443
+ if (y2Enabled) {
2444
+ return getY2ScaleConfig(
2445
+ y2AxisTitle,
2446
+ y2AxisAbbreviation,
2447
+ y2AxisScale,
2448
+ y2IntegerUnits,
2449
+ y2AxisLabelVisibility,
2450
+ y2AxisMin,
2451
+ y2AxisMax
2452
+ );
2453
+ }
2454
+ return {};
2455
+ }, [
2456
+ y2Enabled,
2457
+ y2AxisTitle,
2458
+ y2AxisAbbreviation,
2459
+ y2AxisScale,
2460
+ y2IntegerUnits,
2461
+ y2AxisLabelVisibility,
2462
+ y2AxisMin,
2463
+ y2AxisMax
2464
+ ]);
2082
2465
  const uplotContainerElement = (0, react_exports.useRef)(null);
2083
2466
  const seriesDataFormatted = [
2084
2467
  filteredChartData.columns[0],
@@ -2086,24 +2469,140 @@ var TimeSeriesChartWrapper = (props) => {
2086
2469
  ];
2087
2470
  chartData.fields = filteredChartData.fields;
2088
2471
  chartData.columns = seriesDataFormatted;
2089
- const seriesOverrides = getSeriesOverrides(
2090
- yFields,
2091
- y2Fields,
2092
- lineWidth,
2093
- overlayFields,
2094
- y2Enabled,
2095
- nullValueMode
2472
+ const seriesOverrides = (0, react_exports.useMemo)(
2473
+ () => getSeriesOverrides(
2474
+ yFields,
2475
+ y2Fields,
2476
+ lineWidth,
2477
+ overlayFields,
2478
+ y2Enabled,
2479
+ nullValueMode,
2480
+ markerDisplay,
2481
+ lineDashStyle,
2482
+ lineDashStylesByField
2483
+ ),
2484
+ [
2485
+ yFields,
2486
+ y2Fields,
2487
+ lineWidth,
2488
+ overlayFields,
2489
+ y2Enabled,
2490
+ nullValueMode,
2491
+ markerDisplay,
2492
+ lineDashStyle,
2493
+ lineDashStylesByField
2494
+ ]
2096
2495
  );
2097
- const chartingEventAnnotations = getAnnotationsForCanvas({
2098
- annotationX,
2099
- annotationColor,
2100
- annotationLabel
2101
- });
2102
- const MemoizedChart = react_exports.memo(visualization_canvas_exports.TimeSeriesChart);
2103
- const scaleConfig = __spreadValues(__spreadValues(__spreadValues({}, xScaleConfig), yScaleConfig), y2ScaleConfig);
2104
- const memoizedChart = (0, react_exports.useMemo)(
2105
- () => /* @__PURE__ */ react_exports.createElement(
2106
- MemoizedChart,
2496
+ const chartingEventAnnotations = (0, react_exports.useMemo)(
2497
+ () => getAnnotationsForCanvas({
2498
+ annotationX,
2499
+ annotationColor,
2500
+ annotationLabel
2501
+ }),
2502
+ [annotationX, annotationColor, annotationLabel]
2503
+ );
2504
+ const scaleConfig = (0, react_exports.useMemo)(
2505
+ () => __spreadValues(__spreadValues(__spreadValues({}, xScaleConfig), yScaleConfig), y2ScaleConfig),
2506
+ [xScaleConfig, yScaleConfig, y2ScaleConfig]
2507
+ );
2508
+ const legend = (0, react_exports.useMemo)(
2509
+ () => getLegend({ legendDisplay, isSeriesCompare: legendMode === "seriesCompare" }),
2510
+ [legendDisplay, legendMode]
2511
+ );
2512
+ const handleChartClick = react_exports.useCallback(
2513
+ (event) => {
2514
+ if (onClick) {
2515
+ handleClick(event, onClick, trellisKey, trellisSplitBy);
2516
+ }
2517
+ },
2518
+ [onClick, trellisKey, trellisSplitBy]
2519
+ );
2520
+ const handleChartLegendClick = react_exports.useCallback(
2521
+ (event) => {
2522
+ if (onClick) {
2523
+ handleLegendClick(event, onClick, trellisKey, trellisSplitBy);
2524
+ }
2525
+ },
2526
+ [onClick, trellisKey, trellisSplitBy]
2527
+ );
2528
+ const handleChartRangeSelection = react_exports.useCallback(
2529
+ (range2) => {
2530
+ if (onSelect) {
2531
+ handleRangeSelection(range2, onSelect, chartData, trellisKey, trellisSplitBy);
2532
+ }
2533
+ },
2534
+ [onSelect, chartData, trellisKey, trellisSplitBy]
2535
+ );
2536
+ const handleChartRangeZoom = react_exports.useCallback(
2537
+ (range2) => {
2538
+ if (onSelect) {
2539
+ handleRangeZoom(range2, onSelect, chartData, trellisKey, trellisSplitBy);
2540
+ }
2541
+ },
2542
+ [onSelect, chartData, trellisKey, trellisSplitBy]
2543
+ );
2544
+ const xFieldToUse = xFieldFromProps || xField;
2545
+ const enableSearchZoom = react_exports.useMemo(
2546
+ () => shouldEnableSearchZoom(eventHandlers, xFieldToUse),
2547
+ [eventHandlers, xFieldToUse]
2548
+ );
2549
+ const lastPayloadRef = react_exports.useRef(null);
2550
+ const lastOriginalEventRef = react_exports.useRef(null);
2551
+ const previousMouseoverPayloadRef = react_exports.useRef(null);
2552
+ const additionalTooltipValuesRef = react_exports.useRef(additionalTooltipValues);
2553
+ react_exports.useEffect(() => {
2554
+ additionalTooltipValuesRef.current = additionalTooltipValues;
2555
+ }, [additionalTooltipValues]);
2556
+ const handleChartCrosshairChange = react_exports.useCallback(
2557
+ (event) => {
2558
+ if (onPointMouseOver || onPointMouseOut) {
2559
+ if (!event) {
2560
+ if (onPointMouseOut && lastPayloadRef.current) {
2561
+ onPointMouseOut({
2562
+ type: "point.mouseout",
2563
+ originalEvent: lastOriginalEventRef.current,
2564
+ payload: lastPayloadRef.current
2565
+ });
2566
+ }
2567
+ previousMouseoverPayloadRef.current = null;
2568
+ return;
2569
+ }
2570
+ const payload = __spreadProps(__spreadValues({}, (0, lodash_exports.pick)(event, "value", "seriesKey", "time", "index", "seriesIndex")), {
2571
+ name: event.seriesKey
2572
+ });
2573
+ delete payload.seriesKey;
2574
+ if (event.rowContext) {
2575
+ Object.assign(
2576
+ payload,
2577
+ Object.keys(event.rowContext).reduce((acc, fieldName) => {
2578
+ acc[`row.${fieldName}.value`] = event.rowContext[fieldName];
2579
+ return acc;
2580
+ }, {})
2581
+ );
2582
+ }
2583
+ const updatedPayload = appendTrellisToPayload(payload, trellisKey, trellisSplitBy);
2584
+ if (!hasMouseoverPayloadChanged(updatedPayload, previousMouseoverPayloadRef.current)) {
2585
+ return;
2586
+ }
2587
+ lastPayloadRef.current = updatedPayload;
2588
+ lastOriginalEventRef.current = event;
2589
+ previousMouseoverPayloadRef.current = __spreadValues({}, updatedPayload);
2590
+ if (onPointMouseOver) {
2591
+ onPointMouseOver({
2592
+ type: "point.mouseover",
2593
+ originalEvent: event,
2594
+ payload: updatedPayload
2595
+ });
2596
+ }
2597
+ }
2598
+ },
2599
+ [onPointMouseOver, onPointMouseOut, trellisKey, trellisSplitBy]
2600
+ );
2601
+ 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}`;
2602
+ const memoizedChart = (0, react_exports.useMemo)(() => {
2603
+ const computedOnRangeZoom = onSelect ? handleChartRangeZoom : void 0;
2604
+ return /* @__PURE__ */ react_exports.createElement(visualization_canvas_exports.RangeSelectionProvider, { key: dataKey }, /* @__PURE__ */ react_exports.createElement(
2605
+ visualization_canvas_exports.TimeSeriesChart,
2107
2606
  {
2108
2607
  data: chartData,
2109
2608
  width: containerWidth,
@@ -2111,49 +2610,113 @@ var TimeSeriesChartWrapper = (props) => {
2111
2610
  seriesColors,
2112
2611
  seriesColorsByField,
2113
2612
  seriesConfig: seriesOverrides,
2114
- legend: getLegend(props),
2613
+ legend,
2614
+ legendLabels,
2615
+ isSeriesCompare: legendMode === "seriesCompare",
2616
+ maxSeriesFocus: legendMode === "seriesCompare" ? 0 : void 0,
2115
2617
  scaleConfig,
2116
2618
  timestampFormat: "expanded",
2117
- onCrosshairClick: (event) => handleClick(event, props),
2118
- onSeriesClick: (event) => handleLegendClick(event, props),
2619
+ onCrosshairClick: onClick ? handleChartClick : void 0,
2620
+ onCrosshairChange: onPointMouseOver || onPointMouseOut ? handleChartCrosshairChange : void 0,
2621
+ onSeriesClick: onClick ? handleChartLegendClick : void 0,
2622
+ onRangeSelection: handleChartRangeSelection,
2623
+ onRangeZoom: computedOnRangeZoom,
2624
+ serverSideZoom: enableSearchZoom,
2119
2625
  userLocale,
2120
2626
  events: chartingEventAnnotations,
2121
- eventsConfig: { renderer: triangleEventAnnotationRenderer }
2627
+ eventsConfig: { renderer: triangleEventAnnotationRenderer },
2628
+ additionalTooltipValuesRef,
2629
+ showXMajorGridLines,
2630
+ showYMajorGridLines,
2631
+ showY2MajorGridLines,
2632
+ showYMinorGridLines,
2633
+ showY2MinorGridLines,
2634
+ showLineSmoothing,
2635
+ dataValuesDisplay,
2636
+ showYMajorTicks,
2637
+ showY2MajorTicks,
2638
+ yAxisMajorTickSize: yAxisMajorTickSizeNum,
2639
+ y2AxisMajorTickSize: y2AxisMajorTickSizeNum,
2640
+ yAxisMajorTickInterval: yAxisMajorTickIntervalNum,
2641
+ y2AxisMajorTickInterval: y2AxisMajorTickIntervalNum,
2642
+ showYMinorTicks,
2643
+ showY2MinorTicks,
2644
+ yAxisMinorTickSize: yAxisMinorTickSizeNum,
2645
+ y2AxisMinorTickSize: y2AxisMinorTickSizeNum,
2646
+ showYAxisWithZero,
2647
+ showY2AxisWithZero
2122
2648
  }
2123
- ),
2124
- [
2125
- MemoizedChart,
2126
- chartData,
2127
- containerWidth,
2128
- containerHeight,
2129
- seriesColors,
2130
- seriesColorsByField,
2131
- seriesOverrides,
2132
- lineWidth,
2133
- props,
2134
- scaleConfig,
2135
- userLocale,
2136
- chartingEventAnnotations
2137
- ]
2138
- );
2649
+ ));
2650
+ }, [
2651
+ onSelect,
2652
+ handleChartRangeZoom,
2653
+ dataKey,
2654
+ chartData,
2655
+ containerWidth,
2656
+ containerHeight,
2657
+ seriesColors,
2658
+ seriesColorsByField,
2659
+ seriesOverrides,
2660
+ legend,
2661
+ legendLabels,
2662
+ scaleConfig,
2663
+ onClick,
2664
+ handleChartClick,
2665
+ onPointMouseOver,
2666
+ onPointMouseOut,
2667
+ handleChartCrosshairChange,
2668
+ handleChartLegendClick,
2669
+ handleChartRangeSelection,
2670
+ enableSearchZoom,
2671
+ userLocale,
2672
+ chartingEventAnnotations,
2673
+ showXMajorGridLines,
2674
+ showYMajorGridLines,
2675
+ showY2MajorGridLines,
2676
+ showYMinorGridLines,
2677
+ showY2MinorGridLines,
2678
+ showLineSmoothing,
2679
+ dataValuesDisplay,
2680
+ showYMajorTicks,
2681
+ showY2MajorTicks,
2682
+ yAxisMajorTickSizeNum,
2683
+ y2AxisMajorTickSizeNum,
2684
+ yAxisMajorTickIntervalNum,
2685
+ y2AxisMajorTickIntervalNum,
2686
+ showYMinorTicks,
2687
+ showY2MinorTicks,
2688
+ yAxisMinorTickSizeNum,
2689
+ y2AxisMinorTickSizeNum,
2690
+ showYAxisWithZero,
2691
+ showY2AxisWithZero,
2692
+ legendMode
2693
+ ]);
2139
2694
  const memoizedVisualization = (0, react_exports.useMemo)(() => {
2140
- return /* @__PURE__ */ react_exports.createElement(VizStyleWrapper_default, { backgroundColor }, memoizedChart);
2141
- }, [backgroundColor]);
2142
- return /* @__PURE__ */ react_exports.createElement(
2695
+ return /* @__PURE__ */ react_exports.createElement(VizStyleWrapper_default, { backgroundColor: bgColor }, memoizedChart);
2696
+ }, [bgColor, memoizedChart]);
2697
+ return /* @__PURE__ */ react_exports.createElement(react_exports.Fragment, null, trellisEnabled && /* @__PURE__ */ react_exports.createElement(
2698
+ TrellisTitle,
2699
+ {
2700
+ trellisKey,
2701
+ backgroundColor: bgColor,
2702
+ fontColor: defaultFontColor
2703
+ }
2704
+ ), /* @__PURE__ */ react_exports.createElement(
2143
2705
  TimeSeriesChartContainer,
2144
2706
  {
2145
- height,
2707
+ height: trellisEnabled ? Number(height) - TRELLIS_TITLE_HEIGHT : height,
2146
2708
  width,
2147
2709
  ref: uplotContainerElement,
2148
2710
  "data-test": "timeseries-chart-wrapper"
2149
2711
  },
2150
2712
  /* @__PURE__ */ react_exports.createElement(SizeAwareWrapper_default, { width, height, onResize: cachedHandleResize }),
2151
2713
  memoizedVisualization
2152
- );
2714
+ ));
2153
2715
  };
2154
2716
  var TimeSeriesChartWrapper_default = TimeSeriesChartWrapper;
2155
2717
 
2156
2718
  // src/common/withDashboardViz.tsx
2719
+ var SanitizedTimeSeriesChartWrapper = (0, SanitizeProps_exports.withSanitizedProps)(TimeSeriesChartWrapper_default);
2157
2720
  var withDashboardViz = (opts) => {
2158
2721
  const {
2159
2722
  ReactViz,
@@ -2162,6 +2725,7 @@ var withDashboardViz = (opts) => {
2162
2725
  },
2163
2726
  computeVizPropsBeforeEval = () => {
2164
2727
  },
2728
+ computeDataFrames,
2165
2729
  disableEditModeCover,
2166
2730
  useIconPlaceholder
2167
2731
  } = opts;
@@ -2290,11 +2854,19 @@ var withDashboardViz = (opts) => {
2290
2854
  );
2291
2855
  setDataFramesInState(dataFrames);
2292
2856
  }
2857
+ let mergedFrames = dataFrames;
2858
+ if (computeDataFrames && dataFrames) {
2859
+ const derivedFrames = computeDataFrames({
2860
+ dataSources: downsampledDataSources,
2861
+ options: optionsToEvaluate.options
2862
+ });
2863
+ mergedFrames = __spreadValues(__spreadValues({}, dataFrames), derivedFrames);
2864
+ }
2293
2865
  const result = Options_exports.Options.evaluate(
2294
2866
  optionsToEvaluate,
2295
2867
  downsampledDataSources,
2296
2868
  themeFunc,
2297
- dataFrames,
2869
+ mergedFrames,
2298
2870
  getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
2299
2871
  );
2300
2872
  return result;
@@ -2382,7 +2954,7 @@ var withDashboardViz = (opts) => {
2382
2954
  });
2383
2955
  }
2384
2956
  eventCallbackProps[eventCallbackPropName] = (ev) => {
2385
- if (ev && ev.payload) {
2957
+ if (ev == null ? void 0 : ev.payload) {
2386
2958
  payload = __spreadValues({}, ev.payload);
2387
2959
  }
2388
2960
  return onEventTrigger({
@@ -2406,10 +2978,7 @@ var withDashboardViz = (opts) => {
2406
2978
  if (useAsyncEvaluatedOptions && Object.keys(evaluatedOptionsToUse).length === 0) {
2407
2979
  return null;
2408
2980
  }
2409
- let SanitizedViz = SanitizedReactViz;
2410
- if (isAcceleratedRenderOn) {
2411
- SanitizedViz = (0, SanitizeProps_exports.withSanitizedProps)(TimeSeriesChartWrapper_default);
2412
- }
2981
+ const SanitizedViz = isAcceleratedRenderOn ? SanitizedTimeSeriesChartWrapper : SanitizedReactViz;
2413
2982
  return /* @__PURE__ */ react_exports.createElement(
2414
2983
  SanitizedViz,
2415
2984
  __spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadProps(__spreadValues({}, SplunkVisualization_default.defaults), {
@@ -2643,6 +3212,19 @@ var getColumnFormatSparklineColor = (columnFormat, currentColumn, currentRow) =>
2643
3212
  var getColumnFormatSparklineAreaColor = (columnFormat, currentColumn, currentRow) => {
2644
3213
  return getColumnFormatColor(columnFormat, currentColumn, currentRow, "sparklineAreaColors");
2645
3214
  };
3215
+ var validSparklineNullValueDisplayOptions = ["gaps", "zero", "connect"];
3216
+ var getColumnFormatSparklineNullValueDisplay = (columnFormat, currentColumn) => {
3217
+ const nullValueDisplay = getAttributeFromColumnFormat(
3218
+ "sparklineNullValueDisplay",
3219
+ columnFormat,
3220
+ currentColumn.columnId,
3221
+ currentColumn.value
3222
+ );
3223
+ if (typeof nullValueDisplay === "string" && validSparklineNullValueDisplayOptions.includes(nullValueDisplay)) {
3224
+ return nullValueDisplay;
3225
+ }
3226
+ return void 0;
3227
+ };
2646
3228
  var getColumnFormatHeaderAlign = (columnFormat, columnId, columnValue) => {
2647
3229
  let headerAlign;
2648
3230
  const alignOption = getAttributeFromColumnFormat("headerAlign", columnFormat, columnId, columnValue);
@@ -2732,6 +3314,13 @@ var getTableFormatSparklineColor = (tableFormat, currentCol, currentRow) => {
2732
3314
  var getTableFormatSparklineAreaColor = (tableFormat, currentCol, currentRow) => {
2733
3315
  return getTableFormatColor(tableFormat, currentCol, currentRow, "sparklineAreaColors");
2734
3316
  };
3317
+ var getTableFormatSparklineNullValueDisplay = (tableFormat) => {
3318
+ const nullValueDisplay = (0, lodash_exports.get)(tableFormat, "sparklineNullValueDisplay");
3319
+ if (typeof nullValueDisplay === "string" && validSparklineNullValueDisplayOptions.includes(nullValueDisplay)) {
3320
+ return nullValueDisplay;
3321
+ }
3322
+ return void 0;
3323
+ };
2735
3324
  var getTableFormatData = (tableFormat, currentCol, currentRow) => {
2736
3325
  const data = (0, lodash_exports.get)(tableFormat, "data");
2737
3326
  let datum;
@@ -2781,7 +3370,9 @@ var useTable = (tableArgs = {}) => {
2781
3370
  tableFormat = {},
2782
3371
  columnFormat = {},
2783
3372
  paginationOffset = 0,
2784
- count = 0
3373
+ count = 0,
3374
+ showFooterTotals = false,
3375
+ showFooterPercentages = false
2785
3376
  } = tableArgs;
2786
3377
  const longestColumnLength = Math.max(...table.map((column) => column.length));
2787
3378
  if (showRowNumbers) {
@@ -2895,13 +3486,9 @@ var useTable = (tableArgs = {}) => {
2895
3486
  const sparklineColor = getColumnFormatSparklineColor(cfmt, currentHeader, r) || getTableFormatSparklineColor(tfmt, i, r) || void 0;
2896
3487
  const sparklineAreaColor = getColumnFormatSparklineAreaColor(cfmt, currentHeader, r) || getTableFormatSparklineAreaColor(tfmt, i, r) || void 0;
2897
3488
  const sparklineType = getColumnFormatSparklineType(cfmt, currentHeader, r) || getTableFormatSparklineType(tfmt, i, r) || "area";
3489
+ const sparklineNullValueDisplay = getColumnFormatSparklineNullValueDisplay(cfmt, currentHeader) || getTableFormatSparklineNullValueDisplay(tfmt) || "gaps";
2898
3490
  const key = generateKey(value, `${r}-${i}`);
2899
- const textOverflowType = getTextOverflowType(
2900
- cfmt,
2901
- cids[i],
2902
- tfmt,
2903
- currentHeader.value
2904
- );
3491
+ const textOverflowType = getTextOverflowType(cfmt, cids[i], tfmt, currentHeader.value);
2905
3492
  const textOverflowStyle = getOverflowStyles({
2906
3493
  textOverflow: textOverflowType
2907
3494
  });
@@ -2917,6 +3504,7 @@ var useTable = (tableArgs = {}) => {
2917
3504
  sparklineColor,
2918
3505
  sparklineAreaColor,
2919
3506
  sparklineType,
3507
+ sparklineNullValueDisplay,
2920
3508
  header: currentHeader.value,
2921
3509
  style: __spreadValues({
2922
3510
  backgroundColor: rowBackgroundColor,
@@ -2938,65 +3526,53 @@ var useTable = (tableArgs = {}) => {
2938
3526
  showInternalFields,
2939
3527
  longestColumnLength
2940
3528
  });
2941
- const {
2942
- footers,
2943
- showFooterTotals = false,
2944
- showFooterPercentages = false
2945
- } = tableArgs;
2946
3529
  const resolveByField = (fieldId, displayName, map) => {
2947
3530
  if (!map) return void 0;
2948
- if (Object.prototype.hasOwnProperty.call(map, fieldId)) return map[fieldId];
2949
- if (Object.prototype.hasOwnProperty.call(map, displayName)) return map[displayName];
3531
+ if (Object.hasOwn(map, fieldId)) return map[fieldId];
3532
+ if (Object.hasOwn(map, displayName)) return map[displayName];
2950
3533
  return void 0;
2951
3534
  };
2952
3535
  const computeDerivedAlign = (colMeta, colIdx, alignOverrides) => {
2953
3536
  const fieldId = colMeta.columnId;
2954
3537
  const label = colMeta.value;
2955
3538
  const alignOverride = resolveByField(fieldId, label, alignOverrides);
2956
- return alignOverride || getColumnFormatAlign(
2957
- columnFormat,
2958
- colMeta,
2959
- Math.max(0, longestColumnLength - 1)
2960
- ) || getTableFormatAlign(tableFormat, colIdx, Math.max(0, longestColumnLength - 1)) || "right";
3539
+ return alignOverride || getColumnFormatAlign(columnFormat, colMeta, Math.max(0, longestColumnLength - 1)) || getTableFormatAlign(tableFormat, colIdx, Math.max(0, longestColumnLength - 1)) || "right";
2961
3540
  };
2962
- const buildFooterRow = (key, valuesByField, styleExtras, rowIndexBase) => {
3541
+ const buildFooterRow = (key, styleExtras, rowIndexBase) => {
2963
3542
  const idx = rowIndexBase + tableFooter.rows.length;
2964
3543
  const row = { key, index: idx, cells: [] };
2965
3544
  tableHeader.cells.forEach((colMeta, colIdx) => {
2966
- var _a, _b, _c;
3545
+ var _a, _b, _c, _d, _e, _f, _g, _h;
2967
3546
  const fieldId = colMeta.columnId;
2968
3547
  const label = colMeta.value;
2969
- const val = resolveByField(fieldId, label, valuesByField);
2970
- const derivedAlign = computeDerivedAlign(colMeta, colIdx, footers == null ? void 0 : footers.alignByField);
2971
- const displayValue = typeof val === "undefined" ? "" : val;
3548
+ const columnFooterRaw = (_c = (_a = columnFormat == null ? void 0 : columnFormat[fieldId]) == null ? void 0 : _a.footer) != null ? _c : (_b = columnFormat == null ? void 0 : columnFormat[label]) == null ? void 0 : _b.footer;
3549
+ let displayValue = "";
3550
+ if (Array.isArray(columnFooterRaw)) {
3551
+ displayValue = key === "footer-percentages" ? (_d = columnFooterRaw[1]) != null ? _d : "" : (_e = columnFooterRaw[0]) != null ? _e : "";
3552
+ } else if (typeof columnFooterRaw !== "undefined") {
3553
+ displayValue = key === "footer-percentages" ? "" : columnFooterRaw;
3554
+ } else {
3555
+ displayValue = "";
3556
+ }
3557
+ const derivedAlign = computeDerivedAlign(colMeta, colIdx, void 0);
2972
3558
  row.cells.push({
2973
3559
  key: `${key}-${colIdx}`,
2974
3560
  value: displayValue,
2975
3561
  align: derivedAlign,
2976
3562
  style: __spreadValues(__spreadValues({
2977
- backgroundColor: ((_a = tableHeader.style) == null ? void 0 : _a.backgroundColor) || ((_b = tableHeader.style) == null ? void 0 : _b.color),
2978
- color: (_c = tableHeader.style) == null ? void 0 : _c.color
3563
+ backgroundColor: ((_f = tableHeader.style) == null ? void 0 : _f.backgroundColor) || ((_g = tableHeader.style) == null ? void 0 : _g.color),
3564
+ color: (_h = tableHeader.style) == null ? void 0 : _h.color
2979
3565
  }, styleExtras.bold ? { fontWeight: 600 } : {}), typeof styleExtras.opacity === "number" ? { opacity: styleExtras.opacity } : {})
2980
3566
  });
2981
3567
  });
2982
3568
  return row;
2983
3569
  };
2984
- if (footers && showFooterTotals) {
2985
- const totalsRow = buildFooterRow(
2986
- "footer-totals",
2987
- footers == null ? void 0 : footers.totalsByField,
2988
- { bold: true },
2989
- tableBody.rows.length
2990
- );
3570
+ if (showFooterTotals) {
3571
+ const totalsRow = buildFooterRow("footer-totals", { bold: true }, tableBody.rows.length);
2991
3572
  tableFooter.rows.push(totalsRow);
2992
3573
  }
2993
- if (footers && showFooterPercentages) {
2994
- const percentagesRow = buildFooterRow(
2995
- "footer-percentages",
2996
- footers == null ? void 0 : footers.percentagesByField,
2997
- {},
2998
- tableBody.rows.length
2999
- );
3574
+ if (showFooterPercentages) {
3575
+ const percentagesRow = buildFooterRow("footer-percentages", {}, tableBody.rows.length);
3000
3576
  tableFooter.rows.push(percentagesRow);
3001
3577
  }
3002
3578
  return {
@@ -3099,6 +3675,8 @@ var StyledSvg = styled_components_default.svg`
3099
3675
  var StyledTooltip = styled_components_default.div`
3100
3676
  padding: 3px 8px;
3101
3677
  font-size: 12px;
3678
+ text-align: center;
3679
+ min-width: 20px;
3102
3680
  `;
3103
3681
  var preventDefault = (e) => e.preventDefault();
3104
3682
  var _SparkLine = class _SparkLine extends react_exports.Component {
@@ -3129,7 +3707,7 @@ var _SparkLine = class _SparkLine extends react_exports.Component {
3129
3707
  const { pointIndex: pointIndexStr } = target.dataset || {};
3130
3708
  const { activeIndex, componentIsFocused, hoveredIndex } = this.state;
3131
3709
  if (pointIndexStr !== void 0) {
3132
- const pointIndex = parseInt(pointIndexStr, 10);
3710
+ const pointIndex = Number.parseInt(pointIndexStr, 10);
3133
3711
  if (activeIndex !== pointIndex || !componentIsFocused || hoveredIndex !== null) {
3134
3712
  this.setState({
3135
3713
  activeIndex: pointIndex,
@@ -3158,7 +3736,7 @@ var _SparkLine = class _SparkLine extends react_exports.Component {
3158
3736
  if (!allowedKeys.includes(event.key)) {
3159
3737
  return;
3160
3738
  }
3161
- let newIndex = activeIndex;
3739
+ let newIndex;
3162
3740
  switch (event.key) {
3163
3741
  case "Home":
3164
3742
  newIndex = 0;
@@ -3185,7 +3763,7 @@ var _SparkLine = class _SparkLine extends react_exports.Component {
3185
3763
  handleMouseOver(event) {
3186
3764
  const pointIndexStr = event.target.dataset && event.target.dataset.pointIndex;
3187
3765
  if (pointIndexStr !== void 0) {
3188
- const pointIndex = parseInt(pointIndexStr, 10);
3766
+ const pointIndex = Number.parseInt(pointIndexStr, 10);
3189
3767
  if (this.state.hoveredIndex !== pointIndex) {
3190
3768
  this.setState({ hoveredIndex: pointIndex });
3191
3769
  }
@@ -3199,12 +3777,12 @@ var _SparkLine = class _SparkLine extends react_exports.Component {
3199
3777
  getMax() {
3200
3778
  const { data, acceptNull, yMax } = this.props;
3201
3779
  const dataMax = () => acceptNull ? (0, lodash_exports.max)(this.fillNull()) : (0, lodash_exports.max)(data);
3202
- return yMax !== void 0 ? yMax : dataMax();
3780
+ return yMax === void 0 ? dataMax() : yMax;
3203
3781
  }
3204
3782
  getMin() {
3205
3783
  const { data, acceptNull, yMin } = this.props;
3206
3784
  const dataMin = () => acceptNull ? (0, lodash_exports.min)(this.fillNull()) : (0, lodash_exports.min)(data);
3207
- return yMin !== void 0 ? yMin : dataMin();
3785
+ return yMin === void 0 ? dataMin() : yMin;
3208
3786
  }
3209
3787
  /**
3210
3788
  * Gets unit value of x axis.
@@ -3235,26 +3813,31 @@ var _SparkLine = class _SparkLine extends react_exports.Component {
3235
3813
  * @method getSegmentSets
3236
3814
  * @param {Array} data
3237
3815
  * @param {Array} points
3238
- * @returns {Array} List of datapoint sets used for drawing lines
3816
+ * @returns {Object} Object containing lines (arrays of points for polylines) and isolatedPoints (single points surrounded by nulls)
3239
3817
  */
3240
3818
  getSegmentSets(data, points) {
3241
3819
  const { acceptNull } = this.props;
3242
3820
  const lines = [];
3821
+ const isolatedPoints = [];
3243
3822
  let currentLine = [];
3244
- data.forEach((p, idx) => {
3823
+ for (const [idx, p] of data.entries()) {
3245
3824
  if (!acceptNull && (0, lodash_exports.isNull)(p)) {
3246
3825
  if (currentLine.length > 1) {
3247
3826
  lines.push(currentLine);
3827
+ } else if (currentLine.length === 1) {
3828
+ isolatedPoints.push(currentLine[0]);
3248
3829
  }
3249
3830
  currentLine = [];
3250
3831
  } else {
3251
3832
  currentLine.push(points[idx]);
3252
3833
  }
3253
- });
3834
+ }
3254
3835
  if (currentLine.length > 1) {
3255
3836
  lines.push(currentLine);
3837
+ } else if (currentLine.length === 1) {
3838
+ isolatedPoints.push(currentLine[0]);
3256
3839
  }
3257
- return lines;
3840
+ return { lines, isolatedPoints };
3258
3841
  }
3259
3842
  /**
3260
3843
  * Utility for fill null value with number 0.
@@ -3298,7 +3881,7 @@ var _SparkLine = class _SparkLine extends react_exports.Component {
3298
3881
  "rect",
3299
3882
  {
3300
3883
  key: `${i}_${p[0]}`,
3301
- role: "img",
3884
+ role: "graphics-symbol",
3302
3885
  "aria-label": `Value: ${data[i] === null ? "N/A" : data[i]}, point ${i + 1} of ${data.length}`,
3303
3886
  "data-test": `rect-${i}`,
3304
3887
  "data-point-index": i,
@@ -3306,7 +3889,7 @@ var _SparkLine = class _SparkLine extends react_exports.Component {
3306
3889
  ref: (el) => {
3307
3890
  this.pointRefs[i] = el;
3308
3891
  },
3309
- x: p[0] - xUnit / 2 <= 0 ? 0 : p[0] - xUnit / 2,
3892
+ x: Math.max(0, p[0] - xUnit / 2),
3310
3893
  y: 0,
3311
3894
  width: i === 0 && data.length !== 1 ? xUnit / 2 : xUnit,
3312
3895
  height,
@@ -3322,10 +3905,10 @@ var _SparkLine = class _SparkLine extends react_exports.Component {
3322
3905
  if (!isArea || points.length === 0) {
3323
3906
  return null;
3324
3907
  }
3325
- let segments = this.getSegmentSets(data, points);
3326
- segments = segments.map(
3908
+ const { lines } = this.getSegmentSets(data, points);
3909
+ const segments = lines.map(
3327
3910
  (s) => s.concat([
3328
- [s[s.length - 1][0], height],
3911
+ [s.at(-1)[0], height],
3329
3912
  // down to bottom of graph
3330
3913
  [s[0][0], height],
3331
3914
  // over to below first data point
@@ -3369,6 +3952,7 @@ var _SparkLine = class _SparkLine extends react_exports.Component {
3369
3952
  }
3370
3953
  renderTooltip(tooltipValue, isOpen) {
3371
3954
  const { anchor } = this.state;
3955
+ const displayValue = tooltipValue === null ? "-" : tooltipValue;
3372
3956
  return /* @__PURE__ */ react_default.createElement(
3373
3957
  Popover_default,
3374
3958
  {
@@ -3380,7 +3964,7 @@ var _SparkLine = class _SparkLine extends react_exports.Component {
3380
3964
  defaultPlacement: "above",
3381
3965
  animation: false
3382
3966
  },
3383
- /* @__PURE__ */ react_default.createElement(StyledTooltip, null, tooltipValue)
3967
+ /* @__PURE__ */ react_default.createElement(StyledTooltip, null, displayValue)
3384
3968
  );
3385
3969
  }
3386
3970
  /**
@@ -3410,16 +3994,46 @@ var _SparkLine = class _SparkLine extends react_exports.Component {
3410
3994
  }
3411
3995
  )));
3412
3996
  }
3997
+ /**
3998
+ * Renders circles for isolated points (single data points surrounded by nulls)
3999
+ * These would otherwise be invisible since a line requires at least 2 points
4000
+ * @method renderIsolatedPoints
4001
+ * @param {Array} isolatedPoints - Array of [x, y] coordinates for isolated points
4002
+ * @returns {Object} SVG Group of circles
4003
+ */
4004
+ renderIsolatedPoints(isolatedPoints) {
4005
+ const { lineColor, lineStrokeWidth } = this.props;
4006
+ if (!isolatedPoints || isolatedPoints.length === 0) {
4007
+ return null;
4008
+ }
4009
+ const radius = lineStrokeWidth + 0.5;
4010
+ return /* @__PURE__ */ react_default.createElement("g", { "data-test": "isolated-points" }, isolatedPoints.map((point) => /* @__PURE__ */ react_default.createElement(
4011
+ "circle",
4012
+ {
4013
+ key: `isolated-${point[0]}-${point[1]}`,
4014
+ "data-test": "isolated-point",
4015
+ cx: point[0],
4016
+ cy: point[1],
4017
+ r: radius,
4018
+ style: {
4019
+ fill: lineColor
4020
+ }
4021
+ }
4022
+ )));
4023
+ }
3413
4024
  /**
3414
4025
  * Renders the line(s) above the area graph
3415
4026
  * @method renderPolyline
3416
4027
  * @param {Array} points
3417
- * @returns {Object} SVG Group of polylines
4028
+ * @returns {Object} SVG Group of polylines and isolated points
3418
4029
  */
3419
4030
  renderPolyline(points) {
3420
4031
  const { data, lineColor, lineLength, lineStrokeWidth } = this.props;
3421
4032
  const linePoints = (0, lodash_exports.isFinite)(lineLength) && lineLength > 0 ? lineLength : points.length;
3422
- const lines = this.getSegmentSets(data.slice(-linePoints), points.slice(-linePoints));
4033
+ const { lines, isolatedPoints } = this.getSegmentSets(
4034
+ data.slice(-linePoints),
4035
+ points.slice(-linePoints)
4036
+ );
3423
4037
  return /* @__PURE__ */ react_default.createElement("g", { "data-test": "sparkline" }, lines.map((lineData) => /* @__PURE__ */ react_default.createElement(
3424
4038
  "polyline",
3425
4039
  {
@@ -3434,7 +4048,54 @@ var _SparkLine = class _SparkLine extends react_exports.Component {
3434
4048
  },
3435
4049
  points: lineData.join(" ")
3436
4050
  }
3437
- )));
4051
+ )), this.renderIsolatedPoints(isolatedPoints));
4052
+ }
4053
+ getInteractionState({ data, points, showTooltip, activeIndex, hoveredIndex, componentIsFocused }) {
4054
+ if (!showTooltip) {
4055
+ return {
4056
+ currentPointX: null,
4057
+ tooltipValue: null,
4058
+ showCursorAndTooltip: false,
4059
+ interactiveProps: {}
4060
+ };
4061
+ }
4062
+ const interactiveProps = {
4063
+ onKeyDown: this.handleKeyDown,
4064
+ onMouseOver: this.handleMouseOver,
4065
+ onMouseLeave: this.handleMouseLeave,
4066
+ onFocus: this.handleFocus,
4067
+ onBlur: this.handleBlur
4068
+ };
4069
+ const isHovered = hoveredIndex !== null;
4070
+ const shouldDisplayInteractiveElements = (isHovered || componentIsFocused) && data.length > 0;
4071
+ if (!shouldDisplayInteractiveElements) {
4072
+ return {
4073
+ currentPointX: null,
4074
+ tooltipValue: null,
4075
+ showCursorAndTooltip: false,
4076
+ interactiveProps
4077
+ };
4078
+ }
4079
+ const displayIndex = isHovered ? hoveredIndex : activeIndex;
4080
+ const isValidIndex = displayIndex !== null && displayIndex >= 0;
4081
+ const withinBounds = isValidIndex && displayIndex < data.length && displayIndex < points.length;
4082
+ if (!withinBounds) {
4083
+ return {
4084
+ currentPointX: null,
4085
+ tooltipValue: null,
4086
+ showCursorAndTooltip: false,
4087
+ interactiveProps
4088
+ };
4089
+ }
4090
+ const displayPointCoords = points[displayIndex];
4091
+ const currentPointX = displayPointCoords ? displayPointCoords[0] : null;
4092
+ const tooltipValue = data[displayIndex];
4093
+ return {
4094
+ currentPointX,
4095
+ tooltipValue,
4096
+ showCursorAndTooltip: currentPointX !== null,
4097
+ interactiveProps
4098
+ };
3438
4099
  }
3439
4100
  render() {
3440
4101
  const {
@@ -3462,39 +4123,20 @@ var _SparkLine = class _SparkLine extends react_exports.Component {
3462
4123
  const yMargin = Math.max(lineStrokeWidth / 2, endDotRadius + endDotStrokeWidth / 2);
3463
4124
  const points = this.dataToPoints(xMargin, yMargin);
3464
4125
  const dotsToShow = Math.max(showEndDot && 1, (0, lodash_exports.isFinite)(endDotCount) && endDotCount > 0 && endDotCount);
3465
- let currentPointX = null;
3466
- let tooltipValue = null;
3467
- let showCursorAndTooltip = false;
3468
- let interactiveProps = {};
3469
- if (showTooltip) {
3470
- const isHovered = hoveredIndex !== null;
3471
- const shouldDisplayInteractiveElements = (isHovered || componentIsFocused) && data.length > 0;
3472
- if (shouldDisplayInteractiveElements) {
3473
- const displayIndex = isHovered ? hoveredIndex : activeIndex;
3474
- if (displayIndex !== null && displayIndex >= 0 && data.length > displayIndex && points.length > displayIndex) {
3475
- const displayPointCoords = points[displayIndex];
3476
- if (displayPointCoords) {
3477
- [currentPointX] = displayPointCoords;
3478
- }
3479
- tooltipValue = data[displayIndex];
3480
- showCursorAndTooltip = currentPointX !== null;
3481
- }
3482
- }
3483
- interactiveProps = {
3484
- onKeyDown: this.handleKeyDown,
3485
- onMouseOver: this.handleMouseOver,
3486
- onMouseLeave: this.handleMouseLeave,
3487
- onFocus: this.handleFocus,
3488
- onBlur: this.handleBlur
3489
- };
3490
- }
4126
+ const { currentPointX, tooltipValue, showCursorAndTooltip, interactiveProps } = this.getInteractionState({
4127
+ data,
4128
+ points,
4129
+ showTooltip,
4130
+ activeIndex,
4131
+ hoveredIndex,
4132
+ componentIsFocused
4133
+ });
3491
4134
  const ariaLabel = title || (0, i18n_exports._)("Source count over time sparkline trend");
3492
4135
  return /* @__PURE__ */ react_default.createElement(
3493
4136
  "div",
3494
4137
  __spreadValues(__spreadValues({
3495
4138
  "data-test": "line",
3496
4139
  "data-test-type": isArea ? "area" : "line",
3497
- role: "group",
3498
4140
  ref: (el) => {
3499
4141
  this.containerRef.current = el;
3500
4142
  if (typeof elementRef === "function") {
@@ -3616,7 +4258,24 @@ var SparkLine_default = SparkLine;
3616
4258
  // src/Table/cells/SparklineCell.tsx
3617
4259
  var paddingLeftRight = 5;
3618
4260
  var paddingTopBottom = 3;
3619
- var parseSparklineData = (data) => (Array.isArray(data) ? data : [data]).map((d) => Number(d.toString())).map((d) => isNaN(d) ? null : d);
4261
+ var parseSparklineData = (data) => (Array.isArray(data) ? data : [data]).map((d) => {
4262
+ var _a;
4263
+ const str = (_a = d == null ? void 0 : d.toString()) != null ? _a : "";
4264
+ if (str.trim() === "") {
4265
+ return null;
4266
+ }
4267
+ const num = Number(str);
4268
+ return Number.isNaN(num) ? null : num;
4269
+ });
4270
+ var processDataForNullDisplay = (data, nullValueDisplay) => {
4271
+ if (nullValueDisplay === "connect") {
4272
+ return data.filter((d) => d !== null);
4273
+ }
4274
+ return data;
4275
+ };
4276
+ var getAcceptNull = (nullValueDisplay) => {
4277
+ return nullValueDisplay === "zero";
4278
+ };
3620
4279
  var noop6 = () => void 0;
3621
4280
  var svgStyle = { height: 0 };
3622
4281
  var dummySVG = /* @__PURE__ */ react_exports.createElement("svg", { style: svgStyle });
@@ -3627,10 +4286,15 @@ var SparklineCell = ({
3627
4286
  }) => {
3628
4287
  const [cellEl, setEl] = react_exports.useState();
3629
4288
  const [height, setHeight] = react_exports.useState();
3630
- let data = react_exports.useMemo(() => parseSparklineData(cell.value), [cell.value]);
4289
+ const nullValueDisplay = cell.sparklineNullValueDisplay || "gaps";
4290
+ let data = react_exports.useMemo(() => {
4291
+ const parsed = parseSparklineData(cell.value);
4292
+ return processDataForNullDisplay(parsed, nullValueDisplay);
4293
+ }, [cell.value, nullValueDisplay]);
3631
4294
  if (cell.value[0] === "##__SPARKLINE__##") {
3632
4295
  data = data.slice(1);
3633
4296
  }
4297
+ const acceptNull = getAcceptNull(nullValueDisplay);
3634
4298
  react_exports.useLayoutEffect(() => {
3635
4299
  setHeight((cellEl == null ? void 0 : cellEl.offsetHeight) || 20);
3636
4300
  }, [cellEl]);
@@ -3673,7 +4337,7 @@ var SparklineCell = ({
3673
4337
  width: (cellEl == null ? void 0 : cellEl.offsetWidth) - paddingLeftRight * 2,
3674
4338
  height: height - paddingTopBottom * 2,
3675
4339
  isArea: cell.sparklineType === "area",
3676
- acceptNull: true,
4340
+ acceptNull,
3677
4341
  lineColor: cell.sparklineColor,
3678
4342
  fillColor: cell.sparklineAreaColor
3679
4343
  }
@@ -3682,9 +4346,13 @@ var SparklineCell = ({
3682
4346
  };
3683
4347
  SparklineCell.displayName = "SparklineCell";
3684
4348
 
4349
+ // src/common/utils/textUtils.ts
4350
+ var VIZ_FONT_FAMILY = "'Splunk Platform Sans', 'Splunk Data Sans', Roboto, Droid, 'Helvetica Neue', Helvetica, Arial, sans-serif";
4351
+
3685
4352
  // src/Table/PureTable.tsx
3686
4353
  var MINIMUM_COLUMN_SIZE = 60;
3687
4354
  var INITIAL_UNSET_COLUMN_WIDTH = 90;
4355
+ var COMPACT_PAGINATOR_WIDTH_THRESHOLD = 350;
3688
4356
  var NonVisibleTableHead = styled_components_default(Table_default.Head)`
3689
4357
  pointer-events: none;
3690
4358
  & [data-test='head-cell'] > div {
@@ -3730,11 +4398,6 @@ var VizTableContainer = styled_components_default.div`
3730
4398
  overflow: hidden !important;
3731
4399
  height: 100%;
3732
4400
 
3733
- td,
3734
- * > td:hover {
3735
- color: ${({ isCellClickable }) => isCellClickable ? variables_default.linkColor : variables_default.textColor};
3736
- }
3737
-
3738
4401
  /* footer totals row styling */
3739
4402
  tr[data-test='footer-row-totals'] td[data-test='cell'] {
3740
4403
  color: ${variables_default.contentColorActive} !important;
@@ -3776,7 +4439,6 @@ var SUITableContainer = styled_components_default.div`
3776
4439
  margin-bottom: ${PAGINATOR_SPACING}px;
3777
4440
  `};
3778
4441
 
3779
- /* TODO: Replace unsupported hacky style overrides */
3780
4442
  ${({ headerStyle }) => headerStyle && headerStyle.backgroundColor && styled_components_exports.css`
3781
4443
  & [data-test='head-cell'] {
3782
4444
  background-color: ${headerStyle.backgroundColor};
@@ -3838,8 +4500,6 @@ var withEmptyTableMessage = (Viz) => {
3838
4500
  showRowNumbers,
3839
4501
  showInternalFields,
3840
4502
  headersMetadata,
3841
- // plumb down named-map footers and toggles if present on props
3842
- footers: props.footers,
3843
4503
  showFooterTotals: props.showFooterTotals,
3844
4504
  showFooterPercentages: props.showFooterPercentages,
3845
4505
  tableFormat: __spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues({}, tableFormat), (tableFormat == null ? void 0 : tableFormat.headerAlign) && {
@@ -3880,7 +4540,7 @@ var HeadCell = (_a) => {
3880
4540
  return /* @__PURE__ */ react_exports.createElement(TableHeadCell, __spreadValues({ elementRef: cellRef, textOverflowType }, props), value);
3881
4541
  };
3882
4542
  var fontMap = {
3883
- proportional: "Splunk Platform Sans",
4543
+ proportional: VIZ_FONT_FAMILY,
3884
4544
  monospace: "Splunk Platform Mono"
3885
4545
  };
3886
4546
  var fontSizeMap = {
@@ -3895,7 +4555,23 @@ var rowHeightMap = {
3895
4555
  default: "20px",
3896
4556
  large: "24px"
3897
4557
  };
3898
- var tableInnerStyle = { height: "100%" };
4558
+ var getUseMouseOverEffect = (props, header) => {
4559
+ if (!props.hasEventHandlers || props.mode === "edit") {
4560
+ return false;
4561
+ }
4562
+ const eventHandlers = props.eventHandlers || [];
4563
+ if (eventHandlers.length === 0) {
4564
+ return true;
4565
+ }
4566
+ return eventHandlers.some((handler) => {
4567
+ var _a;
4568
+ const handlerFields = (_a = handler.options) == null ? void 0 : _a.fields;
4569
+ if (!(handlerFields == null ? void 0 : handlerFields.length)) {
4570
+ return true;
4571
+ }
4572
+ return handlerFields.includes(header);
4573
+ });
4574
+ };
3899
4575
  var PureTable = (props) => {
3900
4576
  const _a = props, {
3901
4577
  count,
@@ -4040,10 +4716,8 @@ var PureTable = (props) => {
4040
4716
  const fontMapped = fontMap[font] || fontMap.proportional;
4041
4717
  const fontSizeMapped = fontSizeMap[fontSize] || fontSizeMap.default;
4042
4718
  const rowHeightMapped = rowHeightMap[fontSize] || rowHeightMap.default;
4043
- const tableOuterStyle = react_exports.useMemo(
4044
- () => ({ height: "100%", cursor: onCellClick ? "pointer" : "unset" }),
4045
- [onCellClick]
4046
- );
4719
+ const tableInnerStyle = { height: "100%" };
4720
+ const tableOuterStyle = { height: "100%" };
4047
4721
  const visibleHeaderCells = tableHeader.cells.filter((c) => c.showCell);
4048
4722
  const numberOfFixedHeaders = visibleHeaderCells.filter(({ value }) => {
4049
4723
  var _a2, _b2;
@@ -4079,113 +4753,125 @@ var PureTable = (props) => {
4079
4753
  })
4080
4754
  ));
4081
4755
  };
4082
- return /* @__PURE__ */ react_exports.createElement(
4083
- VizTableContainer,
4756
+ return /* @__PURE__ */ react_exports.createElement(VizTableContainer, { backgroundColor, ref: containerRef, "data-test": "table-container" }, /* @__PURE__ */ react_exports.createElement(
4757
+ SUITableContainer,
4084
4758
  {
4085
- isCellClickable: Boolean(onCellClick),
4086
- backgroundColor,
4087
- ref: containerRef,
4088
- "data-test": "table-container"
4759
+ ref: containerRefInner,
4760
+ width,
4761
+ height,
4762
+ isPaging,
4763
+ headerStyle: tableHeader.style,
4764
+ font: fontMapped,
4765
+ fontSize: fontSizeMapped,
4766
+ lineHeight: rowHeightMapped,
4767
+ isFullyFixed
4089
4768
  },
4090
4769
  /* @__PURE__ */ react_exports.createElement(
4091
- SUITableContainer,
4770
+ Table_default,
4092
4771
  {
4093
- ref: containerRefInner,
4094
- width,
4095
- height,
4096
- isPaging,
4097
- headerStyle: tableHeader.style,
4098
- font: fontMapped,
4099
- fontSize: fontSizeMapped,
4100
- lineHeight: rowHeightMapped,
4101
- isFullyFixed
4772
+ resizableFillLayout: true,
4773
+ headType: isHeaderHidden ? void 0 : "inline",
4774
+ innerStyle: tableInnerStyle,
4775
+ outerStyle: tableOuterStyle,
4776
+ onClick: tableCellClickHandler,
4777
+ onKeyDown: onCellClick ? handleKeyDown : lodash_exports.noop,
4778
+ onKeyUp: handleKeyUp,
4779
+ onRequestResizeColumn: handleResizeColumn
4102
4780
  },
4103
- /* @__PURE__ */ react_exports.createElement(
4104
- Table_default,
4105
- {
4106
- resizableFillLayout: true,
4107
- headType: isHeaderHidden ? void 0 : "inline",
4108
- innerStyle: tableInnerStyle,
4109
- outerStyle: tableOuterStyle,
4110
- onClick: tableCellClickHandler,
4111
- onKeyDown: onCellClick ? handleKeyDown : lodash_exports.noop,
4112
- onKeyUp: handleKeyUp,
4113
- onRequestResizeColumn: handleResizeColumn
4114
- },
4115
- /* @__PURE__ */ react_exports.createElement(TableHead, null, visibleHeaderCells.map(
4116
- (_d) => {
4117
- var _e = _d, {
4781
+ /* @__PURE__ */ react_exports.createElement(TableHead, null, visibleHeaderCells.map(
4782
+ (_d) => {
4783
+ var _e = _d, {
4784
+ key,
4785
+ value,
4786
+ sortKey,
4787
+ style,
4788
+ align,
4789
+ textOverflowType
4790
+ } = _e, rest = __objRest(_e, [
4791
+ "key",
4792
+ "value",
4793
+ "sortKey",
4794
+ "style",
4795
+ "align",
4796
+ "textOverflowType"
4797
+ ]);
4798
+ var _a2, _b2;
4799
+ return /* @__PURE__ */ react_exports.createElement(
4800
+ HeadCell,
4801
+ __spreadProps(__spreadValues({}, __spreadValues({ sortKey }, rest)), {
4802
+ align,
4803
+ "data-test-align-value": align,
4804
+ "data-test-text-overflow-value": textOverflowType,
4118
4805
  key,
4806
+ columnId: value,
4807
+ sortDir: sortKey === currentSortKey ? currentSortDir : "none",
4808
+ width: (_b2 = (_a2 = columns[value]) == null ? void 0 : _a2.width) != null ? _b2 : INITIAL_UNSET_COLUMN_WIDTH,
4809
+ onMouseDown: handleEventHeadCellMouseDown,
4119
4810
  value,
4120
- sortKey,
4121
- style,
4122
- align,
4123
- textOverflowType
4124
- } = _e, rest = __objRest(_e, [
4125
- "key",
4126
- "value",
4127
- "sortKey",
4128
- "style",
4129
- "align",
4130
- "textOverflowType"
4131
- ]);
4132
- var _a2, _b2;
4133
- return /* @__PURE__ */ react_exports.createElement(
4134
- HeadCell,
4135
- __spreadProps(__spreadValues({}, __spreadValues({ sortKey }, rest)), {
4136
- align,
4137
- "data-test-align-value": align,
4138
- "data-test-text-overflow-value": textOverflowType,
4139
- key,
4140
- columnId: value,
4141
- sortDir: sortKey === currentSortKey ? currentSortDir : "none",
4142
- width: (_b2 = (_a2 = columns[value]) == null ? void 0 : _a2.width) != null ? _b2 : INITIAL_UNSET_COLUMN_WIDTH,
4143
- onMouseDown: handleEventHeadCellMouseDown,
4144
- value,
4145
- onSort: showRowNumbers && value === "#" || isHeaderHidden ? null : onSortToUse,
4146
- resizable: !isHeaderHidden,
4147
- style: showRowNumbers && value === "#" ? __spreadProps(__spreadValues({}, style), { cursor: "auto" }) : style,
4148
- textOverflowType,
4149
- headerVisibility
4150
- })
4151
- );
4152
- }
4153
- )),
4154
- /* @__PURE__ */ react_exports.createElement(Table_default.Body, null, tableBody.rows.map(
4155
- (row) => /* @__PURE__ */ react_exports.createElement(Table_default.Row, { key: row.key }, row.cells.filter((c) => c.showCell).map((cell) => {
4156
- var _a2, _b2;
4157
- return /* @__PURE__ */ react_exports.createElement(SwitchTableCell, { key: cell.key, type: cell.cellType }, /* @__PURE__ */ react_exports.createElement(
4158
- TextCell,
4159
- {
4160
- cell,
4161
- useMouseOverEffect: !!onCellClick
4162
- }
4163
- ), /* @__PURE__ */ react_exports.createElement(
4164
- SparklineCell,
4165
- {
4166
- cell,
4167
- useMouseOverEffect: !!onCellClick,
4168
- width: (_b2 = (_a2 = columns[cell.header]) == null ? void 0 : _a2.width) != null ? _b2 : "auto"
4169
- }
4170
- ), /* @__PURE__ */ react_exports.createElement(
4171
- ArrayCell,
4172
- {
4173
- cell,
4174
- useMouseOverEffect: !!onCellClick
4175
- }
4176
- ));
4177
- }))
4178
- ), tableFooter && showFooterTotals && renderFooterRow("footer-totals", "footer-row-totals"), tableFooter && showFooterPercentages && renderFooterRow("footer-percentages", "footer-row-percentages"))
4179
- )
4180
- ),
4181
- isPaging ? /* @__PURE__ */ react_exports.createElement(PaginatorContainer, null, /* @__PURE__ */ react_exports.createElement(
4182
- Paginator_default,
4183
- __spreadValues({
4184
- totalPages: paginatorProps.totalPages,
4185
- onChange: paginatorOnChange
4186
- }, paginatorProps)
4187
- )) : null
4188
- );
4811
+ onSort: showRowNumbers && value === "#" || isHeaderHidden ? null : onSortToUse,
4812
+ resizable: !isHeaderHidden,
4813
+ style: showRowNumbers && value === "#" ? __spreadProps(__spreadValues({}, style), { cursor: "auto" }) : style,
4814
+ textOverflowType,
4815
+ headerVisibility
4816
+ })
4817
+ );
4818
+ }
4819
+ )),
4820
+ /* @__PURE__ */ react_exports.createElement(Table_default.Body, null, tableBody.rows.map(
4821
+ (row) => /* @__PURE__ */ react_exports.createElement(Table_default.Row, { key: row.key }, row.cells.filter((c) => c.showCell).map((cell) => {
4822
+ var _a2, _b2;
4823
+ return /* @__PURE__ */ react_exports.createElement(SwitchTableCell, { key: cell.key, type: cell.cellType }, /* @__PURE__ */ react_exports.createElement(
4824
+ TextCell,
4825
+ {
4826
+ cell,
4827
+ useMouseOverEffect: getUseMouseOverEffect(
4828
+ props,
4829
+ cell.header
4830
+ )
4831
+ }
4832
+ ), /* @__PURE__ */ react_exports.createElement(
4833
+ SparklineCell,
4834
+ {
4835
+ cell,
4836
+ useMouseOverEffect: getUseMouseOverEffect(
4837
+ props,
4838
+ cell.header
4839
+ ),
4840
+ width: (_b2 = (_a2 = columns[cell.header]) == null ? void 0 : _a2.width) != null ? _b2 : "auto"
4841
+ }
4842
+ ), /* @__PURE__ */ react_exports.createElement(
4843
+ ArrayCell,
4844
+ {
4845
+ cell,
4846
+ useMouseOverEffect: getUseMouseOverEffect(
4847
+ props,
4848
+ cell.header
4849
+ )
4850
+ }
4851
+ ));
4852
+ }))
4853
+ ), tableFooter && showFooterTotals && renderFooterRow("footer-totals", "footer-row-totals"), tableFooter && showFooterPercentages && renderFooterRow("footer-percentages", "footer-row-percentages"))
4854
+ )
4855
+ ), isPaging ? /* @__PURE__ */ react_exports.createElement(PaginatorContainer, null, width < COMPACT_PAGINATOR_WIDTH_THRESHOLD ? /* @__PURE__ */ react_exports.createElement(
4856
+ Paginator_default.Compact,
4857
+ {
4858
+ current: paginatorProps.current,
4859
+ totalPages: paginatorProps.totalPages,
4860
+ renderLabel: false,
4861
+ onChange: (e, { direction }) => {
4862
+ const newPage = direction === "next" ? paginatorProps.current + 1 : paginatorProps.current - 1;
4863
+ paginatorOnChange(e, {
4864
+ page: newPage
4865
+ });
4866
+ }
4867
+ }
4868
+ ) : /* @__PURE__ */ react_exports.createElement(
4869
+ Paginator_default,
4870
+ __spreadValues({
4871
+ totalPages: paginatorProps.totalPages,
4872
+ onChange: paginatorOnChange
4873
+ }, paginatorProps)
4874
+ )) : null);
4189
4875
  };
4190
4876
  var cellDataType = prop_types_exports.oneOfType([prop_types_exports.string, prop_types_exports.number, prop_types_exports.arrayOf(prop_types_exports.oneOfType([prop_types_exports.string, prop_types_exports.number]))]);
4191
4877
  PureTable.propTypes = {
@@ -4264,7 +4950,7 @@ var PureTable_default = withEmptyTableMessage(FixedSizeContainer_default(PureTab
4264
4950
  // src/Table/Table.tsx
4265
4951
  var computeVizProps = (_a) => {
4266
4952
  var props = __objRest(_a, []);
4267
- var _a2, _b, _c, _d, _e, _f, _g, _h, _i, _j;
4953
+ var _a2, _b, _c, _d, _e, _f, _g;
4268
4954
  const vizProps = __spreadValues({}, props);
4269
4955
  vizProps.columnIds = (_d = (_c = (_b = (_a2 = vizProps.dataSources) == null ? void 0 : _a2.primary) == null ? void 0 : _b.data) == null ? void 0 : _c.fields.map((field) => {
4270
4956
  var _a3;
@@ -4274,15 +4960,6 @@ var computeVizProps = (_a) => {
4274
4960
  vizProps.columnIds = vizProps.headers;
4275
4961
  }
4276
4962
  vizProps.headersMetadata = (_g = (_f = (_e = vizProps.dataSources) == null ? void 0 : _e.primary) == null ? void 0 : _f.data) == null ? void 0 : _g.fields;
4277
- const fieldsMeta = ((_j = (_i = (_h = vizProps.dataSources) == null ? void 0 : _h.primary) == null ? void 0 : _i.data) == null ? void 0 : _j.fields) || [];
4278
- const totalsByField = buildTotalsByFieldFromFieldsMeta(fieldsMeta);
4279
- if (Object.keys(totalsByField).length > 0) {
4280
- vizProps.footers = __spreadProps(__spreadValues({}, vizProps.footers || {}), { totalsByField });
4281
- const percentagesByField = buildPercentagesByFieldFromTotals(totalsByField);
4282
- if (Object.keys(percentagesByField).length > 0) {
4283
- vizProps.footers = __spreadProps(__spreadValues({}, vizProps.footers || {}), { percentagesByField });
4284
- }
4285
- }
4286
4963
  if (vizProps.columnFormat) {
4287
4964
  const columns = vizProps.columnFormat;
4288
4965
  const themeRowBackgroundColorOdd = vizProps.themeFunc("rowBackgroundColorOdd");
@@ -4332,12 +5009,75 @@ var computeVizProps = (_a) => {
4332
5009
  }
4333
5010
  return vizProps;
4334
5011
  };
4335
- var Table = withDashboardViz_default({
4336
- ReactViz: PureTable_default,
4337
- vizConfig: config_default,
4338
- disableEditModeCover: true,
4339
- computeVizProps
4340
- });
5012
+ var withTableFooter = (Viz) => {
5013
+ const VizWithTableFooter = (_a) => {
5014
+ var _b = _a, {
5015
+ dataSources,
5016
+ options = {}
5017
+ } = _b, otherProps = __objRest(_b, [
5018
+ "dataSources",
5019
+ "options"
5020
+ ]);
5021
+ var _a2;
5022
+ if (!((_a2 = dataSources == null ? void 0 : dataSources.primary) == null ? void 0 : _a2.data)) {
5023
+ return /* @__PURE__ */ react_exports.createElement(Viz, __spreadValues({ dataSources, options }, otherProps));
5024
+ }
5025
+ const fieldsMeta = dataSources.primary.data.fields || [];
5026
+ const footerData = buildFooterDataFrames(fieldsMeta);
5027
+ let footerKey = `footer${(0, id_exports.createDOMID)().replace(/-/g, "")}`;
5028
+ while (dataSources[footerKey]) {
5029
+ footerKey = `footer${(0, id_exports.createDOMID)().replace(/-/g, "")}`;
5030
+ }
5031
+ const newDataSources = __spreadProps(__spreadValues({}, dataSources), {
5032
+ [footerKey]: { data: footerData.footer }
5033
+ });
5034
+ const showFooterTotals = Boolean(options == null ? void 0 : options.showFooterTotals);
5035
+ const showFooterPercentages = Boolean(options == null ? void 0 : options.showFooterPercentages);
5036
+ let newOptions = options;
5037
+ if (showFooterTotals || showFooterPercentages) {
5038
+ const columnFormat = __spreadValues({}, (options == null ? void 0 : options.columnFormat) || {});
5039
+ const fieldNames = (fieldsMeta || []).map((f) => f && (f.name || f)).filter(Boolean);
5040
+ fieldNames.forEach((fieldName) => {
5041
+ var _a3, _b2;
5042
+ if (!fieldName || fieldName === "#") return;
5043
+ const existingFooter = (_a3 = columnFormat == null ? void 0 : columnFormat[fieldName]) == null ? void 0 : _a3.footer;
5044
+ if (typeof existingFooter === "undefined") {
5045
+ const dataDsl = (_b2 = columnFormat == null ? void 0 : columnFormat[fieldName]) == null ? void 0 : _b2.data;
5046
+ let configToken = null;
5047
+ if (typeof dataDsl === "string") {
5048
+ const m = /formatByType\(([^)]+)\)/.exec(dataDsl);
5049
+ configToken = m ? m[1] : null;
5050
+ }
5051
+ let footerDsl = `> ${footerKey} | seriesByName("${fieldName}")`;
5052
+ if (configToken) footerDsl += ` | formatByType(${configToken})`;
5053
+ columnFormat[fieldName] = __spreadProps(__spreadValues({}, columnFormat[fieldName] || {}), {
5054
+ footer: footerDsl
5055
+ });
5056
+ } else if (typeof existingFooter === "string") {
5057
+ const updatedFooterDsl = existingFooter.replace(/>\s*footer\b/g, `> ${footerKey}`);
5058
+ if (updatedFooterDsl !== existingFooter) {
5059
+ columnFormat[fieldName] = __spreadProps(__spreadValues({}, columnFormat[fieldName] || {}), {
5060
+ footer: updatedFooterDsl
5061
+ });
5062
+ }
5063
+ }
5064
+ });
5065
+ newOptions = __spreadProps(__spreadValues({}, options || {}), { columnFormat });
5066
+ }
5067
+ return /* @__PURE__ */ react_exports.createElement(Viz, __spreadValues({ dataSources: newDataSources, options: newOptions }, otherProps));
5068
+ };
5069
+ VizWithTableFooter.defaultProps = Viz.defaultProps;
5070
+ VizWithTableFooter.config = Viz.config;
5071
+ return VizWithTableFooter;
5072
+ };
5073
+ var Table = withTableFooter(
5074
+ withDashboardViz_default({
5075
+ ReactViz: PureTable_default,
5076
+ vizConfig: config_default,
5077
+ disableEditModeCover: true,
5078
+ computeVizProps
5079
+ })
5080
+ );
4341
5081
  var { themes: themes2 } = config_default;
4342
5082
  var Table_default2 = Table;
4343
5083
  //# sourceMappingURL=Table.js.map