@splunk/visualizations 28.1.0 → 28.2.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 (579) hide show
  1. package/Area.config.js +27 -0
  2. package/Area.config.js.map +2 -2
  3. package/Area.js +721 -354
  4. package/Area.js.map +4 -4
  5. package/Bar.config.js +27 -0
  6. package/Bar.config.js.map +2 -2
  7. package/Bar.js +753 -386
  8. package/Bar.js.map +4 -4
  9. package/Bubble.config.js +27 -0
  10. package/Bubble.config.js.map +2 -2
  11. package/Bubble.js +683 -320
  12. package/Bubble.js.map +4 -4
  13. package/CHANGELOG.external.md +33 -0
  14. package/ChoroplethSvg.js +569 -193
  15. package/ChoroplethSvg.js.map +4 -4
  16. package/Column.config.js +27 -0
  17. package/Column.config.js.map +2 -2
  18. package/Column.js +768 -401
  19. package/Column.js.map +4 -4
  20. package/Ellipse.js +592 -213
  21. package/Ellipse.js.map +4 -4
  22. package/Events.js +591 -200
  23. package/Events.js.map +4 -4
  24. package/FEATUREFLAGS.md +1 -0
  25. package/FillerGauge.js +564 -190
  26. package/FillerGauge.js.map +4 -4
  27. package/Image.js +589 -216
  28. package/Image.js.map +4 -4
  29. package/Line.config.js +28 -1
  30. package/Line.config.js.map +2 -2
  31. package/Line.js +736 -369
  32. package/Line.js.map +4 -4
  33. package/LinkGraph.js +1093 -690
  34. package/LinkGraph.js.map +4 -4
  35. package/Map.config.js +2 -0
  36. package/Map.config.js.map +2 -2
  37. package/Map.js +533 -141
  38. package/Map.js.map +4 -4
  39. package/Markdown.js +613 -229
  40. package/Markdown.js.map +4 -4
  41. package/MarkerGauge.js +543 -168
  42. package/MarkerGauge.js.map +4 -4
  43. package/ParallelCoordinates.js +564 -173
  44. package/ParallelCoordinates.js.map +4 -4
  45. package/Pie.js +650 -315
  46. package/Pie.js.map +4 -4
  47. package/Punchcard.js +588 -199
  48. package/Punchcard.js.map +4 -4
  49. package/Rectangle.js +603 -223
  50. package/Rectangle.js.map +4 -4
  51. package/Sankey.js +576 -200
  52. package/Sankey.js.map +4 -4
  53. package/Scatter.config.js +27 -0
  54. package/Scatter.config.js.map +2 -2
  55. package/Scatter.js +687 -325
  56. package/Scatter.js.map +4 -4
  57. package/SingleValue.js +540 -165
  58. package/SingleValue.js.map +4 -4
  59. package/SingleValueIcon.js +534 -159
  60. package/SingleValueIcon.js.map +4 -4
  61. package/SingleValueRadial.js +527 -152
  62. package/SingleValueRadial.js.map +4 -4
  63. package/Table.config.js +87 -32
  64. package/Table.config.js.map +4 -4
  65. package/Table.js +931 -441
  66. package/Table.js.map +4 -4
  67. package/Timeline.js +611 -272
  68. package/Timeline.js.map +4 -4
  69. package/common/Charting.js +49 -111
  70. package/common/Charting.js.map +4 -4
  71. package/common/GaugeMajorTicks.js +6 -14
  72. package/common/GaugeMajorTicks.js.map +2 -2
  73. package/common/GaugeValueMarker.js +6 -14
  74. package/common/GaugeValueMarker.js.map +2 -2
  75. package/common/OptionsDoc.js +3 -2
  76. package/common/OptionsDoc.js.map +2 -2
  77. package/common/SplunkVisualization.js +1 -1
  78. package/common/SplunkVisualization.js.map +2 -2
  79. package/common/TimeSeriesChartWrapper.js +485 -0
  80. package/common/TimeSeriesChartWrapper.js.map +7 -0
  81. package/common/chartingUtils.js +252 -1
  82. package/common/chartingUtils.js.map +4 -4
  83. package/common/shapeUtils.js.map +1 -1
  84. package/common/utils/hocUtils.js +1 -1
  85. package/common/utils/hocUtils.js.map +2 -2
  86. package/common/utils/mapUtils.js.map +1 -1
  87. package/common/utils/tableUtils.js +29 -28
  88. package/common/utils/tableUtils.js.map +2 -2
  89. package/common/withDashboardViz.js +551 -160
  90. package/common/withDashboardViz.js.map +4 -4
  91. package/dist/types/Area/Area.d.ts +13 -0
  92. package/dist/types/Area/Area.d.ts.map +1 -0
  93. package/dist/types/Area/areaUtils.d.ts +15 -0
  94. package/dist/types/Area/areaUtils.d.ts.map +1 -0
  95. package/dist/types/Area/config.d.ts +4 -0
  96. package/dist/types/Area/config.d.ts.map +1 -0
  97. package/dist/types/Area/index.d.ts +3 -0
  98. package/dist/types/Area/index.d.ts.map +1 -0
  99. package/dist/types/Bar/Bar.d.ts +13 -0
  100. package/dist/types/Bar/Bar.d.ts.map +1 -0
  101. package/dist/types/Bar/barUtils.d.ts +30 -0
  102. package/dist/types/Bar/barUtils.d.ts.map +1 -0
  103. package/dist/types/Bar/config.d.ts +4 -0
  104. package/dist/types/Bar/config.d.ts.map +1 -0
  105. package/dist/types/Bar/index.d.ts +3 -0
  106. package/dist/types/Bar/index.d.ts.map +1 -0
  107. package/dist/types/Bubble/Bubble.d.ts +9 -0
  108. package/dist/types/Bubble/Bubble.d.ts.map +1 -0
  109. package/dist/types/Bubble/bubbleUtils.d.ts +47 -0
  110. package/dist/types/Bubble/bubbleUtils.d.ts.map +1 -0
  111. package/dist/types/Bubble/config.d.ts +4 -0
  112. package/dist/types/Bubble/config.d.ts.map +1 -0
  113. package/dist/types/Bubble/index.d.ts +3 -0
  114. package/dist/types/Bubble/index.d.ts.map +1 -0
  115. package/dist/types/ChoroplethSvg/ChoroplethSvg.d.ts +24 -0
  116. package/dist/types/ChoroplethSvg/ChoroplethSvg.d.ts.map +1 -0
  117. package/dist/types/ChoroplethSvg/ErrorMessage/ErrorMessage.d.ts +6 -0
  118. package/dist/types/ChoroplethSvg/ErrorMessage/ErrorMessage.d.ts.map +1 -0
  119. package/dist/types/ChoroplethSvg/PureChoroplethSvg/PureChoroplethSvg.d.ts +29 -0
  120. package/dist/types/ChoroplethSvg/PureChoroplethSvg/PureChoroplethSvg.d.ts.map +1 -0
  121. package/dist/types/ChoroplethSvg/PureChoroplethSvg/SvgChoroplethDynamic.d.ts +34 -0
  122. package/dist/types/ChoroplethSvg/PureChoroplethSvg/SvgChoroplethDynamic.d.ts.map +1 -0
  123. package/dist/types/ChoroplethSvg/PureChoroplethSvg/SvgMutator.d.ts +144 -0
  124. package/dist/types/ChoroplethSvg/PureChoroplethSvg/SvgMutator.d.ts.map +1 -0
  125. package/dist/types/ChoroplethSvg/config.d.ts +4 -0
  126. package/dist/types/ChoroplethSvg/config.d.ts.map +1 -0
  127. package/dist/types/ChoroplethSvg/index.d.ts +3 -0
  128. package/dist/types/ChoroplethSvg/index.d.ts.map +1 -0
  129. package/dist/types/Column/Column.d.ts +11 -0
  130. package/dist/types/Column/Column.d.ts.map +1 -0
  131. package/dist/types/Column/columnUtils.d.ts +82 -0
  132. package/dist/types/Column/columnUtils.d.ts.map +1 -0
  133. package/dist/types/Column/config.d.ts +4 -0
  134. package/dist/types/Column/config.d.ts.map +1 -0
  135. package/dist/types/Column/index.d.ts +3 -0
  136. package/dist/types/Column/index.d.ts.map +1 -0
  137. package/dist/types/Ellipse/Ellipse.d.ts +7 -0
  138. package/dist/types/Ellipse/Ellipse.d.ts.map +1 -0
  139. package/dist/types/Ellipse/config.d.ts +4 -0
  140. package/dist/types/Ellipse/config.d.ts.map +1 -0
  141. package/dist/types/Ellipse/index.d.ts +3 -0
  142. package/dist/types/Ellipse/index.d.ts.map +1 -0
  143. package/dist/types/Events/EventUtils.d.ts +137 -0
  144. package/dist/types/Events/EventUtils.d.ts.map +1 -0
  145. package/dist/types/Events/Events.d.ts +19 -0
  146. package/dist/types/Events/Events.d.ts.map +1 -0
  147. package/dist/types/Events/PureEvents/FieldSummaryTooltip.d.ts +50 -0
  148. package/dist/types/Events/PureEvents/FieldSummaryTooltip.d.ts.map +1 -0
  149. package/dist/types/Events/PureEvents/PureEvents.d.ts +34 -0
  150. package/dist/types/Events/PureEvents/PureEvents.d.ts.map +1 -0
  151. package/dist/types/Events/PureEvents/TimeControlsPopover.d.ts +33 -0
  152. package/dist/types/Events/PureEvents/TimeControlsPopover.d.ts.map +1 -0
  153. package/dist/types/Events/config.d.ts +4 -0
  154. package/dist/types/Events/config.d.ts.map +1 -0
  155. package/dist/types/Events/index.d.ts +3 -0
  156. package/dist/types/Events/index.d.ts.map +1 -0
  157. package/dist/types/FillerGauge/FillerGauge.d.ts +13 -0
  158. package/dist/types/FillerGauge/FillerGauge.d.ts.map +1 -0
  159. package/dist/types/FillerGauge/PureFillerGauge/FillerGauge.d.ts +32 -0
  160. package/dist/types/FillerGauge/PureFillerGauge/FillerGauge.d.ts.map +1 -0
  161. package/dist/types/FillerGauge/config.d.ts +4 -0
  162. package/dist/types/FillerGauge/config.d.ts.map +1 -0
  163. package/dist/types/FillerGauge/index.d.ts +3 -0
  164. package/dist/types/FillerGauge/index.d.ts.map +1 -0
  165. package/dist/types/Image/Image.d.ts +13 -0
  166. package/dist/types/Image/Image.d.ts.map +1 -0
  167. package/dist/types/Image/ImageApi.d.ts +15 -0
  168. package/dist/types/Image/ImageApi.d.ts.map +1 -0
  169. package/dist/types/Image/config.d.ts +4 -0
  170. package/dist/types/Image/config.d.ts.map +1 -0
  171. package/dist/types/Image/index.d.ts +3 -0
  172. package/dist/types/Image/index.d.ts.map +1 -0
  173. package/dist/types/Line/Line.d.ts +13 -0
  174. package/dist/types/Line/Line.d.ts.map +1 -0
  175. package/dist/types/Line/config.d.ts +4 -0
  176. package/dist/types/Line/config.d.ts.map +1 -0
  177. package/dist/types/Line/index.d.ts +3 -0
  178. package/dist/types/Line/index.d.ts.map +1 -0
  179. package/dist/types/Line/lineUtils.d.ts +22 -0
  180. package/dist/types/Line/lineUtils.d.ts.map +1 -0
  181. package/dist/types/Line/mockdata/LineData.d.ts +184 -0
  182. package/dist/types/Line/mockdata/LineData.d.ts.map +1 -0
  183. package/dist/types/LinkGraph/ESTestDataSources.d.ts +32 -0
  184. package/dist/types/LinkGraph/ESTestDataSources.d.ts.map +1 -0
  185. package/dist/types/LinkGraph/ESTestTemplate.d.ts +2 -0
  186. package/dist/types/LinkGraph/ESTestTemplate.d.ts.map +1 -0
  187. package/dist/types/LinkGraph/LinkGraph.d.ts +22 -0
  188. package/dist/types/LinkGraph/LinkGraph.d.ts.map +1 -0
  189. package/dist/types/LinkGraph/PureLinkGraph/PureLinkGraph.d.ts +89 -0
  190. package/dist/types/LinkGraph/PureLinkGraph/PureLinkGraph.d.ts.map +1 -0
  191. package/dist/types/LinkGraph/PureLinkGraph/PureLinkGraphUtils.d.ts +74 -0
  192. package/dist/types/LinkGraph/PureLinkGraph/PureLinkGraphUtils.d.ts.map +1 -0
  193. package/dist/types/LinkGraph/PureLinkGraph/components/Edges.d.ts +9 -0
  194. package/dist/types/LinkGraph/PureLinkGraph/components/Edges.d.ts.map +1 -0
  195. package/dist/types/LinkGraph/PureLinkGraph/components/Field.d.ts +14 -0
  196. package/dist/types/LinkGraph/PureLinkGraph/components/Field.d.ts.map +1 -0
  197. package/dist/types/LinkGraph/PureLinkGraph/components/FieldStyles.d.ts +5 -0
  198. package/dist/types/LinkGraph/PureLinkGraph/components/FieldStyles.d.ts.map +1 -0
  199. package/dist/types/LinkGraph/PureLinkGraph/components/Graph.d.ts +49 -0
  200. package/dist/types/LinkGraph/PureLinkGraph/components/Graph.d.ts.map +1 -0
  201. package/dist/types/LinkGraph/PureLinkGraph/components/GraphStyles.d.ts +11 -0
  202. package/dist/types/LinkGraph/PureLinkGraph/components/GraphStyles.d.ts.map +1 -0
  203. package/dist/types/LinkGraph/PureLinkGraph/components/Node.d.ts +24 -0
  204. package/dist/types/LinkGraph/PureLinkGraph/components/Node.d.ts.map +1 -0
  205. package/dist/types/LinkGraph/PureLinkGraph/components/Nodes.d.ts +16 -0
  206. package/dist/types/LinkGraph/PureLinkGraph/components/Nodes.d.ts.map +1 -0
  207. package/dist/types/LinkGraph/PureLinkGraph/utils/iconLoader.d.ts +168 -0
  208. package/dist/types/LinkGraph/PureLinkGraph/utils/iconLoader.d.ts.map +1 -0
  209. package/dist/types/LinkGraph/config.d.ts +4 -0
  210. package/dist/types/LinkGraph/config.d.ts.map +1 -0
  211. package/dist/types/LinkGraph/index.d.ts +3 -0
  212. package/dist/types/LinkGraph/index.d.ts.map +1 -0
  213. package/dist/types/Map/Map.d.ts +28 -0
  214. package/dist/types/Map/Map.d.ts.map +1 -0
  215. package/dist/types/Map/MapContextDefault.d.ts +39 -0
  216. package/dist/types/Map/MapContextDefault.d.ts.map +1 -0
  217. package/dist/types/Map/PureMap/BubbleLayer.d.ts +51 -0
  218. package/dist/types/Map/PureMap/BubbleLayer.d.ts.map +1 -0
  219. package/dist/types/Map/PureMap/ChoroplethLayer.d.ts +36 -0
  220. package/dist/types/Map/PureMap/ChoroplethLayer.d.ts.map +1 -0
  221. package/dist/types/Map/PureMap/ClusterLayer.d.ts +17 -0
  222. package/dist/types/Map/PureMap/ClusterLayer.d.ts.map +1 -0
  223. package/dist/types/Map/PureMap/LocalChoroplethLayer.d.ts +18 -0
  224. package/dist/types/Map/PureMap/LocalChoroplethLayer.d.ts.map +1 -0
  225. package/dist/types/Map/PureMap/MapUtils.d.ts +141 -0
  226. package/dist/types/Map/PureMap/MapUtils.d.ts.map +1 -0
  227. package/dist/types/Map/PureMap/MarkerLayer.d.ts +34 -0
  228. package/dist/types/Map/PureMap/MarkerLayer.d.ts.map +1 -0
  229. package/dist/types/Map/PureMap/MarkerWrapper.d.ts +17 -0
  230. package/dist/types/Map/PureMap/MarkerWrapper.d.ts.map +1 -0
  231. package/dist/types/Map/PureMap/PureMap.d.ts +102 -0
  232. package/dist/types/Map/PureMap/PureMap.d.ts.map +1 -0
  233. package/dist/types/Map/PureMap/PureMapContainer.d.ts +15 -0
  234. package/dist/types/Map/PureMap/PureMapContainer.d.ts.map +1 -0
  235. package/dist/types/Map/PureMap/Tooltip.d.ts +20 -0
  236. package/dist/types/Map/PureMap/Tooltip.d.ts.map +1 -0
  237. package/dist/types/Map/PureMap/mockdata/data.d.ts +90 -0
  238. package/dist/types/Map/PureMap/mockdata/data.d.ts.map +1 -0
  239. package/dist/types/Map/config.d.ts +4 -0
  240. package/dist/types/Map/config.d.ts.map +1 -0
  241. package/dist/types/Map/index.d.ts +3 -0
  242. package/dist/types/Map/index.d.ts.map +1 -0
  243. package/dist/types/Markdown/Markdown.d.ts +31 -0
  244. package/dist/types/Markdown/Markdown.d.ts.map +1 -0
  245. package/dist/types/Markdown/config.d.ts +4 -0
  246. package/dist/types/Markdown/config.d.ts.map +1 -0
  247. package/dist/types/Markdown/index.d.ts +3 -0
  248. package/dist/types/Markdown/index.d.ts.map +1 -0
  249. package/dist/types/MarkerGauge/MarkerGauge.d.ts +55 -0
  250. package/dist/types/MarkerGauge/MarkerGauge.d.ts.map +1 -0
  251. package/dist/types/MarkerGauge/PureMarkerGauge/MarkerGauge.d.ts +72 -0
  252. package/dist/types/MarkerGauge/PureMarkerGauge/MarkerGauge.d.ts.map +1 -0
  253. package/dist/types/MarkerGauge/config.d.ts +4 -0
  254. package/dist/types/MarkerGauge/config.d.ts.map +1 -0
  255. package/dist/types/MarkerGauge/index.d.ts +3 -0
  256. package/dist/types/MarkerGauge/index.d.ts.map +1 -0
  257. package/dist/types/ParallelCoordinates/ParallelCoordinates.d.ts +58 -0
  258. package/dist/types/ParallelCoordinates/ParallelCoordinates.d.ts.map +1 -0
  259. package/dist/types/ParallelCoordinates/PureParallelCoordinates/PureParallelCoordinates.d.ts +69 -0
  260. package/dist/types/ParallelCoordinates/PureParallelCoordinates/PureParallelCoordinates.d.ts.map +1 -0
  261. package/dist/types/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesCanvas.d.ts +30 -0
  262. package/dist/types/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesCanvas.d.ts.map +1 -0
  263. package/dist/types/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesChart.d.ts +42 -0
  264. package/dist/types/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesChart.d.ts.map +1 -0
  265. package/dist/types/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesPrompt.d.ts +22 -0
  266. package/dist/types/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesPrompt.d.ts.map +1 -0
  267. package/dist/types/ParallelCoordinates/config.d.ts +4 -0
  268. package/dist/types/ParallelCoordinates/config.d.ts.map +1 -0
  269. package/dist/types/ParallelCoordinates/index.d.ts +3 -0
  270. package/dist/types/ParallelCoordinates/index.d.ts.map +1 -0
  271. package/dist/types/ParallelCoordinates/mockdata/arrayValueData.d.ts +6 -0
  272. package/dist/types/ParallelCoordinates/mockdata/arrayValueData.d.ts.map +1 -0
  273. package/dist/types/ParallelCoordinates/mockdata/sampleCarData.d.ts +6 -0
  274. package/dist/types/ParallelCoordinates/mockdata/sampleCarData.d.ts.map +1 -0
  275. package/dist/types/ParallelCoordinates/mockdata/sampleCarNumericalData.d.ts +6 -0
  276. package/dist/types/ParallelCoordinates/mockdata/sampleCarNumericalData.d.ts.map +1 -0
  277. package/dist/types/ParallelCoordinates/mockdata/sampleFoodData.d.ts +6 -0
  278. package/dist/types/ParallelCoordinates/mockdata/sampleFoodData.d.ts.map +1 -0
  279. package/dist/types/ParallelCoordinates/mockdata/sampleStringNumericalData.d.ts +6 -0
  280. package/dist/types/ParallelCoordinates/mockdata/sampleStringNumericalData.d.ts.map +1 -0
  281. package/dist/types/Pie/Pie.d.ts +15 -0
  282. package/dist/types/Pie/Pie.d.ts.map +1 -0
  283. package/dist/types/Pie/config.d.ts +4 -0
  284. package/dist/types/Pie/config.d.ts.map +1 -0
  285. package/dist/types/Pie/index.d.ts +3 -0
  286. package/dist/types/Pie/index.d.ts.map +1 -0
  287. package/dist/types/Pie/pieUtils.d.ts +78 -0
  288. package/dist/types/Pie/pieUtils.d.ts.map +1 -0
  289. package/dist/types/Punchcard/Punchcard.d.ts +13 -0
  290. package/dist/types/Punchcard/Punchcard.d.ts.map +1 -0
  291. package/dist/types/Punchcard/PurePunchcard/Punchcard.d.ts +40 -0
  292. package/dist/types/Punchcard/PurePunchcard/Punchcard.d.ts.map +1 -0
  293. package/dist/types/Punchcard/PurePunchcard/src/PunchcardAxis.d.ts +20 -0
  294. package/dist/types/Punchcard/PurePunchcard/src/PunchcardAxis.d.ts.map +1 -0
  295. package/dist/types/Punchcard/PurePunchcard/src/PunchcardBubble.d.ts +27 -0
  296. package/dist/types/Punchcard/PurePunchcard/src/PunchcardBubble.d.ts.map +1 -0
  297. package/dist/types/Punchcard/PurePunchcard/src/PunchcardChartArea.d.ts +40 -0
  298. package/dist/types/Punchcard/PurePunchcard/src/PunchcardChartArea.d.ts.map +1 -0
  299. package/dist/types/Punchcard/PurePunchcard/src/PunchcardGridLines.d.ts +17 -0
  300. package/dist/types/Punchcard/PurePunchcard/src/PunchcardGridLines.d.ts.map +1 -0
  301. package/dist/types/Punchcard/PurePunchcard/src/PunchcardLegend.d.ts +21 -0
  302. package/dist/types/Punchcard/PurePunchcard/src/PunchcardLegend.d.ts.map +1 -0
  303. package/dist/types/Punchcard/PurePunchcard/src/PunchcardRow.d.ts +10 -0
  304. package/dist/types/Punchcard/PurePunchcard/src/PunchcardRow.d.ts.map +1 -0
  305. package/dist/types/Punchcard/PurePunchcard/src/utils/punchcardUtils.d.ts +285 -0
  306. package/dist/types/Punchcard/PurePunchcard/src/utils/punchcardUtils.d.ts.map +1 -0
  307. package/dist/types/Punchcard/config.d.ts +4 -0
  308. package/dist/types/Punchcard/config.d.ts.map +1 -0
  309. package/dist/types/Punchcard/index.d.ts +3 -0
  310. package/dist/types/Punchcard/index.d.ts.map +1 -0
  311. package/dist/types/Punchcard/punchcardUtils.d.ts +32 -0
  312. package/dist/types/Punchcard/punchcardUtils.d.ts.map +1 -0
  313. package/dist/types/Rectangle/Rectangle.d.ts +14 -0
  314. package/dist/types/Rectangle/Rectangle.d.ts.map +1 -0
  315. package/dist/types/Rectangle/config.d.ts +4 -0
  316. package/dist/types/Rectangle/config.d.ts.map +1 -0
  317. package/dist/types/Rectangle/index.d.ts +3 -0
  318. package/dist/types/Rectangle/index.d.ts.map +1 -0
  319. package/dist/types/Sankey/PureSankey/PureSankey.d.ts +98 -0
  320. package/dist/types/Sankey/PureSankey/PureSankey.d.ts.map +1 -0
  321. package/dist/types/Sankey/PureSankey/SankeyLink.d.ts +33 -0
  322. package/dist/types/Sankey/PureSankey/SankeyLink.d.ts.map +1 -0
  323. package/dist/types/Sankey/PureSankey/SankeyModels.d.ts +48 -0
  324. package/dist/types/Sankey/PureSankey/SankeyModels.d.ts.map +1 -0
  325. package/dist/types/Sankey/PureSankey/SankeyNode.d.ts +38 -0
  326. package/dist/types/Sankey/PureSankey/SankeyNode.d.ts.map +1 -0
  327. package/dist/types/Sankey/PureSankey/SankeyTooltip.d.ts +43 -0
  328. package/dist/types/Sankey/PureSankey/SankeyTooltip.d.ts.map +1 -0
  329. package/dist/types/Sankey/PureSankey/SankeyUtils.d.ts +20 -0
  330. package/dist/types/Sankey/PureSankey/SankeyUtils.d.ts.map +1 -0
  331. package/dist/types/Sankey/PureSankey/mockdata/data.d.ts +35 -0
  332. package/dist/types/Sankey/PureSankey/mockdata/data.d.ts.map +1 -0
  333. package/dist/types/Sankey/Sankey.d.ts +31 -0
  334. package/dist/types/Sankey/Sankey.d.ts.map +1 -0
  335. package/dist/types/Sankey/config.d.ts +4 -0
  336. package/dist/types/Sankey/config.d.ts.map +1 -0
  337. package/dist/types/Sankey/index.d.ts +3 -0
  338. package/dist/types/Sankey/index.d.ts.map +1 -0
  339. package/dist/types/Scatter/Scatter.d.ts +11 -0
  340. package/dist/types/Scatter/Scatter.d.ts.map +1 -0
  341. package/dist/types/Scatter/config.d.ts +4 -0
  342. package/dist/types/Scatter/config.d.ts.map +1 -0
  343. package/dist/types/Scatter/index.d.ts +3 -0
  344. package/dist/types/Scatter/index.d.ts.map +1 -0
  345. package/dist/types/Scatter/mockdata/data.d.ts +35 -0
  346. package/dist/types/Scatter/mockdata/data.d.ts.map +1 -0
  347. package/dist/types/Scatter/scatterUtils.d.ts +47 -0
  348. package/dist/types/Scatter/scatterUtils.d.ts.map +1 -0
  349. package/dist/types/SingleValue/SingleValue.d.ts +16 -0
  350. package/dist/types/SingleValue/SingleValue.d.ts.map +1 -0
  351. package/dist/types/SingleValue/config.d.ts +4 -0
  352. package/dist/types/SingleValue/config.d.ts.map +1 -0
  353. package/dist/types/SingleValue/index.d.ts +3 -0
  354. package/dist/types/SingleValue/index.d.ts.map +1 -0
  355. package/dist/types/SingleValueBasic/index.d.ts +3 -0
  356. package/dist/types/SingleValueBasic/index.d.ts.map +1 -0
  357. package/dist/types/SingleValueIcon/SingleValueIcon.d.ts +29 -0
  358. package/dist/types/SingleValueIcon/SingleValueIcon.d.ts.map +1 -0
  359. package/dist/types/SingleValueIcon/config.d.ts +4 -0
  360. package/dist/types/SingleValueIcon/config.d.ts.map +1 -0
  361. package/dist/types/SingleValueIcon/index.d.ts +3 -0
  362. package/dist/types/SingleValueIcon/index.d.ts.map +1 -0
  363. package/dist/types/SingleValueRadial/PureSingleValueRadial/GaugeGraph.d.ts +20 -0
  364. package/dist/types/SingleValueRadial/PureSingleValueRadial/GaugeGraph.d.ts.map +1 -0
  365. package/dist/types/SingleValueRadial/PureSingleValueRadial/utils/gaugeUtils.d.ts +82 -0
  366. package/dist/types/SingleValueRadial/PureSingleValueRadial/utils/gaugeUtils.d.ts.map +1 -0
  367. package/dist/types/SingleValueRadial/SingleValueRadial.d.ts +17 -0
  368. package/dist/types/SingleValueRadial/SingleValueRadial.d.ts.map +1 -0
  369. package/dist/types/SingleValueRadial/config.d.ts +4 -0
  370. package/dist/types/SingleValueRadial/config.d.ts.map +1 -0
  371. package/dist/types/SingleValueRadial/index.d.ts +3 -0
  372. package/dist/types/SingleValueRadial/index.d.ts.map +1 -0
  373. package/dist/types/SparkLine/index.d.ts +2 -0
  374. package/dist/types/SparkLine/index.d.ts.map +1 -0
  375. package/dist/types/Table/PureTable.d.ts +50 -0
  376. package/dist/types/Table/PureTable.d.ts.map +1 -0
  377. package/dist/types/Table/Table.d.ts +10 -0
  378. package/dist/types/Table/Table.d.ts.map +1 -0
  379. package/dist/types/Table/cells/ArrayCell.d.ts +12 -0
  380. package/dist/types/Table/cells/ArrayCell.d.ts.map +1 -0
  381. package/dist/types/Table/cells/SparklineCell.d.ts +13 -0
  382. package/dist/types/Table/cells/SparklineCell.d.ts.map +1 -0
  383. package/dist/types/Table/cells/SwitchTableCell.d.ts +5 -0
  384. package/dist/types/Table/cells/SwitchTableCell.d.ts.map +1 -0
  385. package/dist/types/Table/cells/TextCell.d.ts +12 -0
  386. package/dist/types/Table/cells/TextCell.d.ts.map +1 -0
  387. package/dist/types/Table/cells/index.d.ts +5 -0
  388. package/dist/types/Table/cells/index.d.ts.map +1 -0
  389. package/dist/types/Table/config.d.ts +4 -0
  390. package/dist/types/Table/config.d.ts.map +1 -0
  391. package/dist/types/Table/hooks.d.ts +130 -0
  392. package/dist/types/Table/hooks.d.ts.map +1 -0
  393. package/dist/types/Table/index.d.ts +3 -0
  394. package/dist/types/Table/index.d.ts.map +1 -0
  395. package/dist/types/Timeline/PureTimeline/PureTimeline.d.ts +81 -0
  396. package/dist/types/Timeline/PureTimeline/PureTimeline.d.ts.map +1 -0
  397. package/dist/types/Timeline/PureTimeline/src/CursorPlugin.d.ts +8 -0
  398. package/dist/types/Timeline/PureTimeline/src/CursorPlugin.d.ts.map +1 -0
  399. package/dist/types/Timeline/PureTimeline/src/TimelineLegend.d.ts +28 -0
  400. package/dist/types/Timeline/PureTimeline/src/TimelineLegend.d.ts.map +1 -0
  401. package/dist/types/Timeline/PureTimeline/src/TimelinePlugin.d.ts +16 -0
  402. package/dist/types/Timeline/PureTimeline/src/TimelinePlugin.d.ts.map +1 -0
  403. package/dist/types/Timeline/PureTimeline/src/TimelineTooltip.d.ts +11 -0
  404. package/dist/types/Timeline/PureTimeline/src/TimelineTooltip.d.ts.map +1 -0
  405. package/dist/types/Timeline/PureTimeline/src/TimelineUplot.d.ts +22 -0
  406. package/dist/types/Timeline/PureTimeline/src/TimelineUplot.d.ts.map +1 -0
  407. package/dist/types/Timeline/PureTimeline/src/TimelineYAxis.d.ts +20 -0
  408. package/dist/types/Timeline/PureTimeline/src/TimelineYAxis.d.ts.map +1 -0
  409. package/dist/types/Timeline/PureTimeline/src/XAxisPlugin.d.ts +18 -0
  410. package/dist/types/Timeline/PureTimeline/src/XAxisPlugin.d.ts.map +1 -0
  411. package/dist/types/Timeline/PureTimeline/src/utils/timelineUtils.d.ts +34 -0
  412. package/dist/types/Timeline/PureTimeline/src/utils/timelineUtils.d.ts.map +1 -0
  413. package/dist/types/Timeline/Timeline.d.ts +22 -0
  414. package/dist/types/Timeline/Timeline.d.ts.map +1 -0
  415. package/dist/types/Timeline/config.d.ts +4 -0
  416. package/dist/types/Timeline/config.d.ts.map +1 -0
  417. package/dist/types/Timeline/index.d.ts +3 -0
  418. package/dist/types/Timeline/index.d.ts.map +1 -0
  419. package/dist/types/Timeline/mockdata/basicTimelineData.d.ts +76 -0
  420. package/dist/types/Timeline/mockdata/basicTimelineData.d.ts.map +1 -0
  421. package/dist/types/Timeline/mockdata/categoricalTimelineData.d.ts +31 -0
  422. package/dist/types/Timeline/mockdata/categoricalTimelineData.d.ts.map +1 -0
  423. package/dist/types/Timeline/mockdata/timelineDataSource.d.ts +52 -0
  424. package/dist/types/Timeline/mockdata/timelineDataSource.d.ts.map +1 -0
  425. package/dist/types/common/Charting.d.ts +46 -0
  426. package/dist/types/common/Charting.d.ts.map +1 -0
  427. package/dist/types/common/ChartingApi.d.ts +36 -0
  428. package/dist/types/common/ChartingApi.d.ts.map +1 -0
  429. package/dist/types/common/DocExampleWithVizSandbox.d.ts +22 -0
  430. package/dist/types/common/DocExampleWithVizSandbox.d.ts.map +1 -0
  431. package/dist/types/common/OverviewDoc.d.ts +20 -0
  432. package/dist/types/common/OverviewDoc.d.ts.map +1 -0
  433. package/dist/types/common/SplunkVisualization.d.ts +16 -0
  434. package/dist/types/common/SplunkVisualization.d.ts.map +1 -0
  435. package/dist/types/common/SplunkVisualizationApi.d.ts +16 -0
  436. package/dist/types/common/SplunkVisualizationApi.d.ts.map +1 -0
  437. package/dist/types/common/ThemedDefaults.d.ts +2 -0
  438. package/dist/types/common/ThemedDefaults.d.ts.map +1 -0
  439. package/dist/types/common/TimeSeriesChartWrapper.d.ts +7 -0
  440. package/dist/types/common/TimeSeriesChartWrapper.d.ts.map +1 -0
  441. package/dist/types/common/chartingUtils.d.ts +164 -0
  442. package/dist/types/common/chartingUtils.d.ts.map +1 -0
  443. package/dist/types/common/components/IconPlaceholder.d.ts +21 -0
  444. package/dist/types/common/components/IconPlaceholder.d.ts.map +1 -0
  445. package/dist/types/common/components/MissingPropsMessage.d.ts +28 -0
  446. package/dist/types/common/components/MissingPropsMessage.d.ts.map +1 -0
  447. package/dist/types/common/components/TrellisTitle.d.ts +10 -0
  448. package/dist/types/common/components/TrellisTitle.d.ts.map +1 -0
  449. package/dist/types/common/configContext/singleValueContext.d.ts +3 -0
  450. package/dist/types/common/configContext/singleValueContext.d.ts.map +1 -0
  451. package/dist/types/common/docUtils.d.ts +24 -0
  452. package/dist/types/common/docUtils.d.ts.map +1 -0
  453. package/dist/types/common/editorConfig/AxesChartColorAndStyle.d.ts +5 -0
  454. package/dist/types/common/editorConfig/AxesChartColorAndStyle.d.ts.map +1 -0
  455. package/dist/types/common/editorConfig/AxesChartDataConfig.d.ts +31 -0
  456. package/dist/types/common/editorConfig/AxesChartDataConfig.d.ts.map +1 -0
  457. package/dist/types/common/editorConfig/AxesChartDataDisplay.d.ts +14 -0
  458. package/dist/types/common/editorConfig/AxesChartDataDisplay.d.ts.map +1 -0
  459. package/dist/types/common/editorConfig/AxesChartLegend.d.ts +8 -0
  460. package/dist/types/common/editorConfig/AxesChartLegend.d.ts.map +1 -0
  461. package/dist/types/common/editorConfig/AxesChartXGridAndLabels.d.ts +6 -0
  462. package/dist/types/common/editorConfig/AxesChartXGridAndLabels.d.ts.map +1 -0
  463. package/dist/types/common/editorConfig/AxesChartY2GridAndLabels.d.ts +11 -0
  464. package/dist/types/common/editorConfig/AxesChartY2GridAndLabels.d.ts.map +1 -0
  465. package/dist/types/common/editorConfig/AxesChartYGridAndLabels.d.ts +4 -0
  466. package/dist/types/common/editorConfig/AxesChartYGridAndLabels.d.ts.map +1 -0
  467. package/dist/types/common/editorConfig/BackgroundColor.d.ts +10 -0
  468. package/dist/types/common/editorConfig/BackgroundColor.d.ts.map +1 -0
  469. package/dist/types/common/editorConfig/DynamicFillColorEditor.d.ts +29 -0
  470. package/dist/types/common/editorConfig/DynamicFillColorEditor.d.ts.map +1 -0
  471. package/dist/types/common/editorConfig/DynamicGaugeColorEditor.d.ts +29 -0
  472. package/dist/types/common/editorConfig/DynamicGaugeColorEditor.d.ts.map +1 -0
  473. package/dist/types/common/editorConfig/DynamicStrokeColorEditor.d.ts +29 -0
  474. package/dist/types/common/editorConfig/DynamicStrokeColorEditor.d.ts.map +1 -0
  475. package/dist/types/common/editorConfig/Gauge.d.ts +4 -0
  476. package/dist/types/common/editorConfig/Gauge.d.ts.map +1 -0
  477. package/dist/types/common/editorConfig/Legend.d.ts +4 -0
  478. package/dist/types/common/editorConfig/Legend.d.ts.map +1 -0
  479. package/dist/types/common/editorConfig/RadialBackgroundColor.d.ts +10 -0
  480. package/dist/types/common/editorConfig/RadialBackgroundColor.d.ts.map +1 -0
  481. package/dist/types/common/editorConfig/StaticFillColorEditor.d.ts +10 -0
  482. package/dist/types/common/editorConfig/StaticFillColorEditor.d.ts.map +1 -0
  483. package/dist/types/common/editorConfig/StaticGaugeColorEditor.d.ts +10 -0
  484. package/dist/types/common/editorConfig/StaticGaugeColorEditor.d.ts.map +1 -0
  485. package/dist/types/common/editorConfig/StaticStrokeColorEditor.d.ts +10 -0
  486. package/dist/types/common/editorConfig/StaticStrokeColorEditor.d.ts.map +1 -0
  487. package/dist/types/common/editorConfig/TrellisEditors.d.ts +66 -0
  488. package/dist/types/common/editorConfig/TrellisEditors.d.ts.map +1 -0
  489. package/dist/types/common/gaugeUtils.d.ts +387 -0
  490. package/dist/types/common/gaugeUtils.d.ts.map +1 -0
  491. package/dist/types/common/hocs/FixedSizeContainer.d.ts +9 -0
  492. package/dist/types/common/hocs/FixedSizeContainer.d.ts.map +1 -0
  493. package/dist/types/common/hocs/mockdata/trellisData.d.ts +1288 -0
  494. package/dist/types/common/hocs/mockdata/trellisData.d.ts.map +1 -0
  495. package/dist/types/common/hocs/withEditModeCover.d.ts +10 -0
  496. package/dist/types/common/hocs/withEditModeCover.d.ts.map +1 -0
  497. package/dist/types/common/hocs/withPlaceholder.d.ts +8 -0
  498. package/dist/types/common/hocs/withPlaceholder.d.ts.map +1 -0
  499. package/dist/types/common/hocs/withTrellis.d.ts +18 -0
  500. package/dist/types/common/hocs/withTrellis.d.ts.map +1 -0
  501. package/dist/types/common/hooks/useDeepMemo.d.ts +15 -0
  502. package/dist/types/common/hooks/useDeepMemo.d.ts.map +1 -0
  503. package/dist/types/common/hooks/useDownsampleDataSources.d.ts +7 -0
  504. package/dist/types/common/hooks/useDownsampleDataSources.d.ts.map +1 -0
  505. package/dist/types/common/hooks/useEventCallback.d.ts +9 -0
  506. package/dist/types/common/hooks/useEventCallback.d.ts.map +1 -0
  507. package/dist/types/common/hooks/useGetXAndYFields.d.ts +10 -0
  508. package/dist/types/common/hooks/useGetXAndYFields.d.ts.map +1 -0
  509. package/dist/types/common/hooks/usePagination.d.ts +21 -0
  510. package/dist/types/common/hooks/usePagination.d.ts.map +1 -0
  511. package/dist/types/common/hooks/usePrevious.d.ts +2 -0
  512. package/dist/types/common/hooks/usePrevious.d.ts.map +1 -0
  513. package/dist/types/common/hooks/useSorting.d.ts +17 -0
  514. package/dist/types/common/hooks/useSorting.d.ts.map +1 -0
  515. package/dist/types/common/hooks/useTrellisEnabled.d.ts +4 -0
  516. package/dist/types/common/hooks/useTrellisEnabled.d.ts.map +1 -0
  517. package/dist/types/common/interfaces/ChartEvent.d.ts +26 -0
  518. package/dist/types/common/interfaces/ChartEvent.d.ts.map +1 -0
  519. package/dist/types/common/interfaces/DashboardVizProps.d.ts +27 -0
  520. package/dist/types/common/interfaces/DashboardVizProps.d.ts.map +1 -0
  521. package/dist/types/common/interfaces/DataContract.d.ts +19 -0
  522. package/dist/types/common/interfaces/DataContract.d.ts.map +1 -0
  523. package/dist/types/common/interfaces/DataSource.d.ts +45 -0
  524. package/dist/types/common/interfaces/DataSource.d.ts.map +1 -0
  525. package/dist/types/common/interfaces/DefaultContext.d.ts +30 -0
  526. package/dist/types/common/interfaces/DefaultContext.d.ts.map +1 -0
  527. package/dist/types/common/interfaces/Editor.d.ts +23 -0
  528. package/dist/types/common/interfaces/Editor.d.ts.map +1 -0
  529. package/dist/types/common/interfaces/ExtendedDashViz.d.ts +7 -0
  530. package/dist/types/common/interfaces/ExtendedDashViz.d.ts.map +1 -0
  531. package/dist/types/common/interfaces/Object.d.ts +4 -0
  532. package/dist/types/common/interfaces/Object.d.ts.map +1 -0
  533. package/dist/types/common/interfaces/Overview.d.ts +14 -0
  534. package/dist/types/common/interfaces/Overview.d.ts.map +1 -0
  535. package/dist/types/common/interfaces/ThemedDefaults.d.ts +5 -0
  536. package/dist/types/common/interfaces/ThemedDefaults.d.ts.map +1 -0
  537. package/dist/types/common/interfaces/VizActionHandler.d.ts +15 -0
  538. package/dist/types/common/interfaces/VizActionHandler.d.ts.map +1 -0
  539. package/dist/types/common/interfaces/VizBehavior.d.ts +25 -0
  540. package/dist/types/common/interfaces/VizBehavior.d.ts.map +1 -0
  541. package/dist/types/common/interfaces/VizCategory.d.ts +16 -0
  542. package/dist/types/common/interfaces/VizCategory.d.ts.map +1 -0
  543. package/dist/types/common/interfaces/VizConfig.d.ts +34 -0
  544. package/dist/types/common/interfaces/VizConfig.d.ts.map +1 -0
  545. package/dist/types/common/interfaces/VizEvent.d.ts +13 -0
  546. package/dist/types/common/interfaces/VizEvent.d.ts.map +1 -0
  547. package/dist/types/common/interfaces/VizProps.d.ts +8 -0
  548. package/dist/types/common/interfaces/VizProps.d.ts.map +1 -0
  549. package/dist/types/common/interfaces/VizRegistry.d.ts +7 -0
  550. package/dist/types/common/interfaces/VizRegistry.d.ts.map +1 -0
  551. package/dist/types/common/interfaces/VizSize.d.ts +8 -0
  552. package/dist/types/common/interfaces/VizSize.d.ts.map +1 -0
  553. package/dist/types/common/interfaces/VizStatus.d.ts +2 -0
  554. package/dist/types/common/interfaces/VizStatus.d.ts.map +1 -0
  555. package/dist/types/common/interfaces/index.d.ts +19 -0
  556. package/dist/types/common/interfaces/index.d.ts.map +1 -0
  557. package/dist/types/common/shapeUtils.d.ts +26 -0
  558. package/dist/types/common/shapeUtils.d.ts.map +1 -0
  559. package/dist/types/common/utils/configUtils.d.ts +59 -0
  560. package/dist/types/common/utils/configUtils.d.ts.map +1 -0
  561. package/dist/types/common/utils/dataUtils.d.ts +31 -0
  562. package/dist/types/common/utils/dataUtils.d.ts.map +1 -0
  563. package/dist/types/common/utils/featureFlagUtils.d.ts +3 -0
  564. package/dist/types/common/utils/featureFlagUtils.d.ts.map +1 -0
  565. package/dist/types/common/utils/hocUtils.d.ts +12 -0
  566. package/dist/types/common/utils/hocUtils.d.ts.map +1 -0
  567. package/dist/types/common/utils/mapUtils.d.ts +2 -0
  568. package/dist/types/common/utils/mapUtils.d.ts.map +1 -0
  569. package/dist/types/common/utils/styleUtils.d.ts +2 -0
  570. package/dist/types/common/utils/styleUtils.d.ts.map +1 -0
  571. package/dist/types/common/utils/tableUtils.d.ts +3 -0
  572. package/dist/types/common/utils/tableUtils.d.ts.map +1 -0
  573. package/dist/types/common/utils/trellisUtils.d.ts +60 -0
  574. package/dist/types/common/utils/trellisUtils.d.ts.map +1 -0
  575. package/dist/types/common/utils/urlUtils.d.ts +2 -0
  576. package/dist/types/common/utils/urlUtils.d.ts.map +1 -0
  577. package/dist/types/common/withDashboardViz.d.ts +22 -0
  578. package/dist/types/common/withDashboardViz.d.ts.map +1 -0
  579. package/package.json +32 -34
package/FillerGauge.js CHANGED
@@ -806,7 +806,7 @@ SplunkVisualization.propTypes = {
806
806
  /**
807
807
  *
808
808
  */
809
- SplunkVisualization.defaultProps = {
809
+ SplunkVisualization.defaults = {
810
810
  // BaseVisualization in dashboard-visualizations uses 100% for width but 250 for height
811
811
  width: "100%",
812
812
  height: INITIAL_HEIGHT,
@@ -827,13 +827,13 @@ var SplunkVisualization_default = SplunkVisualization;
827
827
  // src/common/interfaces/DataSource.ts
828
828
  var validSortDirs = ["asc", "desc", "none"];
829
829
 
830
- // src/common/hooks/getSorting.ts
830
+ // src/common/hooks/useSorting.ts
831
831
  var SortParamsPropTypes = prop_types_exports.shape({
832
832
  currentSortKey: prop_types_exports.string,
833
833
  currentSortDir: prop_types_exports.oneOf(validSortDirs),
834
834
  onSort: prop_types_exports.func
835
835
  });
836
- var getSortingParams = ({ requestParams, onRequestParamsChange }) => {
836
+ var useSortingParams = ({ requestParams, onRequestParamsChange }) => {
837
837
  let currentSortKey;
838
838
  let currentSortDir;
839
839
  const nextSortDirMap = {
@@ -863,14 +863,14 @@ var getSortingParams = ({ requestParams, onRequestParamsChange }) => {
863
863
  };
864
864
  };
865
865
 
866
- // src/common/hooks/getPagination.ts
866
+ // src/common/hooks/usePagination.ts
867
867
  var PaginatorParamsPropTypes = prop_types_exports.shape({
868
868
  isPaging: prop_types_exports.bool,
869
869
  current: prop_types_exports.number,
870
870
  totalPages: prop_types_exports.number,
871
871
  onChange: prop_types_exports.func
872
872
  });
873
- var getPaginationParams = ({
873
+ var usePaginationParams = ({
874
874
  requestParams,
875
875
  meta,
876
876
  onRequestParamsChange
@@ -923,14 +923,84 @@ var defaultImport24 = __toESM(require("@splunk/visualizations-shared/Message"));
923
923
  __reExport(Message_exports, require("@splunk/visualizations-shared/Message"));
924
924
  var Message_default = "default" in defaultImport24 ? defaultImport24.default : defaultImport24;
925
925
 
926
- // esm-externals:@splunk/visualizations-shared/style
927
- var style_exports = {};
928
- __export(style_exports, {
929
- default: () => style_default
926
+ // esm-externals:@splunk/visualizations-shared/SizeAwareWrapper
927
+ var SizeAwareWrapper_exports = {};
928
+ __export(SizeAwareWrapper_exports, {
929
+ default: () => SizeAwareWrapper_default
930
930
  });
931
- var defaultImport25 = __toESM(require("@splunk/visualizations-shared/style"));
932
- __reExport(style_exports, require("@splunk/visualizations-shared/style"));
933
- var style_default = "default" in defaultImport25 ? defaultImport25.default : defaultImport25;
931
+ var defaultImport25 = __toESM(require("@splunk/visualizations-shared/SizeAwareWrapper"));
932
+ __reExport(SizeAwareWrapper_exports, require("@splunk/visualizations-shared/SizeAwareWrapper"));
933
+ var SizeAwareWrapper_default = "default" in defaultImport25 ? defaultImport25.default : defaultImport25;
934
+
935
+ // src/common/components/MissingPropsMessage.tsx
936
+ var isMissing = (v) => {
937
+ return v === null || v === void 0;
938
+ };
939
+ var missingKeys = (keys, target) => keys.filter((k) => isMissing(target[k]));
940
+ var MissingPropsMessage = (props) => {
941
+ const {
942
+ width = SplunkVisualization_default.defaults.width,
943
+ height = SplunkVisualization_default.defaults.height,
944
+ missingProps,
945
+ backgroundColor
946
+ } = props;
947
+ const cachedHandleResize = react_exports.useCallback((w, h) => {
948
+ setContainerWidth(w);
949
+ setContainerHeight(h);
950
+ }, []);
951
+ const [containerWidth, setContainerWidth] = react_exports.useState(Number(width));
952
+ const [containerHeight, setContainerHeight] = react_exports.useState(Number(height));
953
+ return /* @__PURE__ */ react_exports.createElement("div", { style: { width: containerWidth, height: containerHeight, background: backgroundColor } }, /* @__PURE__ */ react_exports.createElement(SizeAwareWrapper_default, { width, height, onResize: cachedHandleResize }), /* @__PURE__ */ react_exports.createElement(
954
+ Message_default,
955
+ {
956
+ "data-test": "message",
957
+ width,
958
+ height,
959
+ message: (0, i18n_exports._)(`Missing property: ${missingProps.join(", ")}`),
960
+ level: "error"
961
+ }
962
+ ));
963
+ };
964
+ var MissingPropsMessage_default = MissingPropsMessage;
965
+
966
+ // src/common/utils/hocUtils.ts
967
+ var extendStaticWrapperProps = ({
968
+ Wrapper,
969
+ Visualization
970
+ }) => {
971
+ const extendProperties = ["propTypes", "config"];
972
+ extendProperties.forEach((prop) => {
973
+ if (Visualization[prop]) {
974
+ Wrapper[prop] = Visualization[prop];
975
+ }
976
+ });
977
+ };
978
+
979
+ // src/common/hocs/withEditModeCover.tsx
980
+ var Cover = styled_components_default.div`
981
+ position: absolute;
982
+ left: 0;
983
+ right: 0;
984
+ top: 0;
985
+ bottom: 0;
986
+ `;
987
+ var Blocker = styled_components_default.div.attrs({
988
+ "data-splunk-visualization-version": "28.2.0 - 7eea200d8"
989
+ })`
990
+ position: relative;
991
+ width: 100%;
992
+ height: 100%;
993
+ `;
994
+ var withEditModeCover = (Visualization, disableEditModeCover) => {
995
+ const Wrapper = (props) => {
996
+ const { mode } = props;
997
+ const showEditCover = mode === "edit" && !disableEditModeCover;
998
+ return /* @__PURE__ */ react_exports.createElement(Blocker, null, /* @__PURE__ */ react_exports.createElement(Visualization, __spreadValues({}, props)), showEditCover && /* @__PURE__ */ react_exports.createElement(Cover, { "data-test": "edit-mode-cover" }));
999
+ };
1000
+ extendStaticWrapperProps({ Wrapper, Visualization });
1001
+ return Wrapper;
1002
+ };
1003
+ var withEditModeCover_default = withEditModeCover;
934
1004
 
935
1005
  // esm-externals:@splunk/visualizations-shared/colorUtils
936
1006
  var colorUtils_exports = {};
@@ -941,14 +1011,14 @@ var defaultImport26 = __toESM(require("@splunk/visualizations-shared/colorUtils"
941
1011
  __reExport(colorUtils_exports, require("@splunk/visualizations-shared/colorUtils"));
942
1012
  var colorUtils_default = "default" in defaultImport26 ? defaultImport26.default : defaultImport26;
943
1013
 
944
- // esm-externals:@splunk/visualizations-shared/SizeAwareWrapper
945
- var SizeAwareWrapper_exports = {};
946
- __export(SizeAwareWrapper_exports, {
947
- default: () => SizeAwareWrapper_default
1014
+ // esm-externals:@splunk/visualizations-shared/style
1015
+ var style_exports = {};
1016
+ __export(style_exports, {
1017
+ default: () => style_default
948
1018
  });
949
- var defaultImport27 = __toESM(require("@splunk/visualizations-shared/SizeAwareWrapper"));
950
- __reExport(SizeAwareWrapper_exports, require("@splunk/visualizations-shared/SizeAwareWrapper"));
951
- var SizeAwareWrapper_default = "default" in defaultImport27 ? defaultImport27.default : defaultImport27;
1019
+ var defaultImport27 = __toESM(require("@splunk/visualizations-shared/style"));
1020
+ __reExport(style_exports, require("@splunk/visualizations-shared/style"));
1021
+ var style_default = "default" in defaultImport27 ? defaultImport27.default : defaultImport27;
952
1022
 
953
1023
  // src/common/hocs/FixedSizeContainer.tsx
954
1024
  var Item = styled_components_default.div.attrs(({ width }) => ({
@@ -1000,7 +1070,7 @@ var withFixedSizeContainer = (Viz) => {
1000
1070
  FixSizeItem,
1001
1071
  {
1002
1072
  "data-test": "fix-size-item",
1003
- "data-splunk-visualization-version": "28.1.0 - 4a1bff08b",
1073
+ "data-splunk-visualization-version": "28.2.0 - 7eea200d8",
1004
1074
  width,
1005
1075
  height,
1006
1076
  backgroundColor
@@ -1013,76 +1083,6 @@ var withFixedSizeContainer = (Viz) => {
1013
1083
  };
1014
1084
  var FixedSizeContainer_default = withFixedSizeContainer;
1015
1085
 
1016
- // src/common/components/MissingPropsMessage.tsx
1017
- var isMissing = (v) => {
1018
- return v === null || v === void 0;
1019
- };
1020
- var missingKeys = (keys, target) => keys.filter((k) => isMissing(target[k]));
1021
- var propTypes = {
1022
- width: prop_types_exports.oneOfType([prop_types_exports.string, prop_types_exports.number]),
1023
- height: prop_types_exports.oneOfType([prop_types_exports.string, prop_types_exports.number]),
1024
- // eslint-disable-next-line react/no-unused-prop-types
1025
- backgroundColor: prop_types_exports.string,
1026
- missingProps: prop_types_exports.arrayOf(prop_types_exports.string)
1027
- };
1028
- var MissingPropsMessage = (props) => {
1029
- const { width, height, missingProps } = props;
1030
- return /* @__PURE__ */ react_exports.createElement(
1031
- Message_default,
1032
- {
1033
- "data-test": "message",
1034
- width,
1035
- height,
1036
- message: (0, i18n_exports._)(`Missing property: ${missingProps.join(", ")}`)
1037
- }
1038
- );
1039
- };
1040
- MissingPropsMessage.propTypes = propTypes;
1041
- MissingPropsMessage.defaultProps = {
1042
- width: "100%",
1043
- height: 250
1044
- };
1045
- var MissingPropsMessage_default = FixedSizeContainer_default(MissingPropsMessage);
1046
-
1047
- // src/common/utils/hocUtils.ts
1048
- var extendStaticWrapperProps = ({
1049
- Wrapper,
1050
- Visualization
1051
- }) => {
1052
- const extendProperties = ["propTypes", "defaultProps", "config"];
1053
- extendProperties.forEach((prop) => {
1054
- if (Visualization[prop]) {
1055
- Wrapper[prop] = Visualization[prop];
1056
- }
1057
- });
1058
- };
1059
-
1060
- // src/common/hocs/withEditModeCover.tsx
1061
- var Cover = styled_components_default.div`
1062
- position: absolute;
1063
- left: 0;
1064
- right: 0;
1065
- top: 0;
1066
- bottom: 0;
1067
- `;
1068
- var Blocker = styled_components_default.div.attrs({
1069
- "data-splunk-visualization-version": "28.1.0 - 4a1bff08b"
1070
- })`
1071
- position: relative;
1072
- width: 100%;
1073
- height: 100%;
1074
- `;
1075
- var withEditModeCover = (Visualization, disableEditModeCover) => {
1076
- const Wrapper = (props) => {
1077
- const { mode } = props;
1078
- const showEditCover = mode === "edit" && !disableEditModeCover;
1079
- return /* @__PURE__ */ react_exports.createElement(Blocker, null, /* @__PURE__ */ react_exports.createElement(Visualization, __spreadValues({}, props)), showEditCover && /* @__PURE__ */ react_exports.createElement(Cover, { "data-test": "edit-mode-cover" }));
1080
- };
1081
- extendStaticWrapperProps({ Wrapper, Visualization });
1082
- return Wrapper;
1083
- };
1084
- var withEditModeCover_default = withEditModeCover;
1085
-
1086
1086
  // src/common/components/IconPlaceholder.tsx
1087
1087
  var shouldShowIconPlaceholder = (dataSources, loading = false) => {
1088
1088
  const data = (0, lodash_exports.get)(dataSources, "primary.data.columns[0]", void 0);
@@ -1091,18 +1091,23 @@ var shouldShowIconPlaceholder = (dataSources, loading = false) => {
1091
1091
  const noFields = fields === void 0;
1092
1092
  return loading || noData || noFields;
1093
1093
  };
1094
- var propTypes2 = {
1095
- icon: prop_types_exports.func,
1096
- width: prop_types_exports.oneOfType([prop_types_exports.string, prop_types_exports.number]),
1097
- height: prop_types_exports.oneOfType([prop_types_exports.string, prop_types_exports.number]),
1098
- // eslint-disable-next-line react/no-unused-prop-types
1099
- backgroundColor: prop_types_exports.string,
1100
- iconColor: prop_types_exports.string
1101
- };
1102
1094
  var IconPlaceholder = (props) => {
1103
- const { width, height, icon, iconColor } = props;
1095
+ const {
1096
+ width = SplunkVisualization_default.defaults.width,
1097
+ height = SplunkVisualization_default.defaults.height,
1098
+ icon,
1099
+ iconColor,
1100
+ backgroundColor
1101
+ } = props;
1102
+ const cachedHandleResize = react_exports.useCallback((w, h) => {
1103
+ setContainerWidth(w);
1104
+ setContainerHeight(h);
1105
+ }, []);
1106
+ const [containerWidth, setContainerWidth] = react_exports.useState(Number(width));
1107
+ const [containerHeight, setContainerHeight] = react_exports.useState(Number(height));
1108
+ let content = /* @__PURE__ */ react_exports.createElement(Message_default, { width, height, level: "warning", message: (0, i18n_exports._)("No DataSource Connected") });
1104
1109
  if (icon) {
1105
- return react_exports.createElement(icon, {
1110
+ content = react_exports.createElement(icon, {
1106
1111
  style: {
1107
1112
  left: "50%",
1108
1113
  top: "50%",
@@ -1116,12 +1121,7 @@ var IconPlaceholder = (props) => {
1116
1121
  "data-test": "icon-placeholder"
1117
1122
  });
1118
1123
  }
1119
- return /* @__PURE__ */ react_exports.createElement(Message_default, { width, height, level: "warning", message: (0, i18n_exports._)("No DataSource Connected") });
1120
- };
1121
- IconPlaceholder.propTypes = propTypes2;
1122
- IconPlaceholder.defaultProps = {
1123
- width: "100%",
1124
- height: 250
1124
+ return /* @__PURE__ */ react_exports.createElement("div", { style: { width: containerWidth, height: containerHeight, background: backgroundColor } }, /* @__PURE__ */ react_exports.createElement(SizeAwareWrapper_default, { width, height, onResize: cachedHandleResize }), content);
1125
1125
  };
1126
1126
  var IconPlaceholder_default = FixedSizeContainer_default(IconPlaceholder);
1127
1127
 
@@ -1131,11 +1131,17 @@ var withPlaceholder = (Visualization, useIconPlaceholder = shouldShowIconPlaceho
1131
1131
  const { themes: themes3 } = config3;
1132
1132
  const Wrapper = (props) => {
1133
1133
  var _a, _b;
1134
- const { dataSources, loading, options, height, width } = props;
1134
+ const {
1135
+ dataSources,
1136
+ loading,
1137
+ options,
1138
+ height = SplunkVisualization_default.defaults.height,
1139
+ width = SplunkVisualization_default.defaults.width
1140
+ } = props;
1135
1141
  const showPlaceholder = useIconPlaceholder(dataSources, loading, options);
1136
- const bgColorFromTheme = (0, colorUtils_exports.isColor)(options == null ? void 0 : options.backgroundColor) ? options == null ? void 0 : options.backgroundColor : (_a = themes3 == null ? void 0 : themes3.defaultBackgroundColor) == null ? void 0 : _a.call(themes3, props);
1137
- const icon = (_b = config3.placeholderIcon) != null ? _b : config3.icon;
1142
+ const icon = (_a = config3.placeholderIcon) != null ? _a : config3.icon;
1138
1143
  const iconColor = variables_default.contentColorActive(props);
1144
+ const bgColorFromTheme = (0, colorUtils_exports.isColor)(options == null ? void 0 : options.backgroundColor) ? options == null ? void 0 : options.backgroundColor : (_b = themes3 == null ? void 0 : themes3.defaultBackgroundColor) == null ? void 0 : _b.call(themes3, props);
1139
1145
  if (config3.supports.includes("placeholder" /* PLACEHOLDER */) && showPlaceholder) {
1140
1146
  return /* @__PURE__ */ react_exports.createElement(
1141
1147
  IconPlaceholder_default,
@@ -1910,6 +1916,382 @@ var determineMinMax = (splitData, trellisSharedScale, yAxisMin, yAxisMax, stackM
1910
1916
  return [shouldUseSharedMin ? sharedMin : yAxisMin, shouldUseSharedMax ? sharedMax : yAxisMax];
1911
1917
  };
1912
1918
 
1919
+ // esm-externals:@splunk/visualization-canvas
1920
+ var visualization_canvas_exports = {};
1921
+ __export(visualization_canvas_exports, {
1922
+ default: () => visualization_canvas_default
1923
+ });
1924
+ var defaultImport31 = __toESM(require("@splunk/visualization-canvas"));
1925
+ __reExport(visualization_canvas_exports, require("@splunk/visualization-canvas"));
1926
+ var visualization_canvas_default = "default" in defaultImport31 ? defaultImport31.default : defaultImport31;
1927
+
1928
+ // src/common/components/VizStyleWrapper.jsx
1929
+ var VizStyleWrapper = styled_components_default.div.attrs(({ dataTestKey }) => ({
1930
+ "data-test": dataTestKey,
1931
+ "data-testid": dataTestKey
1932
+ }))`
1933
+ display: flex;
1934
+ justify-content: center;
1935
+ flex-direction: column;
1936
+ width: 100%;
1937
+ height: 100%;
1938
+ background-color: ${(props) => props.backgroundColor};
1939
+ `;
1940
+ VizStyleWrapper.displayName = "VizStyleWrapper";
1941
+ var VizStyleWrapper_default = VizStyleWrapper;
1942
+
1943
+ // esm-externals:@splunk/react-icons/Triangle
1944
+ var Triangle_exports = {};
1945
+ __export(Triangle_exports, {
1946
+ default: () => Triangle_default
1947
+ });
1948
+ var defaultImport32 = __toESM(require("@splunk/react-icons/Triangle"));
1949
+ __reExport(Triangle_exports, require("@splunk/react-icons/Triangle"));
1950
+ var Triangle_default = "default" in defaultImport32 ? defaultImport32.default : defaultImport32;
1951
+
1952
+ // src/common/chartingUtils.ts
1953
+ var DEFAULT_LINE_WIDTH = 2;
1954
+ var getAnnotationsForCanvas = ({
1955
+ annotationX,
1956
+ annotationColor,
1957
+ annotationLabel
1958
+ }) => (annotationX == null ? void 0 : annotationX.length) ? annotationX.map((timestamp, i) => ({
1959
+ key: annotationLabel == null ? void 0 : annotationLabel[i],
1960
+ time: timestamp,
1961
+ color: annotationColor == null ? void 0 : annotationColor[i]
1962
+ })) : [];
1963
+ var StyledTriangle = styled_components_default(Triangle_default)`
1964
+ color: ${(props) => props.eventColor || variables_default.severityColorNotice(props)};
1965
+ `;
1966
+ var triangleEventAnnotationRenderer = ({ event }) => {
1967
+ const eventWithColor = event;
1968
+ return react_default.createElement(StyledTriangle, {
1969
+ viewBox: "0 0 24 24",
1970
+ variant: "filled",
1971
+ eventColor: eventWithColor.color
1972
+ });
1973
+ };
1974
+ var canvasSupportedTimeSeriesCharts = ["splunk.line"];
1975
+ var isTimeSeriesCanvasRenderSupported = (vizConfigKey) => {
1976
+ return canvasSupportedTimeSeriesCharts.indexOf(vizConfigKey) > -1;
1977
+ };
1978
+ var filterChartDataFromInternalFields = (chartData) => {
1979
+ const { fields, columns } = chartData;
1980
+ const keepIndexes = fields.reduce((acc, field, index) => {
1981
+ const fieldName = typeof field === "object" ? field == null ? void 0 : field.name : field;
1982
+ if (!(fieldName == null ? void 0 : fieldName.startsWith("_")) || fieldName === "_time") {
1983
+ acc.push(index);
1984
+ }
1985
+ return acc;
1986
+ }, []);
1987
+ const filteredFields = keepIndexes.map((index) => fields[index]);
1988
+ const filteredColumns = keepIndexes.map((index) => columns[index]);
1989
+ return { fields: filteredFields, columns: filteredColumns };
1990
+ };
1991
+ var convert2DArrayToNumbers = (arr) => {
1992
+ return arr.map((subArray) => subArray.map((element) => parseFloat(element)));
1993
+ };
1994
+ var SideLegendWidth = 75;
1995
+ var commonLegendProps = { center: true, fontSize: 12, largerTiles: true, hideSeriesValue: true };
1996
+ var getLegend = (props) => {
1997
+ const legendPlacement = props == null ? void 0 : props.legendDisplay;
1998
+ switch (legendPlacement) {
1999
+ case "off":
2000
+ return false;
2001
+ case "left":
2002
+ return (0, visualization_canvas_exports.LeftLegendFactory)(__spreadValues({
2003
+ width: SideLegendWidth
2004
+ }, commonLegendProps));
2005
+ case "bottom":
2006
+ return (0, visualization_canvas_exports.BottomLegendFactory)(__spreadValues({
2007
+ wrap: true
2008
+ }, commonLegendProps));
2009
+ case "top":
2010
+ return (0, visualization_canvas_exports.TopLegendFactory)(__spreadValues({
2011
+ wrap: true
2012
+ }, commonLegendProps));
2013
+ default:
2014
+ return (0, visualization_canvas_exports.SideLegendFactory)(__spreadValues({
2015
+ width: SideLegendWidth
2016
+ }, commonLegendProps));
2017
+ }
2018
+ };
2019
+ var getComputedAxisTitles = (inputAxisTitle, fields, axisTitleVisibility) => {
2020
+ if (axisTitleVisibility === "collapsed") {
2021
+ return "";
2022
+ }
2023
+ let fieldTitle = fields.length > 1 ? "" : fields[0];
2024
+ if (!fieldTitle) {
2025
+ fieldTitle = "";
2026
+ }
2027
+ return (inputAxisTitle == null ? void 0 : inputAxisTitle.length) ? inputAxisTitle.trim() : fieldTitle;
2028
+ };
2029
+ var ellipsisAxisTitle = (axisTitle, containerSpacing, fontSize = 12) => {
2030
+ if (!axisTitle) {
2031
+ return "";
2032
+ }
2033
+ if (Number.isNaN(containerSpacing) || containerSpacing <= 0) {
2034
+ return axisTitle;
2035
+ }
2036
+ const availableHeight = containerSpacing * 0.6;
2037
+ const avgCharWidth = fontSize * 0.55;
2038
+ const maxChars = Math.floor(availableHeight / avgCharWidth);
2039
+ if (axisTitle.length <= maxChars) {
2040
+ return axisTitle;
2041
+ }
2042
+ if (maxChars <= 3) {
2043
+ return "...";
2044
+ }
2045
+ const availableChars = maxChars - 3;
2046
+ const halfChars = Math.floor(availableChars / 2);
2047
+ const start = axisTitle.slice(0, halfChars);
2048
+ const end = axisTitle.slice(-halfChars);
2049
+ return `${start}...${end}`;
2050
+ };
2051
+ var getFieldName = (field) => {
2052
+ const fieldName = typeof field === "object" ? field == null ? void 0 : field.name : field;
2053
+ return fieldName;
2054
+ };
2055
+ var getFieldNames = (fields) => {
2056
+ return fields.map((field) => getFieldName(field));
2057
+ };
2058
+ var getXScaleConfig = (label) => {
2059
+ const xConfig = { x: {} };
2060
+ xConfig.x.label = label;
2061
+ return xConfig;
2062
+ };
2063
+ var getYScaleConfig = (label, yAxisAbbreviation, yAxisScale) => {
2064
+ const scaleType = yAxisScale != null ? yAxisScale : "linear";
2065
+ const yConfig = { y: {} };
2066
+ yConfig.y.label = label;
2067
+ yConfig.y.type = scaleType;
2068
+ if (yAxisAbbreviation !== "none") {
2069
+ yConfig.y.tickFmt = (v) => (0, visualization_canvas_exports.shortenNumber)(v, 1);
2070
+ }
2071
+ if (yAxisAbbreviation === "none") {
2072
+ yConfig.y.width = 55;
2073
+ } else {
2074
+ yConfig.y.width = label && label.length > 0 ? 30 : 10;
2075
+ }
2076
+ return yConfig;
2077
+ };
2078
+ var getY2ScaleConfig = (label, axisAbbreviation, axisScale, roundAxisLabelsToInteger) => {
2079
+ const y2Config = { y2: {} };
2080
+ const scaleType = axisScale != null ? axisScale : "linear";
2081
+ y2Config.y2.label = label;
2082
+ y2Config.y2.side = "right";
2083
+ y2Config.y2.showGrid = false;
2084
+ y2Config.y2.type = scaleType;
2085
+ if (axisAbbreviation !== "none") {
2086
+ y2Config.y2.tickFmt = (v) => (0, visualization_canvas_exports.shortenNumber)(v, 1, roundAxisLabelsToInteger);
2087
+ } else if (roundAxisLabelsToInteger) {
2088
+ y2Config.y2.tickFmt = (v) => roundAxisLabelsToInteger ? Math.round(v).toString() : v.toString();
2089
+ }
2090
+ return y2Config;
2091
+ };
2092
+ var getSeriesOverrides = (yfields, y2fields, lineWidth, overlayFields, y2Enabled, nullValueMode) => {
2093
+ const seriesConfig = {};
2094
+ let spanGaps;
2095
+ let replaceNullsWithZero;
2096
+ if (nullValueMode === "gaps") {
2097
+ spanGaps = false;
2098
+ } else if (nullValueMode === "connect" || nullValueMode === "zero") {
2099
+ spanGaps = true;
2100
+ if (nullValueMode === "zero") {
2101
+ replaceNullsWithZero = true;
2102
+ }
2103
+ }
2104
+ yfields.forEach((field) => {
2105
+ seriesConfig[field] = {
2106
+ overrides: { width: lineWidth != null ? lineWidth : DEFAULT_LINE_WIDTH }
2107
+ };
2108
+ if (spanGaps !== void 0) {
2109
+ seriesConfig[field].overrides.spanGaps = spanGaps;
2110
+ }
2111
+ if (y2Enabled) {
2112
+ const shouldAssignToY2 = (
2113
+ // If y2Fields are present, assign all y2Fields to y2 scale
2114
+ (y2fields == null ? void 0 : y2fields.length) > 0 && y2fields.includes(field) || // Else, assign all overlayFields to y2 scale
2115
+ (!y2fields || y2fields.length === 0) && (overlayFields == null ? void 0 : overlayFields.includes(field))
2116
+ );
2117
+ if (shouldAssignToY2) {
2118
+ seriesConfig[field].overrides.scale = "y2";
2119
+ }
2120
+ }
2121
+ if (overlayFields == null ? void 0 : overlayFields.includes(field)) {
2122
+ seriesConfig[field].type = "line";
2123
+ }
2124
+ if (replaceNullsWithZero !== void 0) {
2125
+ seriesConfig[field].replaceNullsWithZero = replaceNullsWithZero;
2126
+ }
2127
+ });
2128
+ return seriesConfig;
2129
+ };
2130
+
2131
+ // src/common/TimeSeriesChartWrapper.tsx
2132
+ var TimeSeriesChartContainer = styled_components_default.div`
2133
+ overflow: hidden;
2134
+ ${(props) => (0, style_exports.toDimension)((0, lodash_exports.pick)(props, ["width", "height"]))};
2135
+
2136
+ canvas {
2137
+ position: absolute !important; // This is needed for canvas element export pdf/png to work correctly
2138
+ }
2139
+ `;
2140
+ var handleClick = (chartEvent, props) => {
2141
+ const payload = __spreadProps(__spreadValues({}, (0, lodash_exports.pick)(chartEvent, "value", "seriesKey")), {
2142
+ name: chartEvent.seriesKey
2143
+ });
2144
+ delete payload.seriesKey;
2145
+ const clickHandler = props == null ? void 0 : props.onClick;
2146
+ if (clickHandler) {
2147
+ clickHandler({
2148
+ type: "point.click",
2149
+ originalEvent: chartEvent,
2150
+ payload
2151
+ });
2152
+ }
2153
+ };
2154
+ var handleLegendClick = (chartEvent, props) => {
2155
+ const payload = {
2156
+ name: chartEvent
2157
+ };
2158
+ const clickHandler = props == null ? void 0 : props.onClick;
2159
+ if (clickHandler) {
2160
+ clickHandler({
2161
+ type: "legend.click",
2162
+ originalEvent: chartEvent,
2163
+ payload
2164
+ });
2165
+ }
2166
+ };
2167
+ var TimeSeriesChartWrapper = (props) => {
2168
+ const { width, height, chartData, options, userLocale, annotationX, annotationLabel, annotationColor } = props;
2169
+ const {
2170
+ backgroundColor,
2171
+ seriesColors: seriesColorsStr,
2172
+ fieldColors,
2173
+ "axisTitleX.text": xAxisTitleText,
2174
+ "axisTitleY.text": yAxisTitleText,
2175
+ "axisTitleY2.text": y2AxisTitleText,
2176
+ "axisTitleX.visibility": xAxisTitleVisibility,
2177
+ "axisTitleY.visibility": yAxisTitleVisibility,
2178
+ "axisTitleY2.visibility": y2AxisTitleVisibility,
2179
+ "axisY.abbreviation": yAxisAbbreviation,
2180
+ "axisY.scale": yAxisScale,
2181
+ "axisY2.abbreviation": y2AxisAbbreviation,
2182
+ "axisY2.fields": y2FieldsStr,
2183
+ "axisY2.scale": y2AxisScale,
2184
+ "axisY2.enabled": y2Enabled,
2185
+ "axisLabelsY2.integerUnits": y2IntegerUnits,
2186
+ "chart.overlayFields": overlayFieldsStr,
2187
+ "chart.nullValueMode": nullValueMode,
2188
+ lineWidth
2189
+ } = options;
2190
+ const seriesColors = seriesColorsStr ? JSON.parse(seriesColorsStr) : void 0;
2191
+ const seriesColorsByField = fieldColors ? JSON.parse(fieldColors) : void 0;
2192
+ const [containerWidth, setContainerWidth] = react_exports.useState(Number(props.width));
2193
+ const [containerHeight, setContainerHeight] = react_exports.useState(Number(props.height));
2194
+ const cachedHandleResize = react_exports.useCallback((w, h) => {
2195
+ setContainerWidth(w);
2196
+ setContainerHeight(h);
2197
+ }, []);
2198
+ const filteredChartData = filterChartDataFromInternalFields({
2199
+ fields: chartData.fields,
2200
+ columns: chartData.seriesList
2201
+ });
2202
+ const xField = getFieldName(filteredChartData.fields[0]);
2203
+ const yFields = getFieldNames(
2204
+ filteredChartData.fields.length > 1 ? filteredChartData.fields.slice(1) : []
2205
+ );
2206
+ const y2Fields = y2FieldsStr ? y2FieldsStr.split(",").map((f) => f.trim()) : [];
2207
+ const overlayFields = overlayFieldsStr ? overlayFieldsStr.split(",").map((f) => f.trim()) : [];
2208
+ let xAxisTitle = getComputedAxisTitles(xAxisTitleText, [xField], xAxisTitleVisibility);
2209
+ xAxisTitle = ellipsisAxisTitle(xAxisTitle, containerWidth);
2210
+ let yAxisTitle = getComputedAxisTitles(yAxisTitleText, yFields, yAxisTitleVisibility);
2211
+ yAxisTitle = ellipsisAxisTitle(yAxisTitle, containerHeight);
2212
+ const fieldsForY2Axis = y2Fields.length > 0 ? y2Fields : overlayFields;
2213
+ let y2AxisTitle = getComputedAxisTitles(y2AxisTitleText, fieldsForY2Axis, y2AxisTitleVisibility);
2214
+ y2AxisTitle = ellipsisAxisTitle(y2AxisTitle, containerHeight);
2215
+ const xScaleConfig = getXScaleConfig(xAxisTitle);
2216
+ const yScaleConfig = getYScaleConfig(yAxisTitle, yAxisAbbreviation, yAxisScale);
2217
+ let y2ScaleConfig = {};
2218
+ if (y2Enabled) {
2219
+ y2ScaleConfig = getY2ScaleConfig(y2AxisTitle, y2AxisAbbreviation, y2AxisScale, y2IntegerUnits);
2220
+ }
2221
+ const uplotContainerElement = (0, react_exports.useRef)(null);
2222
+ const seriesDataFormatted = [
2223
+ filteredChartData.columns[0],
2224
+ ...convert2DArrayToNumbers(filteredChartData.columns.slice(1))
2225
+ ];
2226
+ chartData.fields = filteredChartData.fields;
2227
+ chartData.columns = seriesDataFormatted;
2228
+ const seriesOverrides = getSeriesOverrides(
2229
+ yFields,
2230
+ y2Fields,
2231
+ lineWidth,
2232
+ overlayFields,
2233
+ y2Enabled,
2234
+ nullValueMode
2235
+ );
2236
+ const chartingEventAnnotations = getAnnotationsForCanvas({
2237
+ annotationX,
2238
+ annotationColor,
2239
+ annotationLabel
2240
+ });
2241
+ const MemoizedChart = react_exports.memo(visualization_canvas_exports.TimeSeriesChart);
2242
+ const scaleConfig = __spreadValues(__spreadValues(__spreadValues({}, xScaleConfig), yScaleConfig), y2ScaleConfig);
2243
+ const memoizedChart = (0, react_exports.useMemo)(
2244
+ () => /* @__PURE__ */ react_exports.createElement(
2245
+ MemoizedChart,
2246
+ {
2247
+ data: chartData,
2248
+ width: containerWidth,
2249
+ height: containerHeight,
2250
+ seriesColors,
2251
+ seriesColorsByField,
2252
+ seriesConfig: seriesOverrides,
2253
+ legend: getLegend(props),
2254
+ scaleConfig,
2255
+ timestampFormat: "expanded",
2256
+ onCrosshairClick: (event) => handleClick(event, props),
2257
+ onSeriesClick: (event) => handleLegendClick(event, props),
2258
+ userLocale,
2259
+ events: chartingEventAnnotations,
2260
+ eventsConfig: { renderer: triangleEventAnnotationRenderer }
2261
+ }
2262
+ ),
2263
+ [
2264
+ MemoizedChart,
2265
+ chartData,
2266
+ containerWidth,
2267
+ containerHeight,
2268
+ seriesColors,
2269
+ seriesColorsByField,
2270
+ seriesOverrides,
2271
+ lineWidth,
2272
+ props,
2273
+ scaleConfig,
2274
+ userLocale,
2275
+ chartingEventAnnotations
2276
+ ]
2277
+ );
2278
+ const memoizedVisualization = (0, react_exports.useMemo)(() => {
2279
+ return /* @__PURE__ */ react_exports.createElement(VizStyleWrapper_default, { backgroundColor }, memoizedChart);
2280
+ }, [backgroundColor]);
2281
+ return /* @__PURE__ */ react_exports.createElement(
2282
+ TimeSeriesChartContainer,
2283
+ {
2284
+ height,
2285
+ width,
2286
+ ref: uplotContainerElement,
2287
+ "data-test": "timeseries-chart-wrapper"
2288
+ },
2289
+ /* @__PURE__ */ react_exports.createElement(SizeAwareWrapper_default, { width, height, onResize: cachedHandleResize }),
2290
+ memoizedVisualization
2291
+ );
2292
+ };
2293
+ var TimeSeriesChartWrapper_default = TimeSeriesChartWrapper;
2294
+
1913
2295
  // src/common/withDashboardViz.tsx
1914
2296
  var withDashboardViz = (opts) => {
1915
2297
  const {
@@ -1927,30 +2309,29 @@ var withDashboardViz = (opts) => {
1927
2309
  const DashboardViz = (props) => {
1928
2310
  var _a;
1929
2311
  const {
1930
- mode,
2312
+ mode = "view",
1931
2313
  hasEventHandlers,
1932
2314
  dataSources,
1933
2315
  // type of { [key: string]: DataSource }
1934
- options,
2316
+ options = {},
1935
2317
  context = {},
1936
2318
  width,
1937
2319
  height,
1938
- onComputedProps,
1939
- onEventTrigger,
2320
+ onComputedProps = lodash_exports.noop,
2321
+ onEventTrigger = SplunkVisualization_default.defaults.onEventTrigger,
1940
2322
  theme,
1941
- onRequestParamsChange
2323
+ onRequestParamsChange = lodash_exports.noop
1942
2324
  } = props;
1943
- const { serializedTimezone } = react_exports.useContext(TimezoneContext_default);
1944
- if (serializedTimezone) {
2325
+ const localeContext = react_exports.useContext(TimezoneContext_default);
2326
+ if (localeContext.serializedTimezone) {
1945
2327
  if (!moment_default.getDefaultSplunkTimezone()) {
1946
- moment_default.setDefaultSplunkTimezone(serializedTimezone);
2328
+ moment_default.setDefaultSplunkTimezone(localeContext.serializedTimezone);
1947
2329
  }
1948
2330
  }
1949
2331
  const themeFunc = (themeVar) => {
1950
2332
  var _a2, _b;
1951
2333
  return (_b = (_a2 = vizConfig.themes)[themeVar]) == null ? void 0 : _b.call(_a2, props);
1952
2334
  };
1953
- const bgColorFromTheme = themeFunc("defaultBackgroundColor");
1954
2335
  const {
1955
2336
  family: currentThemeFamily,
1956
2337
  colorScheme: currentThemeColorScheme,
@@ -1972,6 +2353,10 @@ var withDashboardViz = (opts) => {
1972
2353
  featureFlagContext && featureFlagContext.visualizations_enableTrellis
1973
2354
  );
1974
2355
  const isTrellisOn = isTrellisFeatureFlagOn2 && ((_a = vizConfig == null ? void 0 : vizConfig.supports) == null ? void 0 : _a.includes("trellis" /* TRELLIS */)) && (options == null ? void 0 : options.splitByLayout) === "trellis" /* TRELLIS */;
2356
+ const isAcceleratedRenderFeatureFlagOn = Boolean(
2357
+ featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableAcceleratedRender
2358
+ );
2359
+ const isAcceleratedRenderOn = isAcceleratedRenderFeatureFlagOn && isTimeSeriesCanvasRenderSupported(vizConfig.key) && (options == null ? void 0 : options.acceleratedRender) === true;
1975
2360
  const isMounted = react_exports.useRef(true);
1976
2361
  const optionsToEvaluate = react_exports.useMemo(() => {
1977
2362
  var _a2;
@@ -2066,10 +2451,34 @@ var withDashboardViz = (opts) => {
2066
2451
  currentThemeDensity,
2067
2452
  optionsToEvaluate,
2068
2453
  downsampledDataSources,
2069
- serializedTimezone,
2454
+ localeContext.serializedTimezone,
2070
2455
  useAsyncEvaluatedOptions
2071
2456
  ]);
2072
2457
  const evaluatedOptionsToUse = !useAsyncEvaluatedOptions ? evaluatedOptions : evaluatedOptionsAsync;
2458
+ let dataSourceMetadata = {};
2459
+ const OptionKey = "paginateDataSourceKey";
2460
+ const optsKey = (0, lodash_exports.has)(evaluatedOptionsToUse, OptionKey) && evaluatedOptionsToUse[OptionKey];
2461
+ const paginateDataSourceKey = typeof optsKey === "string" ? optsKey : "primary";
2462
+ const requestParams = (0, lodash_exports.get)(dataSources, [paginateDataSourceKey, "requestParams"], {});
2463
+ const meta = (0, lodash_exports.get)(dataSources, [paginateDataSourceKey, "meta"], {});
2464
+ const handleRequestParamsChange = (payload) => onRequestParamsChange(paginateDataSourceKey, payload);
2465
+ const sortParams = useSortingParams({
2466
+ requestParams,
2467
+ meta,
2468
+ onRequestParamsChange: handleRequestParamsChange
2469
+ });
2470
+ const paginatorParams = usePaginationParams({
2471
+ requestParams,
2472
+ meta,
2473
+ onRequestParamsChange: handleRequestParamsChange
2474
+ });
2475
+ dataSourceMetadata = {
2476
+ sortParams,
2477
+ paginatorParams
2478
+ };
2479
+ if (vizConfig.supports.indexOf("page-and-sort" /* PAGE_AND_SORT */) === -1 && !(0, lodash_exports.has)(dataSources, paginateDataSourceKey)) {
2480
+ dataSourceMetadata = {};
2481
+ }
2073
2482
  const clonedEvaluatedOptions = __spreadValues({}, evaluatedOptionsToUse);
2074
2483
  if (isTrellisOn) {
2075
2484
  clonedEvaluatedOptions.backgroundColor = clonedEvaluatedOptions == null ? void 0 : clonedEvaluatedOptions.trellisBackgroundColor;
@@ -2095,7 +2504,7 @@ var withDashboardViz = (opts) => {
2095
2504
  width,
2096
2505
  height,
2097
2506
  missingProps: missing,
2098
- backgroundColor: bgColorFromTheme
2507
+ backgroundColor: themeFunc("defaultBackgroundColor")
2099
2508
  }
2100
2509
  );
2101
2510
  }
@@ -2133,45 +2542,27 @@ var withDashboardViz = (opts) => {
2133
2542
  const computedVizProps = computeVizProps2(__spreadProps(__spreadValues(__spreadValues(__spreadValues({}, props), evaluatedOptionsToUse), eventCallbackProps), {
2134
2543
  themeFunc
2135
2544
  }));
2136
- let dataSourceMetadata = {};
2137
- const OptionKey = "paginateDataSourceKey";
2138
- const optsKey = (0, lodash_exports.has)(evaluatedOptionsToUse, OptionKey) && evaluatedOptionsToUse[OptionKey];
2139
- const paginateDataSourceKey = typeof optsKey === "string" ? optsKey : "primary";
2140
- if (vizConfig.supports.indexOf("page-and-sort" /* PAGE_AND_SORT */) > -1 && (0, lodash_exports.has)(dataSources, paginateDataSourceKey)) {
2141
- const requestParams = (0, lodash_exports.get)(dataSources, [paginateDataSourceKey, "requestParams"], {});
2142
- const meta = (0, lodash_exports.get)(dataSources, [paginateDataSourceKey, "meta"], {});
2143
- const handleRequestParamsChange = (payload) => onRequestParamsChange(paginateDataSourceKey, payload);
2144
- const sortParams = getSortingParams({
2145
- requestParams,
2146
- meta,
2147
- onRequestParamsChange: handleRequestParamsChange
2148
- });
2149
- const paginatorParams = getPaginationParams({
2150
- requestParams,
2151
- meta,
2152
- onRequestParamsChange: handleRequestParamsChange
2153
- });
2154
- dataSourceMetadata = {
2155
- sortParams,
2156
- paginatorParams
2157
- };
2158
- }
2159
2545
  if (useAsyncEvaluatedOptions && Object.keys(evaluatedOptionsToUse).length === 0) {
2160
2546
  return null;
2161
2547
  }
2548
+ let SanitizedViz = SanitizedReactViz;
2549
+ if (isAcceleratedRenderOn) {
2550
+ SanitizedViz = (0, SanitizeProps_exports.withSanitizedProps)(TimeSeriesChartWrapper_default);
2551
+ }
2162
2552
  return /* @__PURE__ */ react_exports.createElement(
2163
- SanitizedReactViz,
2164
- __spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues({
2553
+ SanitizedViz,
2554
+ __spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadProps(__spreadValues({}, SplunkVisualization_default.defaults), {
2165
2555
  mode,
2166
- width,
2167
- height
2168
- }, downsamplingProps), evaluatedOptionsToUse), computedVizProps), eventCallbackProps), dataSourceMetadata)
2556
+ width: width || SplunkVisualization_default.defaults.width,
2557
+ height: height || SplunkVisualization_default.defaults.height,
2558
+ userLocale: localeContext
2559
+ }), downsamplingProps), evaluatedOptionsToUse), computedVizProps), eventCallbackProps), dataSourceMetadata)
2169
2560
  );
2170
2561
  };
2171
2562
  DashboardViz.propTypes = __spreadValues(__spreadValues({}, SplunkVisualization_default.propTypes), ReactViz.propTypes);
2172
- DashboardViz.defaultProps = __spreadProps(__spreadValues(__spreadValues({}, SplunkVisualization_default.defaultProps), ReactViz.defaultProps), {
2173
- // using withTheme requires component to receive theme prop. In case the consumer did not provide ThemeProvider, a default empty object will prevent warnings.
2174
- theme: {}
2563
+ DashboardViz.defaultProps = __spreadProps(__spreadValues({}, ReactViz.defaultProps), {
2564
+ // we still need ReactViz.defaultProps for the visualizations that still have them
2565
+ onEventTrigger: SplunkVisualization_default.defaults.onEventTrigger
2175
2566
  });
2176
2567
  DashboardViz.config = vizConfig;
2177
2568
  return (0, styled_components_exports.withTheme)(
@@ -2185,9 +2576,9 @@ var colorConstants_exports = {};
2185
2576
  __export(colorConstants_exports, {
2186
2577
  default: () => colorConstants_default
2187
2578
  });
2188
- var defaultImport31 = __toESM(require("@splunk/visualizations-shared/colorConstants"));
2579
+ var defaultImport33 = __toESM(require("@splunk/visualizations-shared/colorConstants"));
2189
2580
  __reExport(colorConstants_exports, require("@splunk/visualizations-shared/colorConstants"));
2190
- var colorConstants_default = "default" in defaultImport31 ? defaultImport31.default : defaultImport31;
2581
+ var colorConstants_default = "default" in defaultImport33 ? defaultImport33.default : defaultImport33;
2191
2582
 
2192
2583
  // src/common/gaugeUtils.ts
2193
2584
  var GAUGE_THICKNESS = 50;
@@ -2443,12 +2834,12 @@ var MajorTicks = (_a) => {
2443
2834
  height,
2444
2835
  startX,
2445
2836
  startY,
2446
- min,
2447
- max,
2448
- majorUnit,
2449
- orientation,
2450
- showLabels,
2451
- usePercentageRange,
2837
+ min = 0,
2838
+ max = 100,
2839
+ majorUnit = "auto",
2840
+ orientation = "horizontal",
2841
+ showLabels = true,
2842
+ usePercentageRange = false,
2452
2843
  majorTickFillColor,
2453
2844
  majorTickStrokeColor
2454
2845
  } = props;
@@ -2533,14 +2924,6 @@ MajorTicks.propTypes = {
2533
2924
  majorTickFillColor: prop_types_default.string,
2534
2925
  majorTickStrokeColor: prop_types_default.string
2535
2926
  };
2536
- MajorTicks.defaultProps = {
2537
- min: 0,
2538
- max: 100,
2539
- majorUnit: "auto",
2540
- orientation: "horizontal",
2541
- showLabels: true,
2542
- usePercentageRange: false
2543
- };
2544
2927
  var GaugeMajorTicks_default = MajorTicks;
2545
2928
 
2546
2929
  // esm-externals:@splunk/ui-utils/format
@@ -2548,9 +2931,9 @@ var format_exports = {};
2548
2931
  __export(format_exports, {
2549
2932
  default: () => format_default
2550
2933
  });
2551
- var defaultImport32 = __toESM(require("@splunk/ui-utils/format"));
2934
+ var defaultImport34 = __toESM(require("@splunk/ui-utils/format"));
2552
2935
  __reExport(format_exports, require("@splunk/ui-utils/format"));
2553
- var format_default = "default" in defaultImport32 ? defaultImport32.default : defaultImport32;
2936
+ var format_default = "default" in defaultImport34 ? defaultImport34.default : defaultImport34;
2554
2937
 
2555
2938
  // src/common/GaugeValueMarker.jsx
2556
2939
  var MARKER_THICKNESS = 15;
@@ -2621,15 +3004,15 @@ var ValueMarker = (_a) => {
2621
3004
  x,
2622
3005
  y,
2623
3006
  length,
2624
- min,
2625
- max,
3007
+ min = 0,
3008
+ max = 100,
2626
3009
  value,
2627
- orientation,
2628
- showValue,
2629
- usePercentageValue,
3010
+ orientation = "horizontal",
3011
+ showValue = true,
3012
+ usePercentageValue = false,
2630
3013
  valueMarkerFillColor,
2631
3014
  valueMarkerLabelFillColor,
2632
- alignCenter
3015
+ alignCenter = false
2633
3016
  } = props;
2634
3017
  const valueMarkerRectLength = length + DELTA_LENGTH;
2635
3018
  const { labelRectX, labelRectY, labelX, labelY } = positionLabel({
@@ -2693,14 +3076,6 @@ ValueMarker.propTypes = {
2693
3076
  valueMarkerLabelFillColor: prop_types_default.string,
2694
3077
  alignCenter: prop_types_default.bool
2695
3078
  };
2696
- ValueMarker.defaultProps = {
2697
- min: 0,
2698
- max: 100,
2699
- orientation: "horizontal",
2700
- showValue: true,
2701
- usePercentageValue: false,
2702
- alignCenter: false
2703
- };
2704
3079
  var GaugeValueMarker_default = ValueMarker;
2705
3080
 
2706
3081
  // src/common/hooks/useTrellisEnabled.ts
@@ -2948,27 +3323,27 @@ var Paginator_exports = {};
2948
3323
  __export(Paginator_exports, {
2949
3324
  default: () => Paginator_default
2950
3325
  });
2951
- var defaultImport33 = __toESM(require("@splunk/react-ui/Paginator"));
3326
+ var defaultImport35 = __toESM(require("@splunk/react-ui/Paginator"));
2952
3327
  __reExport(Paginator_exports, require("@splunk/react-ui/Paginator"));
2953
- var Paginator_default = "default" in defaultImport33 ? defaultImport33.default : defaultImport33;
3328
+ var Paginator_default = "default" in defaultImport35 ? defaultImport35.default : defaultImport35;
2954
3329
 
2955
3330
  // esm-externals:@splunk/themes
2956
3331
  var themes_exports = {};
2957
3332
  __export(themes_exports, {
2958
3333
  default: () => themes_default
2959
3334
  });
2960
- var defaultImport34 = __toESM(require("@splunk/themes"));
3335
+ var defaultImport36 = __toESM(require("@splunk/themes"));
2961
3336
  __reExport(themes_exports, require("@splunk/themes"));
2962
- var themes_default = "default" in defaultImport34 ? defaultImport34.default : defaultImport34;
3337
+ var themes_default = "default" in defaultImport36 ? defaultImport36.default : defaultImport36;
2963
3338
 
2964
3339
  // esm-externals:@splunk/themes/useSplunkTheme
2965
3340
  var useSplunkTheme_exports = {};
2966
3341
  __export(useSplunkTheme_exports, {
2967
3342
  default: () => useSplunkTheme_default
2968
3343
  });
2969
- var defaultImport35 = __toESM(require("@splunk/themes/useSplunkTheme"));
3344
+ var defaultImport37 = __toESM(require("@splunk/themes/useSplunkTheme"));
2970
3345
  __reExport(useSplunkTheme_exports, require("@splunk/themes/useSplunkTheme"));
2971
- var useSplunkTheme_default = "default" in defaultImport35 ? defaultImport35.default : defaultImport35;
3346
+ var useSplunkTheme_default = "default" in defaultImport37 ? defaultImport37.default : defaultImport37;
2972
3347
 
2973
3348
  // src/common/hocs/withTrellis.tsx
2974
3349
  var TrellisContainer = styled_components_default.div`
@@ -3200,7 +3575,6 @@ var withTrellis = (Viz) => {
3200
3575
  return null;
3201
3576
  };
3202
3577
  VizWithTrellis.propTypes = Viz.proptypes;
3203
- VizWithTrellis.defaultProps = Viz.defaultProps;
3204
3578
  VizWithTrellis.config = Viz.config;
3205
3579
  return VizWithTrellis;
3206
3580
  };