@splunk/visualizations 25.5.0 → 25.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (237) hide show
  1. package/.loki/reference/chrome_docker_PureVisualizations_PureEvents_TimeControlsPopover_Dark.png +0 -0
  2. package/.loki/reference/chrome_docker_PureVisualizations_PureEvents_TimeControlsPopover_DarkPrisma.png +0 -0
  3. package/.loki/reference/chrome_docker_PureVisualizations_PureEvents_TimeControlsPopover_Light.png +0 -0
  4. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Bar_Editor.png +0 -0
  5. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_ChoroplethSvg_Editor.png +0 -0
  6. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Column_Editor.png +0 -0
  7. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Ellipse_Editor.png +0 -0
  8. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_FillerGauge_Editor.png +0 -0
  9. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_LinkGraph_Editor.png +0 -0
  10. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Map_Editor.png +0 -0
  11. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Parallel_Coordinates_Editor.png +0 -0
  12. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Pie_Editor.png +0 -0
  13. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Rectangle_Editor.png +0 -0
  14. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Editor.png +0 -0
  15. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Icon_Editor.png +0 -0
  16. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Radial_Editor.png +0 -0
  17. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Table_Editor.png +0 -0
  18. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Legend_Mode_Series_Compare.png +0 -0
  19. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Legend_Mode_Series_Compare.png +0 -0
  20. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Background_Color_Light_Blue.png +0 -0
  21. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Basic_Events.png +0 -0
  22. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Event_Actions.png +0 -0
  23. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Field_Actions.png +0 -0
  24. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Field_Summary.png +0 -0
  25. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Field_Summary_Simulated_Instance.png +0 -0
  26. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Footer_Fields.png +0 -0
  27. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Value_Highlighting.png +0 -0
  28. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Width_Height.png +0 -0
  29. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Width_Percentage_50.png +0 -0
  30. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_Pagination.png +0 -0
  31. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_background_color.png +0 -0
  32. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_chart_cmd_count_by_status.png +0 -0
  33. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_chart_cmd_count_by_status_user.png +0 -0
  34. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_chart_cmd_count_by_status_user_aggregations.png +0 -0
  35. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_chart_cmd_max_count_avg_count_aggregations.png +0 -0
  36. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_chart_cmd_max_count_avg_count_by_status_user_aggregations.png +0 -0
  37. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_layout_options.png +0 -0
  38. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_makeresults_name_age.png +0 -0
  39. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_makeresults_name_age_aggregations.png +0 -0
  40. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_stats_cmd_avg_count_max_count_aggregations.png +0 -0
  41. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_stats_cmd_avg_count_max_count_by_status_user_aggregations.png +0 -0
  42. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_stats_cmd_count_by_status_user.png +0 -0
  43. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_stats_cmd_count_by_status_user_aggregations.png +0 -0
  44. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_table.png +0 -0
  45. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_table_aggregations.png +0 -0
  46. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_timechart_cmd_count_aggregations.png +0 -0
  47. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_timechart_cmd_count_by_status.png +0 -0
  48. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_timechart_cmd_count_by_status_aggregations.png +0 -0
  49. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_timechart_cmd_max_count_avg_count_by_status_aggregations.png +0 -0
  50. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_Chart.png +0 -0
  51. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_Chart_Count.png +0 -0
  52. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_Pagination.png +0 -0
  53. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_Timechart.png +0 -0
  54. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_background_color.png +0 -0
  55. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_chart_cmd_count_by_status_user_aggregations.png +0 -0
  56. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_chart_cmd_max_count_avg_count_aggregations.png +0 -0
  57. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_chart_cmd_max_count_avg_count_by_status_user_aggregations.png +0 -0
  58. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_layout_options.png +0 -0
  59. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_makeresults_name_age.png +0 -0
  60. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_makeresults_name_age_aggregations.png +0 -0
  61. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_stats_cmd_avg_count_max_count_aggregations.png +0 -0
  62. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_stats_cmd_count_by_status_user.png +0 -0
  63. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_stats_cmd_count_by_status_user_aggregations.png +0 -0
  64. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_table.png +0 -0
  65. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_table_aggregations.png +0 -0
  66. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_timechart_cmd_count_aggregations.png +0 -0
  67. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_timechart_cmd_count_by_status_aggregations.png +0 -0
  68. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_timechart_cmd_max_count_avg_count_by_status_aggregations.png +0 -0
  69. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Trellis_stats_cmd_avg_count_max_count_by_status_user_aggregations.png +0 -0
  70. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_Pagination.png +0 -0
  71. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_assign_default_trellisSplitBy_value_status.png +0 -0
  72. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_background_color.png +0 -0
  73. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_avg_count_max_count_by_status.png +0 -0
  74. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_avg_count_max_count_by_status_value_by_max_count.png +0 -0
  75. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_count_by_status.png +0 -0
  76. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_count_by_status_user.png +0 -0
  77. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_count_by_status_user_aggregations.png +0 -0
  78. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_count_by_status_user_user.png +0 -0
  79. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_max_count_avg_count_aggregations.png +0 -0
  80. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_max_count_avg_count_by_status_user.png +0 -0
  81. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_max_count_avg_count_by_status_user_aggregations.png +0 -0
  82. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_max_count_avg_count_by_status_user_user.png +0 -0
  83. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_layout_options.png +0 -0
  84. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_makeresults_name_age.png +0 -0
  85. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_makeresults_name_age_aggregations.png +0 -0
  86. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_stats_cmd_avg_count_max_count_aggregations.png +0 -0
  87. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_stats_cmd_avg_count_max_count_by_status.png +0 -0
  88. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_stats_cmd_avg_count_max_count_by_status_user_aggregations.png +0 -0
  89. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_stats_cmd_avg_count_max_count_by_status_value_by_max_count.png +0 -0
  90. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_stats_cmd_count_by_status_user.png +0 -0
  91. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_stats_cmd_count_by_status_user_aggregations.png +0 -0
  92. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_table.png +0 -0
  93. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_table_aggregations.png +0 -0
  94. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_timechart_cmd_count_aggregations.png +0 -0
  95. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_timechart_cmd_count_by_status.png +0 -0
  96. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_timechart_cmd_count_by_status_aggregations.png +0 -0
  97. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_timechart_cmd_max_count_avg_count_by_status.png +0 -0
  98. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_timechart_cmd_max_count_avg_count_by_status_aggregations.png +0 -0
  99. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Major_value_data_null_show_N_A.png +0 -0
  100. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Set_The_Background_Color_Based_On_The_Major_Value_Trellis.png +0 -0
  101. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Height_Percentage.png +0 -0
  102. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Height_Percentage_100_no_paginator.png +0 -0
  103. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Height_Percentage_50_no_paginator.png +0 -0
  104. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparkline.png +0 -0
  105. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparkline_Custom.png +0 -0
  106. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparkline_Width.png +0 -0
  107. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparklines_Adv.png +0 -0
  108. package/Area.config.js +12 -7
  109. package/Area.config.js.map +1 -1
  110. package/Area.js +330 -226
  111. package/Area.js.map +1 -1
  112. package/Bar.config.js +36 -8
  113. package/Bar.config.js.map +1 -1
  114. package/Bar.js +354 -227
  115. package/Bar.js.map +1 -1
  116. package/Bubble.config.js +7 -2
  117. package/Bubble.config.js.map +1 -1
  118. package/Bubble.js +318 -214
  119. package/Bubble.js.map +1 -1
  120. package/ChoroplethSvg.config.js +12 -8
  121. package/ChoroplethSvg.config.js.map +1 -1
  122. package/ChoroplethSvg.js +324 -229
  123. package/ChoroplethSvg.js.map +1 -1
  124. package/Column.config.js +36 -8
  125. package/Column.config.js.map +1 -1
  126. package/Column.js +354 -227
  127. package/Column.js.map +1 -1
  128. package/Ellipse.config.js +23 -20
  129. package/Ellipse.config.js.map +1 -1
  130. package/Ellipse.js +289 -187
  131. package/Ellipse.js.map +1 -1
  132. package/Events.config.js +82 -19
  133. package/Events.config.js.map +1 -1
  134. package/Events.js +1276 -416
  135. package/Events.js.map +1 -1
  136. package/FEATUREFLAGS.md +40 -0
  137. package/FillerGauge.config.js +22 -19
  138. package/FillerGauge.config.js.map +1 -1
  139. package/FillerGauge.js +311 -204
  140. package/FillerGauge.js.map +1 -1
  141. package/Image.config.js +3 -3
  142. package/Image.config.js.map +1 -1
  143. package/Image.js +249 -151
  144. package/Image.js.map +1 -1
  145. package/LICENSE.md +444 -8
  146. package/Line.config.js +12 -7
  147. package/Line.config.js.map +1 -1
  148. package/Line.js +335 -226
  149. package/Line.js.map +1 -1
  150. package/LinkGraph.config.js +9 -15
  151. package/LinkGraph.config.js.map +1 -1
  152. package/LinkGraph.js +881 -790
  153. package/LinkGraph.js.map +1 -1
  154. package/Map.config.js +51 -48
  155. package/Map.config.js.map +1 -1
  156. package/Map.js +804 -711
  157. package/Map.js.map +1 -1
  158. package/Markdown.config.js +10 -9
  159. package/Markdown.config.js.map +1 -1
  160. package/Markdown.js +365 -266
  161. package/Markdown.js.map +1 -1
  162. package/MarkerGauge.config.js +71 -70
  163. package/MarkerGauge.config.js.map +1 -1
  164. package/MarkerGauge.js +422 -330
  165. package/MarkerGauge.js.map +1 -1
  166. package/ParallelCoordinates.config.js +3 -3
  167. package/ParallelCoordinates.config.js.map +1 -1
  168. package/ParallelCoordinates.js +532 -430
  169. package/ParallelCoordinates.js.map +1 -1
  170. package/Pie.config.js +30 -6
  171. package/Pie.config.js.map +1 -1
  172. package/Pie.js +553 -431
  173. package/Pie.js.map +1 -1
  174. package/Punchcard.config.js +3 -2
  175. package/Punchcard.config.js.map +1 -1
  176. package/Punchcard.js +556 -464
  177. package/Punchcard.js.map +1 -1
  178. package/Rectangle.config.js +22 -23
  179. package/Rectangle.config.js.map +1 -1
  180. package/Rectangle.js +383 -286
  181. package/Rectangle.js.map +1 -1
  182. package/Sankey.config.js +14 -13
  183. package/Sankey.config.js.map +1 -1
  184. package/Sankey.js +3126 -3034
  185. package/Sankey.js.map +1 -1
  186. package/Scatter.config.js +552 -580
  187. package/Scatter.config.js.map +1 -1
  188. package/Scatter.js +410 -311
  189. package/Scatter.js.map +1 -1
  190. package/SingleValue.config.js +242 -52
  191. package/SingleValue.config.js.map +1 -1
  192. package/SingleValue.js +1605 -414
  193. package/SingleValue.js.map +1 -1
  194. package/SingleValueBasic.js +41 -30
  195. package/SingleValueBasic.js.map +1 -1
  196. package/SingleValueIcon.config.js +267 -58
  197. package/SingleValueIcon.config.js.map +1 -1
  198. package/SingleValueIcon.js +1622 -410
  199. package/SingleValueIcon.js.map +1 -1
  200. package/SingleValueRadial.config.js +249 -41
  201. package/SingleValueRadial.config.js.map +1 -1
  202. package/SingleValueRadial.js +1517 -283
  203. package/SingleValueRadial.js.map +1 -1
  204. package/TRELLIS.md +296 -0
  205. package/Table.config.js +39 -41
  206. package/Table.config.js.map +1 -1
  207. package/Table.js +435 -311
  208. package/Table.js.map +1 -1
  209. package/common/EventsDoc.js +12 -6
  210. package/common/EventsDoc.js.map +1 -1
  211. package/common/GaugeMajorTicks.js +2 -2
  212. package/common/GaugeValueMarker.js +2 -2
  213. package/common/OptionsDoc.js +14 -14
  214. package/common/OptionsDoc.js.map +1 -1
  215. package/common/ThemesDoc.js +10 -10
  216. package/common/ThemesDoc.js.map +1 -1
  217. package/common/docUtils.js +1 -1
  218. package/common/docUtils.js.map +1 -1
  219. package/common/utils/configUtils.js +26 -20
  220. package/common/utils/configUtils.js.map +1 -1
  221. package/common/utils/dataUtils.js +2 -2
  222. package/common/utils/dataUtils.js.map +1 -1
  223. package/common/utils/hocUtils.js +2 -2
  224. package/common/utils/hocUtils.js.map +1 -1
  225. package/common/utils/layoutUtils.js +115 -0
  226. package/common/utils/layoutUtils.js.map +1 -0
  227. package/common/utils/mapUtils.js +1166 -23
  228. package/common/utils/mapUtils.js.map +1 -1
  229. package/common/utils/singleValueUtils.js +54 -46
  230. package/common/utils/singleValueUtils.js.map +1 -1
  231. package/common/utils/testHelper.js +14 -14
  232. package/common/utils/testHelper.js.map +1 -1
  233. package/common/utils/trellisUtils.js +612 -0
  234. package/common/utils/trellisUtils.js.map +1 -0
  235. package/common/withDashboardViz.js +148 -54
  236. package/common/withDashboardViz.js.map +1 -1
  237. package/package.json +14 -12
@@ -87,7 +87,7 @@ module.exports =
87
87
  /******/
88
88
  /******/
89
89
  /******/ // Load entry module and return exports
90
- /******/ return __webpack_require__(__webpack_require__.s = 456);
90
+ /******/ return __webpack_require__(__webpack_require__.s = 471);
91
91
  /******/ })
92
92
  /************************************************************************/
93
93
  /******/ ({
@@ -95,21 +95,948 @@ module.exports =
95
95
  /***/ 0:
96
96
  /***/ (function(module, exports) {
97
97
 
98
- module.exports = require("prop-types");
98
+ module.exports = require("react");
99
99
 
100
100
  /***/ }),
101
101
 
102
102
  /***/ 1:
103
103
  /***/ (function(module, exports) {
104
104
 
105
- module.exports = require("react");
105
+ module.exports = require("prop-types");
106
106
 
107
107
  /***/ }),
108
108
 
109
109
  /***/ 10:
110
110
  /***/ (function(module, exports) {
111
111
 
112
- module.exports = require("@splunk/visualizations-shared/Message");
112
+ module.exports = require("@splunk/themes/variables");
113
+
114
+ /***/ }),
115
+
116
+ /***/ 100:
117
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
118
+
119
+ "use strict";
120
+ __webpack_require__.r(__webpack_exports__);
121
+ /* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
122
+ /* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__);
123
+ /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(21);
124
+ /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__);
125
+
126
+
127
+ var StaticTrendColorEditor = {
128
+ label: Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__["_"])('Trend value'),
129
+ option: 'trendColor',
130
+ editor: 'editor.color',
131
+ showEditor: function showEditor(_ref) {
132
+ var options = _ref.options;
133
+ return !Object(_splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__["isDynamicOption"])(options.trendColor);
134
+ },
135
+ isDisabled: function isDisabled(_ref2) {
136
+ var options = _ref2.options;
137
+ return options.trendDisplay === 'off';
138
+ }
139
+ };
140
+ /* harmony default export */ __webpack_exports__["default"] = (StaticTrendColorEditor);
141
+
142
+ /***/ }),
143
+
144
+ /***/ 101:
145
+ /***/ (function(module, exports, __webpack_require__) {
146
+
147
+ "use strict";
148
+
149
+
150
+ Object.defineProperty(exports, "__esModule", {
151
+ value: true
152
+ });
153
+ exports.TrellisBackgroundColorEditor = exports.TrellisEditorConfig = void 0;
154
+
155
+ var React = __webpack_require__(0);
156
+
157
+ var i18n_1 = __webpack_require__(2);
158
+
159
+ var FeatureFlagContext_1 = __webpack_require__(20);
160
+
161
+ var layoutUtils_1 = __webpack_require__(58);
162
+ /* eslint-disable react-hooks/rules-of-hooks */
163
+
164
+
165
+ exports.TrellisEditorConfig = [[{
166
+ label: i18n_1._('Trellis Layout'),
167
+ option: 'splitByLayout',
168
+ editor: 'editor.toggle',
169
+ showEditor: function showEditor() {
170
+ var featureFlagContext = React.useContext(FeatureFlagContext_1.default);
171
+ var isTrellisFeatureFlagOn = Boolean(featureFlagContext && featureFlagContext.visualizations_enableTrellis);
172
+ return isTrellisFeatureFlagOn;
173
+ }
174
+ }], [{
175
+ label: i18n_1._('Split by'),
176
+ option: 'trellisSplitBy',
177
+ editor: 'editor.trellisSplitBy',
178
+ editorProps: {
179
+ dataSourceKey: 'primary'
180
+ },
181
+ showEditor: function showEditor(_ref) {
182
+ var options = _ref.options;
183
+ var featureFlagContext = React.useContext(FeatureFlagContext_1.default);
184
+ var isTrellisFeatureFlagOn = Boolean(featureFlagContext && featureFlagContext.visualizations_enableTrellis);
185
+ return isTrellisFeatureFlagOn && options.splitByLayout === layoutUtils_1.LAYOUT_TYPE.Trellis;
186
+ }
187
+ }], [{
188
+ label: i18n_1._('Number of columns'),
189
+ option: 'trellisColumns',
190
+ editor: 'editor.number',
191
+ editorProps: {
192
+ min: 1
193
+ },
194
+ placeholder: i18n_1._('Auto'),
195
+ showEditor: function showEditor(_ref2) {
196
+ var options = _ref2.options;
197
+ var featureFlagContext = React.useContext(FeatureFlagContext_1.default);
198
+ var isTrellisFeatureFlagOn = Boolean(featureFlagContext && featureFlagContext.visualizations_enableTrellis);
199
+ return isTrellisFeatureFlagOn && options.splitByLayout === layoutUtils_1.LAYOUT_TYPE.Trellis;
200
+ }
201
+ }], [{
202
+ label: i18n_1._('Min column width'),
203
+ option: 'trellisMinColumnWidth',
204
+ editor: 'editor.number',
205
+ editorProps: {
206
+ min: 1
207
+ },
208
+ showEditor: function showEditor(_ref3) {
209
+ var options = _ref3.options;
210
+ var featureFlagContext = React.useContext(FeatureFlagContext_1.default);
211
+ var isTrellisFeatureFlagOn = Boolean(featureFlagContext && featureFlagContext.visualizations_enableTrellis);
212
+ return isTrellisFeatureFlagOn && options.splitByLayout === layoutUtils_1.LAYOUT_TYPE.Trellis;
213
+ }
214
+ }, {
215
+ label: i18n_1._('Row height'),
216
+ option: 'trellisRowHeight',
217
+ editor: 'editor.number',
218
+ editorProps: {
219
+ min: 1
220
+ },
221
+ showEditor: function showEditor(_ref4) {
222
+ var options = _ref4.options;
223
+ var featureFlagContext = React.useContext(FeatureFlagContext_1.default);
224
+ var isTrellisFeatureFlagOn = Boolean(featureFlagContext && featureFlagContext.visualizations_enableTrellis);
225
+ return isTrellisFeatureFlagOn && options.splitByLayout === layoutUtils_1.LAYOUT_TYPE.Trellis;
226
+ }
227
+ }], [{
228
+ label: i18n_1._('Max number of components per page'),
229
+ option: 'trellisPageCount',
230
+ editor: 'editor.number',
231
+ editorProps: {
232
+ min: 1
233
+ },
234
+ showEditor: function showEditor(_ref5) {
235
+ var options = _ref5.options;
236
+ var featureFlagContext = React.useContext(FeatureFlagContext_1.default);
237
+ var isTrellisFeatureFlagOn = Boolean(featureFlagContext && featureFlagContext.visualizations_enableTrellis);
238
+ return isTrellisFeatureFlagOn && options.splitByLayout === layoutUtils_1.LAYOUT_TYPE.Trellis;
239
+ }
240
+ }]];
241
+ exports.TrellisBackgroundColorEditor = {
242
+ label: i18n_1._('Trellis background'),
243
+ option: 'trellisBackgroundColor',
244
+ editor: 'editor.color',
245
+ showEditor: function showEditor(_ref6) {
246
+ var options = _ref6.options;
247
+ var featureFlagContext = React.useContext(FeatureFlagContext_1.default);
248
+ var isTrellisFeatureFlagOn = Boolean(featureFlagContext && featureFlagContext.visualizations_enableTrellis);
249
+ return isTrellisFeatureFlagOn && options.splitByLayout === layoutUtils_1.LAYOUT_TYPE.Trellis;
250
+ }
251
+ };
252
+
253
+ /***/ }),
254
+
255
+ /***/ 102:
256
+ /***/ (function(module, exports, __webpack_require__) {
257
+
258
+ "use strict";
259
+
260
+
261
+ var _slicedToArray = __webpack_require__(17);
262
+
263
+ var __rest = this && this.__rest || function (s, e) {
264
+ var t = {};
265
+
266
+ for (var p in s) {
267
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
268
+ }
269
+
270
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
271
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
272
+ }
273
+ return t;
274
+ };
275
+
276
+ Object.defineProperty(exports, "__esModule", {
277
+ value: true
278
+ });
279
+
280
+ var React = __webpack_require__(0);
281
+
282
+ var react_1 = __webpack_require__(0);
283
+
284
+ var lodash_1 = __webpack_require__(3);
285
+
286
+ var styled_components_1 = __webpack_require__(4);
287
+
288
+ var Paginator_1 = __webpack_require__(87);
289
+
290
+ var i18n_1 = __webpack_require__(2);
291
+
292
+ var themes_1 = __webpack_require__(59);
293
+
294
+ var useSplunkTheme_1 = __webpack_require__(57);
295
+
296
+ var FeatureFlagContext_1 = __webpack_require__(20);
297
+
298
+ var SizeAwareWrapper_1 = __webpack_require__(18);
299
+
300
+ var style_1 = __webpack_require__(14);
301
+
302
+ var Message_1 = __webpack_require__(9);
303
+
304
+ var trellisUtils_1 = __webpack_require__(76);
305
+
306
+ var hocUtils_1 = __webpack_require__(26);
307
+
308
+ var JSONSchemaUtils_1 = __webpack_require__(27);
309
+
310
+ var Options_1 = __webpack_require__(29);
311
+
312
+ var trellisUtils_2 = __webpack_require__(103);
313
+
314
+ var layoutUtils_1 = __webpack_require__(58);
315
+
316
+ var TrellisContainer = styled_components_1.default.div.withConfig({
317
+ displayName: "withTrellis__TrellisContainer",
318
+ componentId: "pjmeig-0"
319
+ })(["overflow:hidden;display:flex;flex-direction:column;background-color:", ";", ";> [data-test='paginator']{align-self:flex-end;margin-bottom:10px;}"], function (props) {
320
+ return props.backgroundColor;
321
+ }, function (props) {
322
+ return style_1.toDimension(lodash_1.pick(props, ['width', 'height']));
323
+ });
324
+ var TrellisContainerGrid = styled_components_1.default.div.withConfig({
325
+ displayName: "withTrellis__TrellisContainerGrid",
326
+ componentId: "pjmeig-1"
327
+ })(["display:grid;height:", ";gap:10px 10px;grid-template-columns:", ";overflow:auto;justify-items:stretch;grid-auto-rows:", ";.child{height:", ";}"], function (props) {
328
+ return "".concat(props.height, "px");
329
+ }, function (props) {
330
+ return props.colCount ? "repeat(".concat(props.colCount, ", minmax(").concat(props.colMinWidth, "px, 1fr))") : "repeat(auto-fit, minmax(".concat(props.colMinWidth, "px, 1fr))");
331
+ }, function (props) {
332
+ return "".concat(props.rowHeight, "px");
333
+ }, function (props) {
334
+ return "".concat(props.rowHeight, "px");
335
+ });
336
+
337
+ var showErrorMessage = function showErrorMessage(errorCode, width, height) {
338
+ if (errorCode === 'INVALID_SPLIT_BY_FIELD') {
339
+ return React.createElement(Message_1.default, {
340
+ width: width,
341
+ height: height,
342
+ message: i18n_1._('Select a valid trellis split by field'),
343
+ level: "info"
344
+ });
345
+ }
346
+
347
+ if (errorCode === 'UNKNOWN_DATA_SPLIT_MODE') {
348
+ return React.createElement(Message_1.default, {
349
+ width: width,
350
+ height: height,
351
+ message: i18n_1._('Unknown data split mode'),
352
+ level: "info"
353
+ });
354
+ }
355
+
356
+ return React.createElement(Message_1.default, {
357
+ width: width,
358
+ height: height,
359
+ message: i18n_1._('Error render in trellis'),
360
+ level: "info"
361
+ });
362
+ };
363
+
364
+ var withTrellis = function withTrellis(Viz) {
365
+ var VizWithTrellis = function VizWithTrellis(opts) {
366
+ var _opts$options = opts.options,
367
+ options = _opts$options === void 0 ? {} : _opts$options,
368
+ height = opts.height,
369
+ width = opts.width,
370
+ otherProps = __rest(opts, ["options", "height", "width"]);
371
+
372
+ var defaultOptions = JSONSchemaUtils_1.pickFieldFromJSONSchema(Viz.config.optionsSchema, 'default');
373
+ var mergedOptions = hocUtils_1.deepMergeWithArrayPrimitiveOverrides({}, options, defaultOptions);
374
+ var trellisColumns = mergedOptions.trellisColumns,
375
+ trellisPageCount = mergedOptions.trellisPageCount,
376
+ trellisMinColumnWidth = mergedOptions.trellisMinColumnWidth,
377
+ trellisRowHeight = mergedOptions.trellisRowHeight,
378
+ splitByLayout = mergedOptions.splitByLayout,
379
+ trellisSplitBy = mergedOptions.trellisSplitBy;
380
+ var colCount = trellisColumns > 0 ? trellisColumns : defaultOptions.trellisColumns;
381
+ var pageCount = +trellisPageCount > 0 ? +trellisPageCount : defaultOptions.trellisPageCount;
382
+ var colMinWidth = trellisMinColumnWidth > 0 ? trellisMinColumnWidth : defaultOptions.trellisMinColumnWidth;
383
+ var rowHeight = trellisRowHeight > 0 ? trellisRowHeight : defaultOptions.trellisRowHeight;
384
+
385
+ var _react_1$useState = react_1.useState(1),
386
+ _react_1$useState2 = _slicedToArray(_react_1$useState, 2),
387
+ pageNum = _react_1$useState2[0],
388
+ setPageNum = _react_1$useState2[1];
389
+
390
+ var _react_1$useState3 = react_1.useState(null),
391
+ _react_1$useState4 = _slicedToArray(_react_1$useState3, 2),
392
+ pagedData = _react_1$useState4[0],
393
+ setPagedData = _react_1$useState4[1];
394
+
395
+ var splitByKeys = [];
396
+ var totalPages = 0;
397
+ var showPaginator = false;
398
+ var dataSources = otherProps.dataSources;
399
+ var theme = {
400
+ splunkThemeV1: useSplunkTheme_1.default()
401
+ };
402
+
403
+ var _themes_1$getSettings = themes_1.getSettingsFromThemedProps({
404
+ theme: theme
405
+ }),
406
+ currentThemeFamily = _themes_1$getSettings.family,
407
+ currentThemeColorScheme = _themes_1$getSettings.colorScheme,
408
+ currentThemeDensity = _themes_1$getSettings.density;
409
+
410
+ var trellisBackgroundColor = react_1.useMemo(function () {
411
+ var themeFunc = function themeFunc(themeVar) {
412
+ var _a, _b;
413
+
414
+ return (_b = (_a = Viz.config.themes)[themeVar]) === null || _b === void 0 ? void 0 : _b.call(_a, {
415
+ trellisBackgroundColor: mergedOptions.trellisBackgroundColor,
416
+ theme: theme
417
+ });
418
+ }; // trellisBackgroundColor option supports only static coloring and DSL option evaluation derived from the themes level only.
419
+
420
+
421
+ var evaluated = Options_1.Options.evaluate({
422
+ context: Viz.config.context,
423
+ options: {
424
+ trellisBackgroundColor: mergedOptions.trellisBackgroundColor
425
+ }
426
+ }, {}, themeFunc);
427
+ return evaluated.trellisBackgroundColor;
428
+ }, [mergedOptions.trellisBackgroundColor, currentThemeFamily, currentThemeColorScheme, currentThemeDensity]);
429
+ var columns = lodash_1.get(dataSources, 'primary.data.columns', undefined);
430
+ var fields = lodash_1.get(dataSources, 'primary.data.fields', undefined);
431
+ var noColumns = columns === undefined;
432
+ var noFields = fields === undefined;
433
+
434
+ var updateDataDisplay = function updateDataDisplay(currPage) {
435
+ if (!showPaginator) {
436
+ setPagedData(splitByKeys);
437
+ setPageNum(1);
438
+ } else {
439
+ var startIdx = pageCount * (currPage - 1);
440
+ var paged = splitByKeys.slice(startIdx, startIdx + pageCount);
441
+ setPagedData(paged);
442
+ }
443
+ };
444
+
445
+ react_1.useEffect(function () {
446
+ setPageNum(1);
447
+ updateDataDisplay(1);
448
+ }, [pageCount, trellisSplitBy]);
449
+ react_1.useEffect(function () {
450
+ updateDataDisplay(pageNum);
451
+ }, [columns, fields, trellisSplitBy, pageNum, splitByLayout]);
452
+ var handlePageChange = react_1.useCallback(function (event, _ref) {
453
+ var page = _ref.page;
454
+ setPageNum(page);
455
+ }, [pageNum, pagedData]);
456
+ var featureFlagContext = React.useContext(FeatureFlagContext_1.default);
457
+ var isTrellisFeatureFlagOn = Boolean(featureFlagContext && featureFlagContext.visualizations_enableTrellis);
458
+
459
+ if (!isTrellisFeatureFlagOn || !splitByLayout || splitByLayout !== layoutUtils_1.LAYOUT_TYPE.Trellis) {
460
+ return React.createElement(Viz, Object.assign({}, opts));
461
+ }
462
+
463
+ if (splitByLayout === layoutUtils_1.LAYOUT_TYPE.Trellis) {
464
+ if (noColumns || noFields) {
465
+ return React.createElement(Message_1.default, {
466
+ width: width,
467
+ height: height,
468
+ message: i18n_1._('Loading'),
469
+ level: "info"
470
+ });
471
+ } // If no trellisSplitBy value is passed in, assign default trellisSplitBy
472
+ // The default value will be the first value in the individual splitBy field list or 'aggregations'
473
+
474
+
475
+ var currTrellisSplitBy = trellisSplitBy;
476
+
477
+ if (!trellisSplitBy || trellisSplitBy.length === 0) {
478
+ var splitByPossibleFields = trellisUtils_1.getAllPossibleSplitByFields(fields);
479
+ currTrellisSplitBy = splitByPossibleFields.fields && splitByPossibleFields.fields.length ? splitByPossibleFields.fields[0] : trellisUtils_2.AGGREGATIONS;
480
+ }
481
+
482
+ var splitMode = trellisUtils_1.getTrellisDataSplitterMode(fields);
483
+ var dataSplitResult = trellisUtils_2.getTrellisDataSourcesBySplitMode(splitMode, dataSources, currTrellisSplitBy);
484
+ var modifiedDataSourceBySplitBy = dataSplitResult === null || dataSplitResult === void 0 ? void 0 : dataSplitResult.splitDataSources;
485
+ var dataSplitErrorCode = dataSplitResult === null || dataSplitResult === void 0 ? void 0 : dataSplitResult.errorCode;
486
+
487
+ if (!modifiedDataSourceBySplitBy || Object.keys(modifiedDataSourceBySplitBy).length === 0 || dataSplitErrorCode) {
488
+ return showErrorMessage(dataSplitErrorCode, width, height);
489
+ }
490
+
491
+ var splitByKeysModified = modifiedDataSourceBySplitBy ? Object.keys(modifiedDataSourceBySplitBy) : [];
492
+
493
+ if (splitByKeysModified) {
494
+ showPaginator = splitByKeysModified.length > pageCount;
495
+ splitByKeys = splitByKeysModified;
496
+ totalPages = splitByKeysModified ? Math.ceil(splitByKeysModified.length / pageCount) : 0;
497
+ }
498
+
499
+ return React.createElement(TrellisContainer, {
500
+ height: height,
501
+ width: width,
502
+ backgroundColor: trellisBackgroundColor
503
+ }, React.createElement(TrellisContainerGrid, {
504
+ height: height,
505
+ colCount: colCount,
506
+ colMinWidth: colMinWidth,
507
+ rowHeight: rowHeight
508
+ }, pagedData && pagedData.map(function (splitByKey, idx) {
509
+ return React.createElement("div", {
510
+ className: "child",
511
+ "data-test": "trellis-child",
512
+ key: "div-child-".concat(idx.toString())
513
+ }, React.createElement(SizeAwareWrapper_1.default, null, function (_ref2) {
514
+ var childWidth = _ref2.childWidth,
515
+ _ref2$childHeight = _ref2.childHeight,
516
+ childHeight = _ref2$childHeight === void 0 ? rowHeight : _ref2$childHeight;
517
+ return React.createElement(Viz, Object.assign({}, otherProps, {
518
+ trellisKey: splitByKey,
519
+ trellisSplitBy: currTrellisSplitBy,
520
+ dataSources: modifiedDataSourceBySplitBy[splitByKey],
521
+ options: options,
522
+ key: "viz-".concat(idx.toString()),
523
+ height: childHeight,
524
+ width: childWidth
525
+ }));
526
+ }));
527
+ })), showPaginator && totalPages >= pageNum && React.createElement(Paginator_1.default, {
528
+ onChange: handlePageChange,
529
+ current: pageNum,
530
+ alwaysShowLastPageLink: true,
531
+ totalPages: totalPages
532
+ }));
533
+ }
534
+
535
+ return null;
536
+ };
537
+
538
+ VizWithTrellis.propTypes = Viz.proptypes;
539
+ VizWithTrellis.defaultProps = Viz.defaultProps;
540
+ VizWithTrellis.config = Viz.config;
541
+ return VizWithTrellis;
542
+ };
543
+
544
+ exports.default = withTrellis;
545
+
546
+ /***/ }),
547
+
548
+ /***/ 103:
549
+ /***/ (function(module, exports, __webpack_require__) {
550
+
551
+ "use strict";
552
+
553
+
554
+ var _toConsumableArray = __webpack_require__(7);
555
+
556
+ Object.defineProperty(exports, "__esModule", {
557
+ value: true
558
+ });
559
+ exports.getTrellisDataSourcesBySplitMode = exports.dataSourcesSplitByModeStatsorUnknown = exports.dataSourcesSplitByModeChart = exports.dataSourcesSplitByModeTimechart = exports.dataSourcesSplitByAggregationsStats = exports.dataSourcesSplitByAggregationsTimechartAndChart = exports.dataSourcesSplitByAggregationsUnknown = exports.AGGREGATIONS = void 0;
560
+
561
+ var lodash_1 = __webpack_require__(3);
562
+
563
+ var trellisUtils_1 = __webpack_require__(76);
564
+
565
+ exports.AGGREGATIONS = 'aggregations';
566
+ /**
567
+ * There can be certain SPL cmds that can produce dataSource without a specific field meta info (like group_by_rank, split_by_field etc),
568
+ * to categorize it,
569
+ * Example1:- `index = "_internal" | chart count`
570
+ * Example2:- `index=_internal | chart avg(count), max(count)`
571
+ * Example3:- `index = "_internal" | stats count`
572
+ * Example4:- `index=_internal | stats avg(count), max(count)`
573
+ */
574
+
575
+ var dataSourcesSplitByAggregationsUnknown = function dataSourcesSplitByAggregationsUnknown(dataSource) {
576
+ var _a, _b, _c, _d;
577
+
578
+ var fields = (_b = (_a = dataSource === null || dataSource === void 0 ? void 0 : dataSource.primary) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.fields;
579
+ var columns = (_d = (_c = dataSource === null || dataSource === void 0 ? void 0 : dataSource.primary) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.columns;
580
+ var splitDataSources = null;
581
+ var errorCode = null;
582
+
583
+ if (fields && fields.length) {
584
+ splitDataSources = {};
585
+
586
+ for (var i = 0; i < fields.length; i += 1) {
587
+ var fieldName = fields[i].name;
588
+
589
+ if (!(fieldName === null || fieldName === void 0 ? void 0 : fieldName.startsWith('_'))) {
590
+ splitDataSources[fieldName] = lodash_1.cloneDeep(lodash_1.omit(dataSource, ['primary.data.fields', 'primary.data.columns']));
591
+ splitDataSources[fieldName].primary.data.fields = [fields[i]];
592
+ splitDataSources[fieldName].primary.data.columns = [columns[i]];
593
+ }
594
+ }
595
+ } else {
596
+ errorCode = 'INVALID_SPLIT_BY_FIELD';
597
+ }
598
+
599
+ return {
600
+ splitDataSources: splitDataSources,
601
+ errorCode: errorCode
602
+ };
603
+ };
604
+
605
+ exports.dataSourcesSplitByAggregationsUnknown = dataSourcesSplitByAggregationsUnknown;
606
+
607
+ var dataSourcesSplitByAggregationsTimechartAndChart = function dataSourcesSplitByAggregationsTimechartAndChart(dataSource) {
608
+ var _a, _b, _c, _d;
609
+
610
+ var fields = (_b = (_a = dataSource === null || dataSource === void 0 ? void 0 : dataSource.primary) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.fields;
611
+ var columns = (_d = (_c = dataSource === null || dataSource === void 0 ? void 0 : dataSource.primary) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.columns;
612
+ var splitDataSources = null;
613
+ var splitByFields = [];
614
+ var errorCode = null;
615
+
616
+ if (typeof fields[0] !== 'string') {
617
+ splitByFields = trellisUtils_1.extractDataSourceAggregationKeysChart(fields);
618
+ }
619
+
620
+ if (splitByFields && splitByFields.length > 0) {
621
+ splitDataSources = {};
622
+ splitByFields.forEach(function (splitByField) {
623
+ splitDataSources[splitByField] = lodash_1.cloneDeep(lodash_1.omit(dataSource, ['primary.data.fields', 'primary.data.columns']));
624
+ splitDataSources[splitByField].primary.data.fields = [fields[0]];
625
+ splitDataSources[splitByField].primary.data.columns = [columns[0]];
626
+ fields.forEach(function (field, idx) {
627
+ var fieldName = field === null || field === void 0 ? void 0 : field.name;
628
+
629
+ if (fieldName !== '_time' && !(fieldName === null || fieldName === void 0 ? void 0 : fieldName.startsWith('_')) && field.data_source === splitByField) {
630
+ splitDataSources[splitByField].primary.data.fields.push(field);
631
+ splitDataSources[splitByField].primary.data.columns.push(columns[idx]);
632
+ }
633
+ });
634
+ });
635
+ } else if ((!splitByFields || !splitByFields.length) && fields.length > 1) {
636
+ // handle where data_source doesnot exist in fields
637
+ // example1 :- index=_internal | timechart count
638
+ // example2 :- index=_internal | timechart max(count) avg(count)
639
+ splitDataSources = {};
640
+
641
+ for (var i = 1; i < fields.length; i += 1) {
642
+ var fieldName = fields[i].name;
643
+
644
+ if (!(fieldName === null || fieldName === void 0 ? void 0 : fieldName.startsWith('_'))) {
645
+ splitDataSources[fieldName] = lodash_1.cloneDeep(lodash_1.omit(dataSource, ['primary.data.fields', 'primary.data.columns']));
646
+ splitDataSources[fieldName].primary.data.fields = [fields[0], fields[i]];
647
+ splitDataSources[fieldName].primary.data.columns = [columns[0], columns[i]];
648
+ }
649
+ }
650
+ } else {
651
+ errorCode = 'INVALID_SPLIT_BY_FIELD';
652
+ }
653
+
654
+ return {
655
+ splitDataSources: splitDataSources,
656
+ errorCode: errorCode
657
+ };
658
+ };
659
+
660
+ exports.dataSourcesSplitByAggregationsTimechartAndChart = dataSourcesSplitByAggregationsTimechartAndChart;
661
+
662
+ var dataSourcesSplitByAggregationsStats = function dataSourcesSplitByAggregationsStats(dataSource) {
663
+ var _a, _b, _c, _d;
664
+
665
+ var fields = (_b = (_a = dataSource === null || dataSource === void 0 ? void 0 : dataSource.primary) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.fields;
666
+ var columns = (_d = (_c = dataSource === null || dataSource === void 0 ? void 0 : dataSource.primary) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.columns;
667
+ var splitDataSources = null;
668
+ var splitByFields = [];
669
+ var errorCode = null;
670
+
671
+ if (typeof fields[0] !== 'string') {
672
+ splitByFields = trellisUtils_1.extractDataSourceAggregationKeysStats(fields);
673
+ }
674
+
675
+ if (splitByFields && splitByFields.length > 0) {
676
+ splitDataSources = {};
677
+ splitByFields.forEach(function (splitByField) {
678
+ splitDataSources[splitByField] = lodash_1.cloneDeep(lodash_1.omit(dataSource, ['primary.data.fields', 'primary.data.columns']));
679
+ splitDataSources[splitByField].primary.data.fields = [fields[0]];
680
+ splitDataSources[splitByField].primary.data.columns = [columns[0]];
681
+ var idx = fields.findIndex(function (field) {
682
+ return field.name === splitByField;
683
+ });
684
+
685
+ if (idx > 0) {
686
+ splitDataSources[splitByField].primary.data.fields.push(fields[idx]);
687
+ splitDataSources[splitByField].primary.data.columns.push(columns[idx]);
688
+ }
689
+ });
690
+ } else {
691
+ errorCode = 'INVALID_SPLIT_BY_FIELD';
692
+ }
693
+
694
+ return {
695
+ splitDataSources: splitDataSources,
696
+ errorCode: errorCode
697
+ };
698
+ };
699
+
700
+ exports.dataSourcesSplitByAggregationsStats = dataSourcesSplitByAggregationsStats;
701
+
702
+ var dataSourcesSplitByModeTimechart = function dataSourcesSplitByModeTimechart(dataSource, splitBy) {
703
+ var _a, _b, _c, _d, _e;
704
+
705
+ var fields = (_b = (_a = dataSource === null || dataSource === void 0 ? void 0 : dataSource.primary) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.fields;
706
+ var columns = (_d = (_c = dataSource === null || dataSource === void 0 ? void 0 : dataSource.primary) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.columns;
707
+ var splitDataSources = null;
708
+ var splitByFields = [];
709
+ var errorCode = null;
710
+
711
+ if (typeof fields[0] !== 'string') {
712
+ splitByFields = trellisUtils_1.extractSplitByFieldsChartFields(fields);
713
+ }
714
+
715
+ if (splitByFields && splitByFields.indexOf(splitBy) > -1) {
716
+ splitDataSources = {};
717
+ var dataSourceKeys = trellisUtils_1.extractDataSourceAggregationKeysChart(fields);
718
+ var valueKeys = [];
719
+
720
+ for (var i = 1; i < fields.length; i += 1) {
721
+ // not including internal fields
722
+ if (!((_e = fields[i].name) === null || _e === void 0 ? void 0 : _e.startsWith('_'))) {
723
+ valueKeys.push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);
724
+ }
725
+ }
726
+
727
+ valueKeys.forEach(function (val) {
728
+ splitDataSources[val] = lodash_1.cloneDeep(lodash_1.omit(dataSource, ['primary.data.fields', 'primary.data.columns']));
729
+ splitDataSources[val].primary.data.fields = [{
730
+ name: fields[0].name
731
+ }].concat(_toConsumableArray(dataSourceKeys.map(function (k) {
732
+ return {
733
+ name: k
734
+ };
735
+ })));
736
+ splitDataSources[val].primary.data.columns = [_toConsumableArray(columns[0])];
737
+ dataSourceKeys.forEach(function (dsKey) {
738
+ fields.forEach(function (field, idx) {
739
+ if (field.data_source === dsKey && (field.splitby_value === val || field.name === val)) {
740
+ splitDataSources[val].primary.data.columns.push(_toConsumableArray(columns[idx]));
741
+ }
742
+ });
743
+ });
744
+ });
745
+ } else {
746
+ errorCode = 'INVALID_SPLIT_BY_FIELD';
747
+ }
748
+
749
+ return {
750
+ splitDataSources: splitDataSources,
751
+ errorCode: errorCode
752
+ };
753
+ };
754
+
755
+ exports.dataSourcesSplitByModeTimechart = dataSourcesSplitByModeTimechart;
756
+
757
+ var dataSourcesSplitByModeChart = function dataSourcesSplitByModeChart(dataSource, splitBy) {
758
+ var _a, _b, _c, _d;
759
+
760
+ var fields = (_b = (_a = dataSource === null || dataSource === void 0 ? void 0 : dataSource.primary) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.fields;
761
+ var columns = (_d = (_c = dataSource === null || dataSource === void 0 ? void 0 : dataSource.primary) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.columns;
762
+ var splitDataSources = null;
763
+ var splitByFields = [];
764
+ var errorCode = null;
765
+
766
+ if (typeof fields[0] !== 'string') {
767
+ splitByFields = trellisUtils_1.extractSplitByFieldsChartFields(fields);
768
+ }
769
+
770
+ if (splitByFields && splitByFields.indexOf(splitBy) > -1) {
771
+ splitDataSources = {};
772
+ var splitByFieldIdx = splitByFields.findIndex(function (f) {
773
+ return f === splitBy;
774
+ });
775
+ var otherSplitBy = splitByFields.filter(function (f) {
776
+ return f !== splitBy;
777
+ });
778
+ var dataSourceKeys = trellisUtils_1.extractDataSourceAggregationKeysChart(fields);
779
+ var nonDataSourceAggregations = [];
780
+
781
+ if (!dataSourceKeys.length && fields[0].groupby_rank === '0' && fields.length && !fields[1].groupby_rank) {
782
+ /* check for another aggregation scenario where no key 'data_source' will be returned (applies for both chart and stats cmd)
783
+ For example :-
784
+ index=_internal | chart count by status
785
+ index = "_internal" | chart max(count) avg(count) by status
786
+ index = "_internal" | stats max(count) avg(count) by status
787
+ where field meta info is in this format -
788
+ "fields": [
789
+ {
790
+ "name": "status",
791
+ "groupby_rank": "0"
792
+ },
793
+ {
794
+ "name": "max(count)"
795
+ },
796
+ {
797
+ "name": "avg(count)"
798
+ }
799
+ ]
800
+ */
801
+ for (var i = 1; i < fields.length; i += 1) {
802
+ nonDataSourceAggregations.push(fields[i].name);
803
+ }
804
+ }
805
+
806
+ if (splitByFieldIdx === 0) {
807
+ // if splitBy is the first field, split row wise
808
+ var valueKeys = lodash_1.cloneDeep(columns[0]);
809
+ valueKeys.forEach(function (val, idx) {
810
+ splitDataSources[val] = lodash_1.cloneDeep(lodash_1.omit(dataSource, ['primary.data.fields', 'primary.data.columns']));
811
+ splitDataSources[val].primary.data.fields = [];
812
+
813
+ if (otherSplitBy.length) {
814
+ splitDataSources[val].primary.data.fields = [{
815
+ name: otherSplitBy[0]
816
+ }]; // there can only be one otherSplitBy for chart cmd
817
+ }
818
+
819
+ if (dataSourceKeys.length) {
820
+ (function () {
821
+ var columnValues = [[]];
822
+ splitDataSources[val].primary.data.fields = [].concat(_toConsumableArray(splitDataSources[val].primary.data.fields), _toConsumableArray(dataSourceKeys.map(function (k) {
823
+ return {
824
+ name: k
825
+ };
826
+ })));
827
+ dataSourceKeys.forEach(function () {
828
+ columnValues.push([]);
829
+ });
830
+ /**
831
+ * There can be chart SPL cmd where there are multiple data_source keys in the field meta info.
832
+ * For eg - index = "_internal" | chart avg(count) max(count) by status , user) can result in fields and columns as below where "data_source" keys are "avg(count)" and "max(count)"
833
+ * 'fields' : [
834
+ {
835
+ "name": "status",
836
+ "groupby_rank": "0"
837
+ },
838
+ {
839
+ "name": "avg(count): userA",
840
+ "data_source": "avg(count)",
841
+ "splitby_field": "user",
842
+ "splitby_value": "userA"
843
+ },
844
+ {
845
+ "name": "avg(count): userB",
846
+ "data_source": "avg(count)",
847
+ "splitby_field": "user",
848
+ "splitby_value": "userB"
849
+ },
850
+ {
851
+ "name": "avg(count): userC",
852
+ "data_source": "avg(count)",
853
+ "splitby_field": "user",
854
+ "splitby_value": "userC"
855
+ },
856
+ {
857
+ "name": "max(count): userA",
858
+ "data_source": "max(count)",
859
+ "splitby_field": "user",
860
+ "splitby_value": "userA"
861
+ },
862
+ {
863
+ "name": "max(count): userB",
864
+ "data_source": "max(count)",
865
+ "splitby_field": "user",
866
+ "splitby_value": "userB"
867
+ },
868
+ {
869
+ "name": "max(count): userC",
870
+ "data_source": "max(count)",
871
+ "splitby_field": "user",
872
+ "splitby_value": "userC"
873
+ },
874
+ ]
875
+ 'columns' : [['200','303','304','400'], ['1','2','3','4'], ['10','20','30','40'], ['100','200','300','400'], ['5','6','7','8'], ['50','60','70','80'],['500','600','700','800']]
876
+ In this case when we split row wise, the data_source keys for userA appears in indices [1, 4, ..], the data_source keys for userB appears in indices [2, 5, ..]
877
+ The resulting dataSplit for status '200', will have the fields => ['user','avg(count)', 'max(count)'] columns => [['userA', 'userB', 'userC'],['1','10','100'], ['5', '50', '500'] ]
878
+ For the example above for..loop below will iterate from i= 1 to 3 (Math.ceil((fields.length - 1) / dataSourceKeys.length)). Exclude i = 0 as first column is the splitBy input.
879
+ Since there are 2 data_source keys 'avg(count)' and 'max(count)', dataSourceKeys.forEach loop will collect individual arrays specific to the columnValues[indx] as below.
880
+ columnValues[0] = ['userA', 'userB', 'userC']
881
+ columnValues[1] = ['1','10','100']
882
+ columnValues[2] = ['5', '50', '500']
883
+ */
884
+
885
+ var _loop = function _loop(_i) {
886
+ columnValues[0].push(fields[_i].splitby_value ? fields[_i].splitby_value : fields[_i].name);
887
+ dataSourceKeys.forEach(function (dskey, dsIndx) {
888
+ var mul = (fields.length - 1) / dataSourceKeys.length; // This line does the index calculation
889
+
890
+ columnValues[dsIndx + 1].push(columns[_i + dsIndx * mul][idx]);
891
+ });
892
+ };
893
+
894
+ for (var _i = 1; _i <= Math.ceil((fields.length - 1) / dataSourceKeys.length); _i += 1) {
895
+ _loop(_i);
896
+ }
897
+
898
+ splitDataSources[val].primary.data.columns = columnValues;
899
+ })();
900
+ } else if (nonDataSourceAggregations.length) {
901
+ // There can be SPL where data_source field metainfo is not available and needs special handling
902
+ // For eg :-
903
+ // index=_internal | chart count by status
904
+ // index = "_internal" | chart max(count) avg(count) by status
905
+ // index = "_internal" | stats max(count) avg(count) by status
906
+ var columnValues = [];
907
+ fields.forEach(function (aggregationField, fieldIdx) {
908
+ if (fieldIdx > 0) {
909
+ splitDataSources[val].primary.data.fields.push(aggregationField);
910
+ columnValues.push([columns[fieldIdx][idx]]);
911
+ }
912
+ });
913
+ splitDataSources[val].primary.data.columns = columnValues;
914
+ }
915
+ });
916
+ } else {
917
+ // split column wise
918
+ var _valueKeys = [];
919
+
920
+ for (var _i2 = 1; _i2 < fields.length; _i2 += 1) {
921
+ _valueKeys.push(fields[_i2].splitby_value ? fields[_i2].splitby_value : fields[_i2].name);
922
+ }
923
+
924
+ _valueKeys.forEach(function (val) {
925
+ splitDataSources[val] = lodash_1.cloneDeep(lodash_1.omit(dataSource, ['primary.data.fields', 'primary.data.columns']));
926
+ splitDataSources[val].primary.data.fields = [{
927
+ name: otherSplitBy[0]
928
+ }].concat(_toConsumableArray(dataSourceKeys.map(function (k) {
929
+ return {
930
+ name: k
931
+ };
932
+ })));
933
+ splitDataSources[val].primary.data.columns = [_toConsumableArray(columns[0])];
934
+ dataSourceKeys.forEach(function (dsKey) {
935
+ fields.forEach(function (field, idx) {
936
+ if (field.data_source === dsKey && (field.splitby_value === val || field.name === val)) {
937
+ splitDataSources[val].primary.data.columns.push(_toConsumableArray(columns[idx]));
938
+ }
939
+ });
940
+ });
941
+ });
942
+ }
943
+ } else {
944
+ errorCode = 'INVALID_SPLIT_BY_FIELD';
945
+ }
946
+
947
+ return {
948
+ splitDataSources: splitDataSources,
949
+ errorCode: errorCode
950
+ };
951
+ };
952
+
953
+ exports.dataSourcesSplitByModeChart = dataSourcesSplitByModeChart;
954
+ /**
955
+ * This method does datasplitting for 'stats' and generic cmds('makeresults','table' etc - categoried as 'unknown' splitMode).
956
+ * The main difference is for 'stats' cmd possible splitBy fields have 'group_by_rank' in field meta info, whereas for 'unknown' cmd it can be any fieldnames
957
+ */
958
+
959
+ var dataSourcesSplitByModeStatsorUnknown = function dataSourcesSplitByModeStatsorUnknown(dataSource, splitBy, splitMode) {
960
+ var _a, _b, _c, _d, _e, _f;
961
+
962
+ var fields = (_b = (_a = dataSource === null || dataSource === void 0 ? void 0 : dataSource.primary) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.fields;
963
+ var columns = (_d = (_c = dataSource === null || dataSource === void 0 ? void 0 : dataSource.primary) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.columns;
964
+ var splitDataSources = null;
965
+ var splitByFields = [];
966
+ var errorCode = null;
967
+
968
+ if (typeof fields[0] !== 'string') {
969
+ splitByFields = splitMode !== trellisUtils_1.UNKNOWN ? trellisUtils_1.extractSplitByFieldsForStats(fields) : trellisUtils_1.extractSplitByFieldsForUnknown(fields);
970
+ }
971
+
972
+ var splitByIndex = fields === null || fields === void 0 ? void 0 : fields.findIndex(function (field) {
973
+ return field === splitBy || field.name === splitBy;
974
+ });
975
+
976
+ if (splitByFields && splitByFields.indexOf(splitBy) > -1) {
977
+ var splitByColumn = (_f = (_e = dataSource === null || dataSource === void 0 ? void 0 : dataSource.primary) === null || _e === void 0 ? void 0 : _e.data) === null || _f === void 0 ? void 0 : _f.columns[splitByIndex];
978
+ splitDataSources = {};
979
+ splitByColumn.forEach(function (val, idx) {
980
+ if (!splitDataSources[val]) {
981
+ splitDataSources[val] = [idx];
982
+ } else {
983
+ splitDataSources[val].push(idx);
984
+ }
985
+ });
986
+ var cloneFields = lodash_1.cloneDeep(fields);
987
+ cloneFields.splice(splitByIndex, 1);
988
+ var valueKeys = Object.keys(splitDataSources);
989
+ valueKeys.forEach(function (val) {
990
+ var valIndices = lodash_1.cloneDeep(splitDataSources[val]);
991
+ splitDataSources[val] = lodash_1.cloneDeep(lodash_1.omit(dataSource, ['primary.data.fields', 'primary.data.columns']));
992
+ splitDataSources[val].primary.data.fields = cloneFields;
993
+ splitDataSources[val].primary.data.columns = [];
994
+ columns.forEach(function (col, idx) {
995
+ if (idx !== splitByIndex) {
996
+ var newCol = valIndices.map(function (valIdx) {
997
+ return col[valIdx];
998
+ });
999
+ splitDataSources[val].primary.data.columns.push(newCol);
1000
+ }
1001
+ });
1002
+ });
1003
+ } else {
1004
+ errorCode = 'INVALID_SPLIT_BY_FIELD';
1005
+ }
1006
+
1007
+ return {
1008
+ splitDataSources: splitDataSources,
1009
+ errorCode: errorCode
1010
+ };
1011
+ };
1012
+
1013
+ exports.dataSourcesSplitByModeStatsorUnknown = dataSourcesSplitByModeStatsorUnknown;
1014
+
1015
+ var getTrellisDataSourcesBySplitMode = function getTrellisDataSourcesBySplitMode(splitMode, dataSources, trellisSplitBy) {
1016
+ var result = null;
1017
+
1018
+ try {
1019
+ if (splitMode === trellisUtils_1.TIMECHART) {
1020
+ result = trellisSplitBy === exports.AGGREGATIONS ? exports.dataSourcesSplitByAggregationsTimechartAndChart(dataSources) : exports.dataSourcesSplitByModeTimechart(dataSources, trellisSplitBy);
1021
+ } else if (splitMode === trellisUtils_1.STATS) {
1022
+ result = trellisSplitBy === exports.AGGREGATIONS ? exports.dataSourcesSplitByAggregationsStats(dataSources) : exports.dataSourcesSplitByModeStatsorUnknown(dataSources, trellisSplitBy, trellisUtils_1.STATS);
1023
+ } else if (splitMode === trellisUtils_1.CHART) {
1024
+ result = trellisSplitBy === exports.AGGREGATIONS ? exports.dataSourcesSplitByAggregationsTimechartAndChart(dataSources) : exports.dataSourcesSplitByModeChart(dataSources, trellisSplitBy);
1025
+ } else if (splitMode === trellisUtils_1.UNKNOWN) {
1026
+ result = trellisSplitBy === exports.AGGREGATIONS ? exports.dataSourcesSplitByAggregationsUnknown(dataSources) : exports.dataSourcesSplitByModeStatsorUnknown(dataSources, trellisSplitBy, trellisUtils_1.UNKNOWN);
1027
+ }
1028
+ } catch (ex) {
1029
+ console.error('getTrellisDataSourcesBySplitMode ', ex);
1030
+ result = {
1031
+ splitDataSources: null,
1032
+ errorCode: 'UNKNOWN'
1033
+ };
1034
+ }
1035
+
1036
+ return result;
1037
+ };
1038
+
1039
+ exports.getTrellisDataSourcesBySplitMode = getTrellisDataSourcesBySplitMode;
113
1040
 
114
1041
  /***/ }),
115
1042
 
@@ -137,13 +1064,13 @@ Object.defineProperty(exports, "__esModule", {
137
1064
  value: true
138
1065
  });
139
1066
 
140
- var React = __webpack_require__(1);
1067
+ var React = __webpack_require__(0);
141
1068
 
142
1069
  var styled_components_1 = __webpack_require__(4);
143
1070
 
144
- var SizeAwareWrapper_1 = __webpack_require__(20);
1071
+ var SizeAwareWrapper_1 = __webpack_require__(18);
145
1072
 
146
- var style_1 = __webpack_require__(15);
1073
+ var style_1 = __webpack_require__(14);
147
1074
 
148
1075
  var colorUtils_1 = __webpack_require__(12);
149
1076
 
@@ -202,7 +1129,7 @@ var withFixedSizeContainer = function withFixedSizeContainer(Viz) {
202
1129
 
203
1130
  return React.createElement(FixSizeItem, {
204
1131
  "data-test": "fix-size-item",
205
- "data-splunk-visualization-version": "25.5.0 - 12c0447a7",
1132
+ "data-splunk-visualization-version": "25.7.0 - d10a7789b",
206
1133
  width: width,
207
1134
  height: height,
208
1135
  backgroundColor: backgroundColor
@@ -225,6 +1152,13 @@ exports.default = withFixedSizeContainer;
225
1152
  /***/ }),
226
1153
 
227
1154
  /***/ 14:
1155
+ /***/ (function(module, exports) {
1156
+
1157
+ module.exports = require("@splunk/visualizations-shared/style");
1158
+
1159
+ /***/ }),
1160
+
1161
+ /***/ 15:
228
1162
  /***/ (function(module, exports, __webpack_require__) {
229
1163
 
230
1164
  "use strict";
@@ -257,29 +1191,36 @@ exports.extendStaticWrapperProps = extendStaticWrapperProps;
257
1191
 
258
1192
  /***/ }),
259
1193
 
260
- /***/ 15:
1194
+ /***/ 16:
261
1195
  /***/ (function(module, exports) {
262
1196
 
263
- module.exports = require("@splunk/visualizations-shared/style");
1197
+ module.exports = require("@splunk/visualizations-shared/schemaUtils");
264
1198
 
265
1199
  /***/ }),
266
1200
 
267
- /***/ 16:
1201
+ /***/ 17:
268
1202
  /***/ (function(module, exports) {
269
1203
 
270
- module.exports = require("@splunk/visualizations-shared/schemaUtils");
1204
+ module.exports = require("@babel/runtime/helpers/slicedToArray");
271
1205
 
272
1206
  /***/ }),
273
1207
 
274
- /***/ 17:
1208
+ /***/ 18:
1209
+ /***/ (function(module, exports) {
1210
+
1211
+ module.exports = require("@splunk/visualizations-shared/SizeAwareWrapper");
1212
+
1213
+ /***/ }),
1214
+
1215
+ /***/ 19:
275
1216
  /***/ (function(module, exports, __webpack_require__) {
276
1217
 
277
1218
  "use strict";
278
1219
 
279
1220
 
280
- var _toConsumableArray = __webpack_require__(8);
1221
+ var _toConsumableArray = __webpack_require__(7);
281
1222
 
282
- var _defineProperty = __webpack_require__(7);
1223
+ var _defineProperty = __webpack_require__(8);
283
1224
 
284
1225
  var __rest = this && this.__rest || function (s, e) {
285
1226
  var t = {};
@@ -508,42 +1449,42 @@ exports.insertLayout = insertLayout;
508
1449
 
509
1450
  /***/ }),
510
1451
 
511
- /***/ 18:
1452
+ /***/ 2:
512
1453
  /***/ (function(module, exports) {
513
1454
 
514
- module.exports = require("@splunk/visualizations-shared/configUtils");
1455
+ module.exports = require("@splunk/ui-utils/i18n");
515
1456
 
516
1457
  /***/ }),
517
1458
 
518
- /***/ 19:
1459
+ /***/ 20:
519
1460
  /***/ (function(module, exports) {
520
1461
 
521
- module.exports = require("@babel/runtime/helpers/createClass");
1462
+ module.exports = require("@splunk/visualization-context/FeatureFlagContext");
522
1463
 
523
1464
  /***/ }),
524
1465
 
525
- /***/ 2:
1466
+ /***/ 21:
526
1467
  /***/ (function(module, exports) {
527
1468
 
528
- module.exports = require("@splunk/ui-utils/i18n");
1469
+ module.exports = require("@splunk/visualizations-shared/configUtils");
529
1470
 
530
1471
  /***/ }),
531
1472
 
532
- /***/ 20:
1473
+ /***/ 22:
533
1474
  /***/ (function(module, exports) {
534
1475
 
535
- module.exports = require("@splunk/visualizations-shared/SizeAwareWrapper");
1476
+ module.exports = require("@babel/runtime/helpers/createClass");
536
1477
 
537
1478
  /***/ }),
538
1479
 
539
- /***/ 21:
1480
+ /***/ 23:
540
1481
  /***/ (function(module, exports) {
541
1482
 
542
1483
  module.exports = require("@splunk/themes/pick");
543
1484
 
544
1485
  /***/ }),
545
1486
 
546
- /***/ 22:
1487
+ /***/ 24:
547
1488
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
548
1489
 
549
1490
  "use strict";
@@ -578,17 +1519,17 @@ __webpack_require__.r(__webpack_exports__);
578
1519
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "lighten", function() { return lighten; });
579
1520
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "darken", function() { return darken; });
580
1521
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "handleValueClickCallback", function() { return handleValueClickCallback; });
581
- /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7);
1522
+ /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8);
582
1523
  /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);
583
1524
  /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3);
584
1525
  /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_1__);
585
1526
  /* harmony import */ var _splunk_visualizations_shared_numberUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(30);
586
1527
  /* harmony import */ var _splunk_visualizations_shared_numberUtils__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_splunk_visualizations_shared_numberUtils__WEBPACK_IMPORTED_MODULE_2__);
587
- /* harmony import */ var _splunk_visualizations_shared_domUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(50);
1528
+ /* harmony import */ var _splunk_visualizations_shared_domUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(54);
588
1529
  /* harmony import */ var _splunk_visualizations_shared_domUtils__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_splunk_visualizations_shared_domUtils__WEBPACK_IMPORTED_MODULE_3__);
589
- /* harmony import */ var _splunk_visualizations_shared_propUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(24);
1530
+ /* harmony import */ var _splunk_visualizations_shared_propUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(28);
590
1531
  /* harmony import */ var _splunk_visualizations_shared_propUtils__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_splunk_visualizations_shared_propUtils__WEBPACK_IMPORTED_MODULE_4__);
591
- /* harmony import */ var _splunk_visualizations_shared_colorConstants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(45);
1532
+ /* harmony import */ var _splunk_visualizations_shared_colorConstants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(49);
592
1533
  /* harmony import */ var _splunk_visualizations_shared_colorConstants__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_splunk_visualizations_shared_colorConstants__WEBPACK_IMPORTED_MODULE_5__);
593
1534
 
594
1535
 
@@ -1540,11 +2481,22 @@ var darken = function darken(color) {
1540
2481
  */
1541
2482
 
1542
2483
  var handleValueClickCallback = function handleValueClickCallback(ev, majorValue, majorValueField, trendValue, onValueClick) {
2484
+ var trellisEnabled = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
2485
+ var trellisSplityBy = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : '';
2486
+ var trellisKey = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : '';
1543
2487
  var payload = {
1544
2488
  trendValue: trendValue,
1545
2489
  value: majorValue,
1546
2490
  name: majorValueField
1547
2491
  };
2492
+
2493
+ if (trellisEnabled) {
2494
+ payload = _objectSpread(_objectSpread({}, payload), {}, {
2495
+ 'trellis.name': trellisSplityBy,
2496
+ 'trellis.value': trellisKey
2497
+ });
2498
+ }
2499
+
1548
2500
  return onValueClick(_objectSpread(_objectSpread({}, ev), {}, {
1549
2501
  payload: payload
1550
2502
  }));
@@ -1552,35 +2504,56 @@ var handleValueClickCallback = function handleValueClickCallback(ev, majorValue,
1552
2504
 
1553
2505
  /***/ }),
1554
2506
 
1555
- /***/ 23:
2507
+ /***/ 25:
1556
2508
  /***/ (function(module, exports) {
1557
2509
 
1558
2510
  module.exports = require("@splunk/visualization-context/TimezoneContext");
1559
2511
 
1560
2512
  /***/ }),
1561
2513
 
1562
- /***/ 24:
2514
+ /***/ 26:
2515
+ /***/ (function(module, exports) {
2516
+
2517
+ module.exports = require("@splunk/visualizations-shared/hocUtils");
2518
+
2519
+ /***/ }),
2520
+
2521
+ /***/ 27:
2522
+ /***/ (function(module, exports) {
2523
+
2524
+ module.exports = require("@splunk/visualizations-shared/JSONSchemaUtils");
2525
+
2526
+ /***/ }),
2527
+
2528
+ /***/ 28:
1563
2529
  /***/ (function(module, exports) {
1564
2530
 
1565
2531
  module.exports = require("@splunk/visualizations-shared/propUtils");
1566
2532
 
1567
2533
  /***/ }),
1568
2534
 
1569
- /***/ 25:
2535
+ /***/ 29:
1570
2536
  /***/ (function(module, exports) {
1571
2537
 
1572
- module.exports = require("@splunk/visualizations-shared/hocUtils");
2538
+ module.exports = require("@splunk/visualization-encoding/Options");
1573
2539
 
1574
2540
  /***/ }),
1575
2541
 
1576
- /***/ 26:
2542
+ /***/ 3:
1577
2543
  /***/ (function(module, exports) {
1578
2544
 
1579
- module.exports = require("@splunk/visualizations-shared/JSONSchemaUtils");
2545
+ module.exports = require("lodash");
1580
2546
 
1581
2547
  /***/ }),
1582
2548
 
1583
- /***/ 27:
2549
+ /***/ 30:
2550
+ /***/ (function(module, exports) {
2551
+
2552
+ module.exports = require("@splunk/visualizations-shared/numberUtils");
2553
+
2554
+ /***/ }),
2555
+
2556
+ /***/ 31:
1584
2557
  /***/ (function(module, exports, __webpack_require__) {
1585
2558
 
1586
2559
  "use strict";
@@ -1591,15 +2564,15 @@ Object.defineProperty(exports, "__esModule", {
1591
2564
  });
1592
2565
  exports.shouldShowIconPlaceholder = void 0;
1593
2566
 
1594
- var React = __webpack_require__(1);
2567
+ var React = __webpack_require__(0);
1595
2568
 
1596
- var T = __webpack_require__(0);
2569
+ var T = __webpack_require__(1);
1597
2570
 
1598
2571
  var lodash_1 = __webpack_require__(3);
1599
2572
 
1600
2573
  var i18n_1 = __webpack_require__(2);
1601
2574
 
1602
- var Message_1 = __webpack_require__(10);
2575
+ var Message_1 = __webpack_require__(9);
1603
2576
 
1604
2577
  var FixedSizeContainer_1 = __webpack_require__(13);
1605
2578
  /**
@@ -1672,24 +2645,31 @@ exports.default = FixedSizeContainer_1.default(IconPlaceholder);
1672
2645
 
1673
2646
  /***/ }),
1674
2647
 
1675
- /***/ 28:
2648
+ /***/ 32:
2649
+ /***/ (function(module, exports) {
2650
+
2651
+ module.exports = require("@splunk/ui-utils/id");
2652
+
2653
+ /***/ }),
2654
+
2655
+ /***/ 33:
1676
2656
  /***/ (function(module, exports, __webpack_require__) {
1677
2657
 
1678
2658
  "use strict";
1679
2659
 
1680
2660
 
1681
- var _defineProperty = __webpack_require__(7);
2661
+ var _defineProperty = __webpack_require__(8);
1682
2662
 
1683
2663
  Object.defineProperty(exports, "__esModule", {
1684
2664
  value: true
1685
2665
  });
1686
2666
  exports.getSortingParams = exports.SortParamsPropTypes = void 0;
1687
2667
 
1688
- var T = __webpack_require__(0);
2668
+ var T = __webpack_require__(1);
1689
2669
 
1690
2670
  var lodash_1 = __webpack_require__(3);
1691
2671
 
1692
- var DataSource_1 = __webpack_require__(39);
2672
+ var DataSource_1 = __webpack_require__(43);
1693
2673
 
1694
2674
  exports.SortParamsPropTypes = T.shape({
1695
2675
  currentSortKey: T.string,
@@ -1709,7 +2689,7 @@ var getSortingParams = function getSortingParams(_ref) {
1709
2689
  };
1710
2690
  var onSort;
1711
2691
 
1712
- if (lodash_1.isFunction(onRequestParamsChange)) {
2692
+ if (typeof onRequestParamsChange === 'function') {
1713
2693
  if (requestParams && lodash_1.has(requestParams, 'sort')) {
1714
2694
  currentSortKey = Object.keys(requestParams.sort).shift();
1715
2695
  currentSortDir = requestParams.sort[currentSortKey];
@@ -1743,7 +2723,7 @@ exports.getSortingParams = getSortingParams;
1743
2723
 
1744
2724
  /***/ }),
1745
2725
 
1746
- /***/ 29:
2726
+ /***/ 34:
1747
2727
  /***/ (function(module, exports, __webpack_require__) {
1748
2728
 
1749
2729
  "use strict";
@@ -1754,7 +2734,7 @@ Object.defineProperty(exports, "__esModule", {
1754
2734
  });
1755
2735
  exports.getPaginationParams = exports.PaginatorParamsPropTypes = void 0;
1756
2736
 
1757
- var T = __webpack_require__(0);
2737
+ var T = __webpack_require__(1);
1758
2738
 
1759
2739
  var lodash_1 = __webpack_require__(3);
1760
2740
 
@@ -1774,7 +2754,7 @@ var getPaginationParams = function getPaginationParams(_ref) {
1774
2754
  var count = requestParams && requestParams.count;
1775
2755
  var totalPages = typeof count === 'number' && count > 0 ? Math.ceil(totalCount / count) : 0;
1776
2756
  var current = typeof count === 'number' && count > 0 ? Math.floor(offset / count) + 1 : 0;
1777
- var isPaging = totalPages > 1 && lodash_1.isFunction(onRequestParamsChange);
2757
+ var isPaging = totalPages > 1 && typeof onRequestParamsChange === 'function';
1778
2758
 
1779
2759
  var onChangeHandler = function onChangeHandler(e, _ref2) {
1780
2760
  var page = _ref2.page,
@@ -1800,7 +2780,7 @@ var getPaginationParams = function getPaginationParams(_ref) {
1800
2780
  isPaging: isPaging,
1801
2781
  current: current,
1802
2782
  totalPages: totalPages,
1803
- onChange: lodash_1.isFunction(onRequestParamsChange) ? onChangeHandler : lodash_1.noop
2783
+ onChange: typeof onRequestParamsChange === 'function' ? onChangeHandler : lodash_1.noop
1804
2784
  };
1805
2785
  };
1806
2786
 
@@ -1808,21 +2788,7 @@ exports.getPaginationParams = getPaginationParams;
1808
2788
 
1809
2789
  /***/ }),
1810
2790
 
1811
- /***/ 3:
1812
- /***/ (function(module, exports) {
1813
-
1814
- module.exports = require("lodash");
1815
-
1816
- /***/ }),
1817
-
1818
- /***/ 30:
1819
- /***/ (function(module, exports) {
1820
-
1821
- module.exports = require("@splunk/visualizations-shared/numberUtils");
1822
-
1823
- /***/ }),
1824
-
1825
- /***/ 31:
2791
+ /***/ 35:
1826
2792
  /***/ (function(module, exports, __webpack_require__) {
1827
2793
 
1828
2794
  "use strict";
@@ -1851,58 +2817,67 @@ var VizCategory;
1851
2817
 
1852
2818
  /***/ }),
1853
2819
 
1854
- /***/ 32:
2820
+ /***/ 36:
1855
2821
  /***/ (function(module, exports, __webpack_require__) {
1856
2822
 
1857
2823
  "use strict";
1858
2824
 
1859
2825
 
2826
+ var _slicedToArray = __webpack_require__(17);
2827
+
1860
2828
  Object.defineProperty(exports, "__esModule", {
1861
2829
  value: true
1862
2830
  });
1863
2831
 
1864
- var React = __webpack_require__(1);
2832
+ var React = __webpack_require__(0);
1865
2833
 
1866
2834
  var lodash_1 = __webpack_require__(3);
1867
2835
 
1868
- var getSettingsFromThemedProps_1 = __webpack_require__(33);
2836
+ var getSettingsFromThemedProps_1 = __webpack_require__(37);
2837
+
2838
+ var Options_1 = __webpack_require__(29);
1869
2839
 
1870
- var Options_1 = __webpack_require__(34);
2840
+ var SanitizeProps_1 = __webpack_require__(38);
1871
2841
 
1872
- var SanitizeProps_1 = __webpack_require__(35);
2842
+ var TimezoneContext_1 = __webpack_require__(25);
1873
2843
 
1874
- var TimezoneContext_1 = __webpack_require__(23);
2844
+ var moment_1 = __webpack_require__(39);
1875
2845
 
1876
- var moment_1 = __webpack_require__(36);
2846
+ var FeatureFlagContext_1 = __webpack_require__(20);
1877
2847
 
1878
2848
  var styled_components_1 = __webpack_require__(4);
1879
2849
 
1880
- var hocUtils_1 = __webpack_require__(25);
2850
+ var hocUtils_1 = __webpack_require__(26);
2851
+
2852
+ var JSONSchemaUtils_1 = __webpack_require__(27);
2853
+
2854
+ var async_dynamic_options_evaluator_1 = __webpack_require__(40);
1881
2855
 
1882
- var JSONSchemaUtils_1 = __webpack_require__(26);
2856
+ var id_1 = __webpack_require__(32);
1883
2857
 
1884
- var SplunkVisualization_1 = __webpack_require__(37);
2858
+ var SplunkVisualization_1 = __webpack_require__(41);
1885
2859
 
1886
2860
  var VizBehavior_1 = __webpack_require__(6);
1887
2861
 
1888
- var getSorting_1 = __webpack_require__(28);
2862
+ var getSorting_1 = __webpack_require__(33);
1889
2863
 
1890
- var getPagination_1 = __webpack_require__(29);
2864
+ var getPagination_1 = __webpack_require__(34);
1891
2865
 
1892
- var useDeepMemo_1 = __webpack_require__(40);
2866
+ var useDeepMemo_1 = __webpack_require__(44);
1893
2867
 
1894
- var MissingPropsMessage_1 = __webpack_require__(41);
2868
+ var MissingPropsMessage_1 = __webpack_require__(45);
1895
2869
 
1896
- var withEditModeCover_1 = __webpack_require__(42);
2870
+ var withEditModeCover_1 = __webpack_require__(46);
1897
2871
 
1898
- var withPlaceholder_1 = __webpack_require__(43);
2872
+ var withPlaceholder_1 = __webpack_require__(47);
2873
+
2874
+ var UUID = id_1.createGUID();
1899
2875
  /**
1900
2876
  * hoc that wraps a pure react visualization in a Dashboard visualization
1901
2877
  * @param {DashboardVizOpts} opts
1902
2878
  * @returns {HOC}
1903
2879
  */
1904
2880
 
1905
-
1906
2881
  var withDashboardViz = function withDashboardViz(opts) {
1907
2882
  var ReactViz = opts.ReactViz,
1908
2883
  vizConfig = opts.vizConfig,
@@ -1915,6 +2890,8 @@ var withDashboardViz = function withDashboardViz(opts) {
1915
2890
  var defaultOptions = JSONSchemaUtils_1.pickFieldFromJSONSchema(vizConfig.optionsSchema, 'default');
1916
2891
 
1917
2892
  var DashboardViz = function DashboardViz(props) {
2893
+ var _a;
2894
+
1918
2895
  var mode = props.mode,
1919
2896
  hasEventHandlers = props.hasEventHandlers,
1920
2897
  dataSources = props.dataSources,
@@ -1962,38 +2939,97 @@ var withDashboardViz = function withDashboardViz(opts) {
1962
2939
 
1963
2940
  var evaluatedOptions = {}; // evaluatedOptions need to be initialized as an empty object
1964
2941
 
2942
+ var _React$useState = React.useState({}),
2943
+ _React$useState2 = _slicedToArray(_React$useState, 2),
2944
+ evaluatedOptionsAsync = _React$useState2[0],
2945
+ setEvaluatedOptionsAsync = _React$useState2[1]; // evaluatedOptions need to be initialized as an empty object
2946
+
2947
+
2948
+ var featureFlagContext = React.useContext(FeatureFlagContext_1.default);
2949
+
2950
+ var _React$useState3 = React.useState("".concat(vizConfig.name, " - ").concat(UUID)),
2951
+ _React$useState4 = _slicedToArray(_React$useState3, 1),
2952
+ visualizationID = _React$useState4[0];
2953
+
2954
+ var _React$useState5 = React.useState(Boolean(featureFlagContext && featureFlagContext.visualizations_useWebWorkersForDSL && typeof Worker !== 'undefined')),
2955
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
2956
+ useAsyncEvaluatedOptions = _React$useState6[0],
2957
+ setUseAsyncEvaluatedOptions = _React$useState6[1];
2958
+
1965
2959
  evaluatedOptions = useDeepMemo_1.useDeepMemo(function () {
1966
2960
  try {
1967
- return Options_1.Options.evaluate({
1968
- context: lodash_1.defaultsDeep({}, context, vizConfig.defaultContext),
1969
- options: hocUtils_1.deepMergeWithArrayPrimitiveOverrides({}, options, defaultOptions)
1970
- }, dataSources, themeFunc);
2961
+ if (useAsyncEvaluatedOptions) {
2962
+ var optionsToEvaluate = {
2963
+ context: lodash_1.defaultsDeep({}, context, vizConfig.defaultContext),
2964
+ options: hocUtils_1.deepMergeWithArrayPrimitiveOverrides({}, options, defaultOptions)
2965
+ };
2966
+ var asyncDynamicOptionsEvaluatorParams = {
2967
+ visualizationID: visualizationID,
2968
+ props: props,
2969
+ options: optionsToEvaluate,
2970
+ dataSources: dataSources,
2971
+ theme: vizConfig.themes
2972
+ };
2973
+ async_dynamic_options_evaluator_1.default.evaluate(asyncDynamicOptionsEvaluatorParams).then(function (results) {
2974
+ setEvaluatedOptionsAsync(results.results);
2975
+ }).catch(function (e) {
2976
+ // eslint-disable-next-line no-console
2977
+ console.error("unexpected error evaluating options - async: ".concat(e.message));
2978
+ setUseAsyncEvaluatedOptions(false);
2979
+ });
2980
+ } else {
2981
+ return Options_1.Options.evaluate({
2982
+ context: lodash_1.defaultsDeep({}, context, vizConfig.defaultContext),
2983
+ options: hocUtils_1.deepMergeWithArrayPrimitiveOverrides({}, options, defaultOptions)
2984
+ }, dataSources, themeFunc);
2985
+ }
1971
2986
  } catch (e) {
1972
2987
  // eslint-disable-next-line no-console
1973
- console.error("unexpected error evaluating options: + ".concat(e.message));
2988
+ console.error("unexpected error evaluating options: ".concat(e.message));
1974
2989
  return {};
1975
2990
  }
1976
- }, [currentThemeFamily, currentThemeColorScheme, currentThemeDensity, options, context, dataSources, serializedTimezone]); // useEffect hook needs to be initialized before any early returns
2991
+
2992
+ return {};
2993
+ }, [currentThemeFamily, currentThemeColorScheme, currentThemeDensity, options, context, dataSources, serializedTimezone, useAsyncEvaluatedOptions]);
2994
+ var evaluatedOptionsToUse = !useAsyncEvaluatedOptions ? evaluatedOptions : evaluatedOptionsAsync; // trellis specific backgroundColor update for onComputedProps
2995
+ // if trellis is enabled following these three criteria - 1) trellis feature flag is enabled 2) vizConfig supports array has 'trellis' 3) option 'splitByLayout' is set to 'trellis
2996
+ // onComputedProps api should return back trellisBackgroundColor value for backgroundColor option to support coloring of sibling panels (for eg:- title/ description on UDF side)
2997
+
2998
+ var isTrellisFeatureFlagOn = Boolean(featureFlagContext && featureFlagContext.visualizations_enableTrellis);
2999
+ var clonedEvaluatedOptions = lodash_1.cloneDeep(evaluatedOptionsToUse);
3000
+
3001
+ if (isTrellisFeatureFlagOn && ((_a = vizConfig === null || vizConfig === void 0 ? void 0 : vizConfig.supports) === null || _a === void 0 ? void 0 : _a.includes(VizBehavior_1.VizBehavior.TRELLIS)) && (clonedEvaluatedOptions === null || clonedEvaluatedOptions === void 0 ? void 0 : clonedEvaluatedOptions.splitByLayout) === VizBehavior_1.VizBehavior.TRELLIS) {
3002
+ clonedEvaluatedOptions.backgroundColor = clonedEvaluatedOptions === null || clonedEvaluatedOptions === void 0 ? void 0 : clonedEvaluatedOptions.trellisBackgroundColor;
3003
+ } // useEffect hook needs to be initialized before any early returns
1977
3004
  // this is in accordance with the order of hook calls being the same on each render https://reactjs.org/docs/hooks-rules.html#explanation
1978
3005
 
3006
+
1979
3007
  React.useEffect(function () {
1980
- onComputedProps(evaluatedOptions);
1981
- }); // present warning message if any required props are missing
3008
+ onComputedProps(clonedEvaluatedOptions);
3009
+ });
3010
+ React.useEffect(function () {
3011
+ return function () {
3012
+ if (useAsyncEvaluatedOptions) {
3013
+ async_dynamic_options_evaluator_1.default.reset(visualizationID);
3014
+ }
3015
+ }; // eslint-disable-next-line react-hooks/exhaustive-deps
3016
+ }, []); // present warning message if any required props are missing
1982
3017
 
1983
3018
  var _vizConfig$requiredPr = vizConfig.requiredProps,
1984
3019
  requiredProps = _vizConfig$requiredPr === void 0 ? [] : _vizConfig$requiredPr,
1985
3020
  supports = vizConfig.supports;
1986
- var missing = MissingPropsMessage_1.missingKeys(requiredProps, evaluatedOptions);
1987
-
1988
- if (missing.length > 0 && supports.includes(VizBehavior_1.VizBehavior.PLACEHOLDER)) {
1989
- return React.createElement(MissingPropsMessage_1.default, {
1990
- "data-test": "missing-props-message",
1991
- width: width,
1992
- height: height,
1993
- missingProps: missing,
1994
- backgroundColor: bgColorFromTheme
1995
- });
1996
- } // events
3021
+ var missing = MissingPropsMessage_1.missingKeys(requiredProps, evaluatedOptionsToUse);
3022
+
3023
+ if (missing.length > 0 && supports.includes(VizBehavior_1.VizBehavior.PLACEHOLDER) && vizConfig.key !== 'splunk.singlevalue' // For SV missing props msg is not displayed if required props majorValue is missing, instead this will be handled from the component, instead handled within component
3024
+ ) {
3025
+ return React.createElement(MissingPropsMessage_1.default, {
3026
+ "data-test": "missing-props-message",
3027
+ width: width,
3028
+ height: height,
3029
+ missingProps: missing,
3030
+ backgroundColor: bgColorFromTheme
3031
+ });
3032
+ } // events
1997
3033
 
1998
3034
 
1999
3035
  var eventCallbackProps = {};
@@ -2010,7 +3046,7 @@ var withDashboardViz = function withDashboardViz(opts) {
2010
3046
 
2011
3047
  if (Array.isArray(payloadKeys) && payloadKeys.length) {
2012
3048
  payloadKeys.forEach(function (p) {
2013
- payload[p] = evaluatedOptions[p];
3049
+ payload[p] = evaluatedOptionsToUse[p];
2014
3050
  });
2015
3051
  }
2016
3052
 
@@ -2029,7 +3065,7 @@ var withDashboardViz = function withDashboardViz(opts) {
2029
3065
  } // compute pure viz props which are not from options
2030
3066
 
2031
3067
 
2032
- var computedVizProps = computeVizProps(Object.assign(Object.assign(Object.assign(Object.assign({}, props), evaluatedOptions), eventCallbackProps), {
3068
+ var computedVizProps = computeVizProps(Object.assign(Object.assign(Object.assign(Object.assign({}, props), evaluatedOptionsToUse), eventCallbackProps), {
2033
3069
  themeFunc: themeFunc
2034
3070
  }));
2035
3071
  /**
@@ -2049,7 +3085,7 @@ var withDashboardViz = function withDashboardViz(opts) {
2049
3085
 
2050
3086
  var dataSourceMetadata = {};
2051
3087
  var OptionKey = 'paginateDataSourceKey';
2052
- var paginateDataSourceKey = lodash_1.has(evaluatedOptions, OptionKey) && evaluatedOptions[OptionKey] || 'primary';
3088
+ var paginateDataSourceKey = lodash_1.has(evaluatedOptionsToUse, OptionKey) && evaluatedOptionsToUse[OptionKey] || 'primary';
2053
3089
 
2054
3090
  if (vizConfig.supports.indexOf(VizBehavior_1.VizBehavior.PAGE_AND_SORT) > -1 && lodash_1.has(dataSources, paginateDataSourceKey)) {
2055
3091
  var requestParams = lodash_1.get(dataSources, [paginateDataSourceKey, 'requestParams'], {});
@@ -2079,7 +3115,7 @@ var withDashboardViz = function withDashboardViz(opts) {
2079
3115
  mode: mode,
2080
3116
  width: width,
2081
3117
  height: height
2082
- }, evaluatedOptions, computedVizProps, eventCallbackProps, dataSourceMetadata));
3118
+ }, evaluatedOptionsToUse, computedVizProps, eventCallbackProps, dataSourceMetadata));
2083
3119
  };
2084
3120
 
2085
3121
  DashboardViz.propTypes = Object.assign(Object.assign({}, SplunkVisualization_1.default.propTypes), ReactViz.propTypes);
@@ -2097,35 +3133,42 @@ exports.default = withDashboardViz;
2097
3133
 
2098
3134
  /***/ }),
2099
3135
 
2100
- /***/ 33:
3136
+ /***/ 37:
2101
3137
  /***/ (function(module, exports) {
2102
3138
 
2103
3139
  module.exports = require("@splunk/themes/getSettingsFromThemedProps");
2104
3140
 
2105
3141
  /***/ }),
2106
3142
 
2107
- /***/ 34:
3143
+ /***/ 38:
2108
3144
  /***/ (function(module, exports) {
2109
3145
 
2110
- module.exports = require("@splunk/visualization-encoding/Options");
3146
+ module.exports = require("@splunk/visualizations-shared/SanitizeProps");
2111
3147
 
2112
3148
  /***/ }),
2113
3149
 
2114
- /***/ 35:
3150
+ /***/ 39:
2115
3151
  /***/ (function(module, exports) {
2116
3152
 
2117
- module.exports = require("@splunk/visualizations-shared/SanitizeProps");
3153
+ module.exports = require("@splunk/moment");
2118
3154
 
2119
3155
  /***/ }),
2120
3156
 
2121
- /***/ 36:
3157
+ /***/ 4:
2122
3158
  /***/ (function(module, exports) {
2123
3159
 
2124
- module.exports = require("@splunk/moment");
3160
+ module.exports = require("styled-components");
2125
3161
 
2126
3162
  /***/ }),
2127
3163
 
2128
- /***/ 37:
3164
+ /***/ 40:
3165
+ /***/ (function(module, exports) {
3166
+
3167
+ module.exports = require("@splunk/async-dynamic-options-evaluator");
3168
+
3169
+ /***/ }),
3170
+
3171
+ /***/ 41:
2129
3172
  /***/ (function(module, exports, __webpack_require__) {
2130
3173
 
2131
3174
  "use strict";
@@ -2139,11 +3182,11 @@ Object.defineProperty(exports, "__esModule", {
2139
3182
  exports.INITIAL_HEIGHT = exports.INITIAL_WIDTH = void 0;
2140
3183
  /* eslint-disable react/no-unused-prop-types,react/prefer-stateless-function */
2141
3184
 
2142
- var T = __webpack_require__(0);
3185
+ var T = __webpack_require__(1);
2143
3186
 
2144
3187
  var lodash_1 = __webpack_require__(3);
2145
3188
 
2146
- var VizActionHandler_1 = __webpack_require__(38); // this is identical to the initial height and width we use in BaseVisualization in dashboard-visualizations
3189
+ var VizActionHandler_1 = __webpack_require__(42); // this is identical to the initial height and width we use in BaseVisualization in dashboard-visualizations
2147
3190
 
2148
3191
 
2149
3192
  exports.INITIAL_WIDTH = 250;
@@ -2277,7 +3320,7 @@ exports.default = SplunkVisualization;
2277
3320
 
2278
3321
  /***/ }),
2279
3322
 
2280
- /***/ 38:
3323
+ /***/ 42:
2281
3324
  /***/ (function(module, exports, __webpack_require__) {
2282
3325
 
2283
3326
  "use strict";
@@ -2285,7 +3328,7 @@ exports.default = SplunkVisualization;
2285
3328
 
2286
3329
  var _classCallCheck = __webpack_require__(11);
2287
3330
 
2288
- var _createClass = __webpack_require__(19);
3331
+ var _createClass = __webpack_require__(22);
2289
3332
 
2290
3333
  Object.defineProperty(exports, "__esModule", {
2291
3334
  value: true
@@ -2315,7 +3358,7 @@ exports.DefaultVizActionHandler = DefaultVizActionHandler;
2315
3358
 
2316
3359
  /***/ }),
2317
3360
 
2318
- /***/ 39:
3361
+ /***/ 43:
2319
3362
  /***/ (function(module, exports, __webpack_require__) {
2320
3363
 
2321
3364
  "use strict";
@@ -2329,14 +3372,7 @@ exports.validSortDirs = ['asc', 'desc', 'none'];
2329
3372
 
2330
3373
  /***/ }),
2331
3374
 
2332
- /***/ 4:
2333
- /***/ (function(module, exports) {
2334
-
2335
- module.exports = require("styled-components");
2336
-
2337
- /***/ }),
2338
-
2339
- /***/ 40:
3375
+ /***/ 44:
2340
3376
  /***/ (function(module, exports, __webpack_require__) {
2341
3377
 
2342
3378
  "use strict";
@@ -2347,7 +3383,7 @@ Object.defineProperty(exports, "__esModule", {
2347
3383
  });
2348
3384
  exports.useDeepMemo = void 0;
2349
3385
 
2350
- var react_1 = __webpack_require__(1);
3386
+ var react_1 = __webpack_require__(0);
2351
3387
 
2352
3388
  var lodash_1 = __webpack_require__(3);
2353
3389
  /**
@@ -2382,7 +3418,7 @@ exports.useDeepMemo = useDeepMemo;
2382
3418
 
2383
3419
  /***/ }),
2384
3420
 
2385
- /***/ 41:
3421
+ /***/ 45:
2386
3422
  /***/ (function(module, exports, __webpack_require__) {
2387
3423
 
2388
3424
  "use strict";
@@ -2393,13 +3429,13 @@ Object.defineProperty(exports, "__esModule", {
2393
3429
  });
2394
3430
  exports.MissingPropsMessage = exports.missingKeys = exports.isMissing = void 0;
2395
3431
 
2396
- var React = __webpack_require__(1);
3432
+ var React = __webpack_require__(0);
2397
3433
 
2398
- var T = __webpack_require__(0);
3434
+ var T = __webpack_require__(1);
2399
3435
 
2400
3436
  var i18n_1 = __webpack_require__(2);
2401
3437
 
2402
- var Message_1 = __webpack_require__(10);
3438
+ var Message_1 = __webpack_require__(9);
2403
3439
 
2404
3440
  var FixedSizeContainer_1 = __webpack_require__(13);
2405
3441
  /**
@@ -2463,7 +3499,7 @@ exports.default = FixedSizeContainer_1.default(exports.MissingPropsMessage);
2463
3499
 
2464
3500
  /***/ }),
2465
3501
 
2466
- /***/ 42:
3502
+ /***/ 46:
2467
3503
  /***/ (function(module, exports, __webpack_require__) {
2468
3504
 
2469
3505
  "use strict";
@@ -2473,18 +3509,18 @@ Object.defineProperty(exports, "__esModule", {
2473
3509
  value: true
2474
3510
  });
2475
3511
 
2476
- var React = __webpack_require__(1);
3512
+ var React = __webpack_require__(0);
2477
3513
 
2478
3514
  var styled_components_1 = __webpack_require__(4);
2479
3515
 
2480
- var hocUtils_1 = __webpack_require__(14);
3516
+ var hocUtils_1 = __webpack_require__(15);
2481
3517
 
2482
3518
  var Cover = styled_components_1.default.div.withConfig({
2483
3519
  displayName: "withEditModeCover__Cover",
2484
3520
  componentId: "sc-1gsbnxb-0"
2485
3521
  })(["position:absolute;left:0;right:0;top:0;bottom:0;"]);
2486
3522
  var Blocker = styled_components_1.default.div.attrs({
2487
- 'data-splunk-visualization-version': "25.5.0 - 12c0447a7"
3523
+ 'data-splunk-visualization-version': "25.7.0 - d10a7789b"
2488
3524
  }).withConfig({
2489
3525
  displayName: "withEditModeCover__Blocker",
2490
3526
  componentId: "sc-1gsbnxb-1"
@@ -2516,7 +3552,7 @@ exports.default = withEditModeCover;
2516
3552
 
2517
3553
  /***/ }),
2518
3554
 
2519
- /***/ 43:
3555
+ /***/ 47:
2520
3556
  /***/ (function(module, exports, __webpack_require__) {
2521
3557
 
2522
3558
  "use strict";
@@ -2526,17 +3562,17 @@ Object.defineProperty(exports, "__esModule", {
2526
3562
  value: true
2527
3563
  });
2528
3564
 
2529
- var React = __webpack_require__(1);
3565
+ var React = __webpack_require__(0);
2530
3566
 
2531
3567
  var colorUtils_1 = __webpack_require__(12);
2532
3568
 
2533
- var variables_1 = __webpack_require__(9);
3569
+ var variables_1 = __webpack_require__(10);
2534
3570
 
2535
- var IconPlaceholder_1 = __webpack_require__(27);
3571
+ var IconPlaceholder_1 = __webpack_require__(31);
2536
3572
 
2537
3573
  var VizBehavior_1 = __webpack_require__(6);
2538
3574
 
2539
- var hocUtils_1 = __webpack_require__(14);
3575
+ var hocUtils_1 = __webpack_require__(15);
2540
3576
 
2541
3577
  var withPlaceholder = function withPlaceholder(Visualization) {
2542
3578
  var useIconPlaceholder = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : IconPlaceholder_1.shouldShowIconPlaceholder;
@@ -2581,55 +3617,70 @@ exports.default = withPlaceholder;
2581
3617
 
2582
3618
  /***/ }),
2583
3619
 
2584
- /***/ 44:
2585
- /***/ (function(module, exports) {
2586
-
2587
- module.exports = require("@splunk/visualization-icons/placeholders");
2588
-
2589
- /***/ }),
2590
-
2591
- /***/ 45:
2592
- /***/ (function(module, exports) {
3620
+ /***/ 471:
3621
+ /***/ (function(module, exports, __webpack_require__) {
2593
3622
 
2594
- module.exports = require("@splunk/visualizations-shared/colorConstants");
3623
+ "use strict";
2595
3624
 
2596
- /***/ }),
2597
3625
 
2598
- /***/ 456:
2599
- /***/ (function(module, exports, __webpack_require__) {
3626
+ var __rest = this && this.__rest || function (s, e) {
3627
+ var t = {};
2600
3628
 
2601
- "use strict";
3629
+ for (var p in s) {
3630
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
3631
+ }
2602
3632
 
3633
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
3634
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
3635
+ }
3636
+ return t;
3637
+ };
2603
3638
 
2604
3639
  Object.defineProperty(exports, "__esModule", {
2605
3640
  value: true
2606
3641
  });
2607
- exports.PureSingleValueRadialThemes = exports.PureSingleValueRadial = exports.config = void 0;
3642
+ exports.themes = exports.computeVizProps = exports.PureSingleValueRadialThemes = exports.PureSingleValueRadial = exports.config = void 0;
3643
+
3644
+ var SingleValueRadial_1 = __webpack_require__(487);
2608
3645
 
2609
- var SingleValueRadial_1 = __webpack_require__(474);
3646
+ var withDashboardViz_1 = __webpack_require__(36);
2610
3647
 
2611
- var withDashboardViz_1 = __webpack_require__(32);
3648
+ var config_1 = __webpack_require__(472);
2612
3649
 
2613
- var config_1 = __webpack_require__(457);
3650
+ var withTrellis_1 = __webpack_require__(102);
2614
3651
 
2615
3652
  exports.config = config_1.default;
2616
3653
  exports.PureSingleValueRadial = SingleValueRadial_1.default; // TODO: proper theming support for SVR when we come back to SVR viz
2617
3654
 
2618
3655
  exports.PureSingleValueRadialThemes = {};
2619
- exports.default = withDashboardViz_1.default({
3656
+
3657
+ var computeVizProps = function computeVizProps(_a) {
3658
+ var trellisKey = _a.trellisKey,
3659
+ props = __rest(_a, ["trellisKey"]);
3660
+
3661
+ return Object.assign({
3662
+ trellisKey: trellisKey
3663
+ }, props);
3664
+ };
3665
+
3666
+ exports.computeVizProps = computeVizProps;
3667
+ var viz = withTrellis_1.default(withDashboardViz_1.default({
2620
3668
  ReactViz: SingleValueRadial_1.default,
2621
- vizConfig: config_1.default
2622
- });
3669
+ vizConfig: config_1.default,
3670
+ computeVizProps: exports.computeVizProps
3671
+ }));
3672
+ exports.themes = config_1.default.themes;
3673
+ exports.default = viz;
2623
3674
 
2624
3675
  /***/ }),
2625
3676
 
2626
- /***/ 457:
3677
+ /***/ 472:
2627
3678
  /***/ (function(module, exports, __webpack_require__) {
2628
3679
 
2629
3680
  "use strict";
2630
3681
 
2631
3682
 
2632
- var _toConsumableArray = __webpack_require__(8);
3683
+ var _toConsumableArray = __webpack_require__(7);
2633
3684
 
2634
3685
  Object.defineProperty(exports, "__esModule", {
2635
3686
  value: true
@@ -2639,37 +3690,41 @@ var i18n_1 = __webpack_require__(2);
2639
3690
 
2640
3691
  var schemaUtils_1 = __webpack_require__(16);
2641
3692
 
2642
- var pick_1 = __webpack_require__(21);
3693
+ var pick_1 = __webpack_require__(23);
2643
3694
 
2644
- var variables_1 = __webpack_require__(9);
3695
+ var variables_1 = __webpack_require__(10);
2645
3696
 
2646
- var PresetPalettes_1 = __webpack_require__(54);
3697
+ var PresetPalettes_1 = __webpack_require__(60);
2647
3698
 
2648
- var visualization_icons_1 = __webpack_require__(47);
3699
+ var visualization_icons_1 = __webpack_require__(51);
2649
3700
 
2650
- var placeholders_1 = __webpack_require__(44);
3701
+ var placeholders_1 = __webpack_require__(48);
2651
3702
 
2652
- var StaticMajorAndTrendLayout_1 = __webpack_require__(91);
3703
+ var StaticMajorAndTrendLayout_1 = __webpack_require__(98);
2653
3704
 
2654
3705
  var VizBehavior_1 = __webpack_require__(6);
2655
3706
 
2656
- var configUtils_1 = __webpack_require__(17);
3707
+ var configUtils_1 = __webpack_require__(19);
3708
+
3709
+ var VizCategory_1 = __webpack_require__(35);
2657
3710
 
2658
- var VizCategory_1 = __webpack_require__(31);
3711
+ var DynamicMajorColorEditor_1 = __webpack_require__(95);
2659
3712
 
2660
- var DynamicMajorColorEditor_1 = __webpack_require__(88);
3713
+ var DynamicTrendColorEditor_1 = __webpack_require__(96);
2661
3714
 
2662
- var DynamicTrendColorEditor_1 = __webpack_require__(89);
3715
+ var DynamicBackgroundColorEditor_1 = __webpack_require__(97);
2663
3716
 
2664
- var DynamicBackgroundColorEditor_1 = __webpack_require__(90);
3717
+ var StaticMajorColorEditor_1 = __webpack_require__(99);
2665
3718
 
2666
- var StaticMajorColorEditor_1 = __webpack_require__(92);
3719
+ var StaticTrendColorEditor_1 = __webpack_require__(100);
2667
3720
 
2668
- var StaticTrendColorEditor_1 = __webpack_require__(93);
3721
+ var StaticBackgroundColorEditor_1 = __webpack_require__(84);
2669
3722
 
2670
- var StaticBackgroundColorEditor_1 = __webpack_require__(78);
3723
+ var RadialBackgroundColor_1 = __webpack_require__(473);
2671
3724
 
2672
- var RadialBackgroundColor_1 = __webpack_require__(458);
3725
+ var TrellisEditors_1 = __webpack_require__(101);
3726
+
3727
+ var layoutUtils_1 = __webpack_require__(58);
2673
3728
 
2674
3729
  var dataContract = {
2675
3730
  requiredDataSources: [{
@@ -2777,6 +3832,13 @@ var optionsSchema = {
2777
3832
  description: 'Specify whether numeric values use commas as thousandths separaters.',
2778
3833
  type: 'boolean'
2779
3834
  },
3835
+ splitByLayout: {
3836
+ default: 'off',
3837
+ description: 'Specify the layout method by which to display the visualization, which splits the data into individual visualizations based on a certain category.',
3838
+ type: 'string',
3839
+ pattern: schemaUtils_1.getPattern([layoutUtils_1.LAYOUT_TYPE.Off, layoutUtils_1.LAYOUT_TYPE.Trellis]),
3840
+ enum: [layoutUtils_1.LAYOUT_TYPE.Off, layoutUtils_1.LAYOUT_TYPE.Trellis]
3841
+ },
2780
3842
  trendColor: {
2781
3843
  default: '> themes.defaultFontColor',
2782
3844
  description: 'Specify the color for the trend value. You may use a dataSource to apply the color. The hex value format should be “#FFFFFF”. The default for enterprise light is "#000000". The default for enterprise dark is "#ffffff". The default for prisma dark is "rgba(255, 255, 255, 0.98)".',
@@ -2794,6 +3856,37 @@ var optionsSchema = {
2794
3856
  description: 'Specify the dataSource applied to the trend value.',
2795
3857
  type: 'number'
2796
3858
  },
3859
+ trellisBackgroundColor: {
3860
+ default: '> themes.defaultBackgroundColor',
3861
+ description: 'Specify the color used for the trellis container background by using a hexadecimal code. For example, #0000FF.',
3862
+ pattern: schemaUtils_1.COLOR_OR_TOKEN_PATTERN_WITH_RGBA,
3863
+ type: 'string'
3864
+ },
3865
+ trellisColumns: {
3866
+ description: 'Specify the number of visualizations to display in a given row of the trellis container. The remaining visualizations will wrap accordingly. If nothing is specified, it will be auto-set based on the trellisMinColumnWidth.',
3867
+ type: 'number',
3868
+ minimum: 0
3869
+ },
3870
+ trellisMinColumnWidth: {
3871
+ default: 100,
3872
+ description: 'Specify the minimum width, in pixels, of each visualization in the trellis container. If the window or panel is resized, the remaining visualizations may be viewed by scrolling.',
3873
+ type: 'number'
3874
+ },
3875
+ trellisPageCount: {
3876
+ default: 20,
3877
+ minimum: 0,
3878
+ description: 'Specify the maximum number of visualizations to display in a single page in the trellis container. The remaining visualizations will paginate accordingly.',
3879
+ type: 'number'
3880
+ },
3881
+ trellisRowHeight: {
3882
+ default: 70,
3883
+ description: 'Specify the height, in pixels, of each visualization in the trellis container. If the window or panel is resized, the remaining visualizations may be viewed by scrolling.',
3884
+ type: 'number'
3885
+ },
3886
+ trellisSplitBy: {
3887
+ description: 'Specify the field name of the column with categories used, or “aggregations”, to split the data into individual visualizations for trellis display, if applicable. If a SPL `timechart` command is used, this may default to the SPL `by` clause field. If a SPL `chart` command is used, this may default to the first string field.',
3888
+ type: 'string'
3889
+ },
2797
3890
  underLabel: {
2798
3891
  description: 'Specify the text that appears below the major value.',
2799
3892
  type: 'string'
@@ -2904,6 +3997,31 @@ var themes = {
2904
3997
  }
2905
3998
  };
2906
3999
  var editorConfig = [{
4000
+ label: i18n_1._('Data configurations'),
4001
+ layout: [[{
4002
+ label: i18n_1._('Value'),
4003
+ editor: 'editor.columnSelector',
4004
+ option: 'majorValue',
4005
+ context: 'valuesContext',
4006
+ editorProps: {
4007
+ dataSourceKey: 'primary',
4008
+ prepareValue: function prepareValue(definition) {
4009
+ var baseSPL = definition.options.majorValue;
4010
+ return {
4011
+ context: {},
4012
+ options: {
4013
+ majorValue: "".concat(baseSPL, " | lastPoint()"),
4014
+ trendValue: "".concat(baseSPL, " | delta(-2)")
4015
+ }
4016
+ };
4017
+ }
4018
+ },
4019
+ isDisabled: function isDisabled(_ref) {
4020
+ var options = _ref.options;
4021
+ return options.splitByLayout === layoutUtils_1.LAYOUT_TYPE.Trellis;
4022
+ }
4023
+ }]]
4024
+ }, {
2907
4025
  label: i18n_1._('Data display'),
2908
4026
  layout: [].concat(_toConsumableArray(StaticMajorAndTrendLayout_1.default), [[{
2909
4027
  label: i18n_1._('Trend display'),
@@ -2921,11 +4039,11 @@ var editorConfig = [{
2921
4039
  value: 'off'
2922
4040
  }]
2923
4041
  },
2924
- showEditor: function showEditor(_ref) {
2925
- var options = _ref.options;
4042
+ showEditor: function showEditor(_ref2) {
4043
+ var options = _ref2.options;
2926
4044
  return options.showValue || options.showValue === undefined;
2927
4045
  }
2928
- }]])
4046
+ }]], _toConsumableArray(TrellisEditors_1.TrellisEditorConfig))
2929
4047
  }, {
2930
4048
  label: i18n_1._('Color and style'),
2931
4049
  layout: [[{
@@ -2934,16 +4052,15 @@ var editorConfig = [{
2934
4052
  editor: 'editor.presetSelector',
2935
4053
  editorProps: {
2936
4054
  presets: presets,
2937
- value: function value(_ref2) {
2938
- var context = _ref2.context,
2939
- options = _ref2.options;
4055
+ value: function value(_ref3) {
4056
+ var context = _ref3.context,
4057
+ options = _ref3.options;
2940
4058
  var initialPreset = configUtils_1.getInitialPreset(context, options, presets);
2941
4059
  return initialPreset && initialPreset.label || null;
2942
4060
  }
2943
4061
  }
2944
4062
  }], [Object.assign(Object.assign({}, StaticMajorColorEditor_1.default), {
2945
4063
  editorProps: {
2946
- labelPosition: 'left',
2947
4064
  themes: themes
2948
4065
  }
2949
4066
  })], [DynamicMajorColorEditor_1.getDynamicMajorColorEditor({
@@ -2951,18 +4068,19 @@ var editorConfig = [{
2951
4068
  defaultPalettesConfig: PresetPalettes_1.defaultPalettesConfig
2952
4069
  })], [Object.assign(Object.assign({}, StaticTrendColorEditor_1.default), {
2953
4070
  editorProps: {
2954
- labelPosition: 'left',
2955
4071
  themes: themes
2956
4072
  }
2957
4073
  })], [DynamicTrendColorEditor_1.getDynamicTrendColorEditor({
2958
4074
  defaultContext: defaultContext,
2959
4075
  defaultPalettesConfig: PresetPalettes_1.defaultPalettesConfig
2960
4076
  })], RadialBackgroundColor_1.default({
2961
- labelPosition: 'left',
2962
4077
  themes: themes
2963
4078
  }), [Object.assign(Object.assign({}, StaticBackgroundColorEditor_1.default), {
2964
4079
  editorProps: {
2965
- labelPosition: 'left',
4080
+ themes: themes
4081
+ }
4082
+ })], [Object.assign(Object.assign({}, TrellisEditors_1.TrellisBackgroundColorEditor), {
4083
+ editorProps: {
2966
4084
  themes: themes
2967
4085
  }
2968
4086
  })], [DynamicBackgroundColorEditor_1.getDynamicBackgroundColorEditor({
@@ -3002,14 +4120,14 @@ var config = {
3002
4120
  payloadKeys: ['majorValue', 'trendValue']
3003
4121
  }
3004
4122
  },
3005
- supports: [VizBehavior_1.VizBehavior.DYNAMIC_OPTIONS, VizBehavior_1.VizBehavior.EVENTS, VizBehavior_1.VizBehavior.PLACEHOLDER],
4123
+ supports: [VizBehavior_1.VizBehavior.DYNAMIC_OPTIONS, VizBehavior_1.VizBehavior.EVENTS, VizBehavior_1.VizBehavior.PLACEHOLDER, VizBehavior_1.VizBehavior.TRELLIS],
3006
4124
  themes: themes
3007
4125
  };
3008
4126
  exports.default = configUtils_1.enhanceConfig(config);
3009
4127
 
3010
4128
  /***/ }),
3011
4129
 
3012
- /***/ 458:
4130
+ /***/ 473:
3013
4131
  /***/ (function(module, exports, __webpack_require__) {
3014
4132
 
3015
4133
  "use strict";
@@ -3040,14 +4158,14 @@ exports.default = radialBackground;
3040
4158
 
3041
4159
  /***/ }),
3042
4160
 
3043
- /***/ 47:
4161
+ /***/ 48:
3044
4162
  /***/ (function(module, exports) {
3045
4163
 
3046
- module.exports = require("@splunk/visualization-icons");
4164
+ module.exports = require("@splunk/visualization-icons/placeholders");
3047
4165
 
3048
4166
  /***/ }),
3049
4167
 
3050
- /***/ 474:
4168
+ /***/ 487:
3051
4169
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3052
4170
 
3053
4171
  "use strict";
@@ -3055,23 +4173,23 @@ module.exports = require("@splunk/visualization-icons");
3055
4173
  __webpack_require__.r(__webpack_exports__);
3056
4174
 
3057
4175
  // EXTERNAL MODULE: external "@babel/runtime/helpers/extends"
3058
- var extends_ = __webpack_require__(48);
4176
+ var extends_ = __webpack_require__(52);
3059
4177
  var extends_default = /*#__PURE__*/__webpack_require__.n(extends_);
3060
4178
 
3061
4179
  // EXTERNAL MODULE: external "react"
3062
- var external_react_ = __webpack_require__(1);
4180
+ var external_react_ = __webpack_require__(0);
3063
4181
  var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
3064
4182
 
3065
4183
  // EXTERNAL MODULE: external "prop-types"
3066
- var external_prop_types_ = __webpack_require__(0);
4184
+ var external_prop_types_ = __webpack_require__(1);
3067
4185
  var external_prop_types_default = /*#__PURE__*/__webpack_require__.n(external_prop_types_);
3068
4186
 
3069
4187
  // EXTERNAL MODULE: external "@splunk/themes/pick"
3070
- var pick_ = __webpack_require__(21);
4188
+ var pick_ = __webpack_require__(23);
3071
4189
  var pick_default = /*#__PURE__*/__webpack_require__.n(pick_);
3072
4190
 
3073
4191
  // EXTERNAL MODULE: external "@splunk/themes/variables"
3074
- var variables_ = __webpack_require__(9);
4192
+ var variables_ = __webpack_require__(10);
3075
4193
  var variables_default = /*#__PURE__*/__webpack_require__.n(variables_);
3076
4194
 
3077
4195
  // EXTERNAL MODULE: external "styled-components"
@@ -3079,32 +4197,42 @@ var external_styled_components_ = __webpack_require__(4);
3079
4197
  var external_styled_components_default = /*#__PURE__*/__webpack_require__.n(external_styled_components_);
3080
4198
 
3081
4199
  // EXTERNAL MODULE: external "lodash/pick"
3082
- var external_lodash_pick_ = __webpack_require__(71);
4200
+ var external_lodash_pick_ = __webpack_require__(77);
3083
4201
  var external_lodash_pick_default = /*#__PURE__*/__webpack_require__.n(external_lodash_pick_);
3084
4202
 
3085
4203
  // EXTERNAL MODULE: external "lodash/isEmpty"
3086
- var isEmpty_ = __webpack_require__(72);
4204
+ var isEmpty_ = __webpack_require__(78);
3087
4205
  var isEmpty_default = /*#__PURE__*/__webpack_require__.n(isEmpty_);
3088
4206
 
4207
+ // EXTERNAL MODULE: external "@splunk/visualization-context/FeatureFlagContext"
4208
+ var FeatureFlagContext_ = __webpack_require__(20);
4209
+ var FeatureFlagContext_default = /*#__PURE__*/__webpack_require__.n(FeatureFlagContext_);
4210
+
3089
4211
  // EXTERNAL MODULE: external "@splunk/visualizations-shared/style"
3090
- var style_ = __webpack_require__(15);
4212
+ var style_ = __webpack_require__(14);
3091
4213
 
3092
4214
  // EXTERNAL MODULE: external "@splunk/visualizations-shared/SizeAwareWrapper"
3093
- var SizeAwareWrapper_ = __webpack_require__(20);
4215
+ var SizeAwareWrapper_ = __webpack_require__(18);
3094
4216
  var SizeAwareWrapper_default = /*#__PURE__*/__webpack_require__.n(SizeAwareWrapper_);
3095
4217
 
3096
4218
  // EXTERNAL MODULE: ./src/common/components/VizStyleWrapper.jsx
3097
- var VizStyleWrapper = __webpack_require__(63);
4219
+ var VizStyleWrapper = __webpack_require__(68);
4220
+
4221
+ // EXTERNAL MODULE: ./src/common/components/TrellisTitle.tsx
4222
+ var TrellisTitle = __webpack_require__(74);
4223
+
4224
+ // EXTERNAL MODULE: ./src/common/utils/layoutUtils.ts
4225
+ var layoutUtils = __webpack_require__(58);
3098
4226
 
3099
4227
  // EXTERNAL MODULE: external "@babel/runtime/helpers/defineProperty"
3100
- var defineProperty_ = __webpack_require__(7);
4228
+ var defineProperty_ = __webpack_require__(8);
3101
4229
  var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty_);
3102
4230
 
3103
4231
  // EXTERNAL MODULE: ./src/SingleValueBasic/SingleValueBasic.jsx + 2 modules
3104
- var SingleValueBasic = __webpack_require__(70);
4232
+ var SingleValueBasic = __webpack_require__(75);
3105
4233
 
3106
4234
  // EXTERNAL MODULE: external "@splunk/visualizations-shared/colorConstants"
3107
- var colorConstants_ = __webpack_require__(45);
4235
+ var colorConstants_ = __webpack_require__(49);
3108
4236
 
3109
4237
  // CONCATENATED MODULE: ./src/SingleValueRadial/PureSingleValueRadial/RadialGraph.jsx
3110
4238
 
@@ -3173,7 +4301,7 @@ RadialGraph_RadialGraph.defaultProps = {
3173
4301
  };
3174
4302
  /* harmony default export */ var PureSingleValueRadial_RadialGraph = (RadialGraph_RadialGraph);
3175
4303
  // EXTERNAL MODULE: ./src/common/utils/singleValueUtils.js
3176
- var singleValueUtils = __webpack_require__(22);
4304
+ var singleValueUtils = __webpack_require__(24);
3177
4305
 
3178
4306
  // CONCATENATED MODULE: ./src/SingleValueRadial/PureSingleValueRadial/utils/displayUtils.js
3179
4307
 
@@ -3535,6 +4663,9 @@ RadialLayout_RadialContent.propTypes = _objectSpread(_objectSpread({}, SingleVal
3535
4663
 
3536
4664
 
3537
4665
 
4666
+
4667
+
4668
+
3538
4669
  var Container = external_styled_components_default.a.div.withConfig({
3539
4670
  displayName: "SingleValueRadial__Container",
3540
4671
  componentId: "sc-404dvw-0"
@@ -3559,7 +4690,12 @@ var SingleValueRadial_SingleValueRadial = function SingleValueRadial(_ref) {
3559
4690
  numberPrecision = props.numberPrecision,
3560
4691
  shouldUseThousandSeparators = props.shouldUseThousandSeparators,
3561
4692
  shouldAbbreviateTrendValue = props.shouldAbbreviateTrendValue,
3562
- onValueClick = props.onValueClick; // calculate colors
4693
+ onValueClick = props.onValueClick,
4694
+ splitByLayout = props.splitByLayout,
4695
+ _props$trellisKey = props.trellisKey,
4696
+ trellisKey = _props$trellisKey === void 0 ? '' : _props$trellisKey,
4697
+ _props$trellisSplitBy = props.trellisSplitBy,
4698
+ trellisSplitBy = _props$trellisSplitBy === void 0 ? '' : _props$trellisSplitBy; // calculate colors
3563
4699
 
3564
4700
  var defaultColors = {
3565
4701
  defaultFontColor: pick_default()({
@@ -3589,9 +4725,12 @@ var SingleValueRadial_SingleValueRadial = function SingleValueRadial(_ref) {
3589
4725
  var radialBackgroundColor = props.radialBackgroundColor || radialColors.background;
3590
4726
  var radialStrokeColor = props.radialStrokeColor || radialColors.stroke;
3591
4727
  var underLabelStrokeColor = backgroundEnabled ? backgroundColor : 'transparent';
4728
+ var featureFlagContext = external_react_default.a.useContext(FeatureFlagContext_default.a);
4729
+ var isTrellisFeatureFlagOn = Boolean(featureFlagContext && featureFlagContext.visualizations_enableTrellis);
4730
+ var trellisEnabled = isTrellisFeatureFlagOn && splitByLayout === layoutUtils["LAYOUT_TYPE"].Trellis;
3592
4731
  var handleValueClick = Object(external_react_["useCallback"])(function (ev) {
3593
- return Object(singleValueUtils["handleValueClickCallback"])(ev, majorValue, majorValueField, trendValue, onValueClick);
3594
- }, [onValueClick, majorValue, majorValueField, trendValue]);
4732
+ return Object(singleValueUtils["handleValueClickCallback"])(ev, majorValue, majorValueField, trendValue, onValueClick, trellisEnabled, trellisSplitBy, trellisKey);
4733
+ }, [onValueClick, majorValue, majorValueField, trendValue, trellisEnabled, trellisSplitBy, trellisKey]);
3595
4734
 
3596
4735
  var renderVisualization = function renderVisualization(_ref2) {
3597
4736
  var containerWidth = _ref2.width,
@@ -3690,6 +4829,19 @@ var SingleValueRadial_SingleValueRadial = function SingleValueRadial(_ref) {
3690
4829
  }));
3691
4830
  };
3692
4831
 
4832
+ if (trellisEnabled) {
4833
+ return /*#__PURE__*/external_react_default.a.createElement(external_react_default.a.Fragment, null, /*#__PURE__*/external_react_default.a.createElement(TrellisTitle["TrellisTitle"], {
4834
+ fontColor: defaultColors.defaultFontColor,
4835
+ backgroundColor: backgroundColor,
4836
+ trellisKey: trellisKey
4837
+ }), /*#__PURE__*/external_react_default.a.createElement(Container, {
4838
+ width: width,
4839
+ height: height - TrellisTitle["TRELLIS_TITLE_HEIGHT"]
4840
+ }, /*#__PURE__*/external_react_default.a.createElement(SizeAwareWrapper_default.a, null, function (containerDimension) {
4841
+ return renderVisualization(containerDimension);
4842
+ })));
4843
+ }
4844
+
3693
4845
  return /*#__PURE__*/external_react_default.a.createElement(Container, {
3694
4846
  width: width,
3695
4847
  height: height
@@ -3721,7 +4873,10 @@ SingleValueRadial_SingleValueRadial.propTypes = {
3721
4873
  shouldUseThousandSeparators: external_prop_types_default.a.bool,
3722
4874
  radialBackgroundColor: external_prop_types_default.a.string,
3723
4875
  radialStrokeColor: external_prop_types_default.a.string,
3724
- onValueClick: external_prop_types_default.a.func
4876
+ onValueClick: external_prop_types_default.a.func,
4877
+ splitByLayout: external_prop_types_default.a.string,
4878
+ trellisKey: external_prop_types_default.a.string,
4879
+ trellisSplitBy: external_prop_types_default.a.string
3725
4880
  };
3726
4881
  SingleValueRadial_SingleValueRadial.defaultProps = {
3727
4882
  width: '100%',
@@ -3735,30 +4890,72 @@ SingleValueRadial_SingleValueRadial.defaultProps = {
3735
4890
  unitPosition: 'after',
3736
4891
  numberPrecision: 0,
3737
4892
  shouldUseThousandSeparators: true,
3738
- onValueClick: function onValueClick() {}
4893
+ onValueClick: function onValueClick() {},
4894
+ trellisKey: '',
4895
+ trellisSplitBy: ''
3739
4896
  };
3740
4897
  /* harmony default export */ var PureSingleValueRadial_SingleValueRadial = __webpack_exports__["default"] = (Object(external_styled_components_["withTheme"])(SingleValueRadial_SingleValueRadial));
3741
4898
 
3742
4899
  /***/ }),
3743
4900
 
3744
- /***/ 48:
4901
+ /***/ 49:
4902
+ /***/ (function(module, exports) {
4903
+
4904
+ module.exports = require("@splunk/visualizations-shared/colorConstants");
4905
+
4906
+ /***/ }),
4907
+
4908
+ /***/ 51:
4909
+ /***/ (function(module, exports) {
4910
+
4911
+ module.exports = require("@splunk/visualization-icons");
4912
+
4913
+ /***/ }),
4914
+
4915
+ /***/ 52:
3745
4916
  /***/ (function(module, exports) {
3746
4917
 
3747
4918
  module.exports = require("@babel/runtime/helpers/extends");
3748
4919
 
3749
4920
  /***/ }),
3750
4921
 
3751
- /***/ 50:
4922
+ /***/ 54:
3752
4923
  /***/ (function(module, exports) {
3753
4924
 
3754
4925
  module.exports = require("@splunk/visualizations-shared/domUtils");
3755
4926
 
3756
4927
  /***/ }),
3757
4928
 
3758
- /***/ 54:
4929
+ /***/ 57:
3759
4930
  /***/ (function(module, exports) {
3760
4931
 
3761
- module.exports = require("@splunk/visualization-color-palettes/editors/PresetPalettes");
4932
+ module.exports = require("@splunk/themes/useSplunkTheme");
4933
+
4934
+ /***/ }),
4935
+
4936
+ /***/ 58:
4937
+ /***/ (function(module, exports, __webpack_require__) {
4938
+
4939
+ "use strict";
4940
+
4941
+
4942
+ Object.defineProperty(exports, "__esModule", {
4943
+ value: true
4944
+ });
4945
+ exports.LAYOUT_TYPE = void 0;
4946
+ var LAYOUT_TYPE;
4947
+
4948
+ (function (LAYOUT_TYPE) {
4949
+ LAYOUT_TYPE["Off"] = "off";
4950
+ LAYOUT_TYPE["Trellis"] = "trellis";
4951
+ })(LAYOUT_TYPE = exports.LAYOUT_TYPE || (exports.LAYOUT_TYPE = {}));
4952
+
4953
+ /***/ }),
4954
+
4955
+ /***/ 59:
4956
+ /***/ (function(module, exports) {
4957
+
4958
+ module.exports = require("@splunk/themes");
3762
4959
 
3763
4960
  /***/ }),
3764
4961
 
@@ -3796,11 +4993,19 @@ var VizBehavior;
3796
4993
 
3797
4994
  VizBehavior["PLACEHOLDER"] = "placeholder";
3798
4995
  VizBehavior["PAGE_AND_SORT"] = "page-and-sort";
4996
+ VizBehavior["TRELLIS"] = "trellis";
3799
4997
  })(VizBehavior = exports.VizBehavior || (exports.VizBehavior = {}));
3800
4998
 
3801
4999
  /***/ }),
3802
5000
 
3803
- /***/ 63:
5001
+ /***/ 60:
5002
+ /***/ (function(module, exports) {
5003
+
5004
+ module.exports = require("@splunk/visualization-color-palettes/editors/PresetPalettes");
5005
+
5006
+ /***/ }),
5007
+
5008
+ /***/ 68:
3804
5009
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3805
5010
 
3806
5011
  "use strict";
@@ -3827,11 +5032,54 @@ VizStyleWrapper.displayName = 'VizStyleWrapper';
3827
5032
  /***/ 7:
3828
5033
  /***/ (function(module, exports) {
3829
5034
 
3830
- module.exports = require("@babel/runtime/helpers/defineProperty");
5035
+ module.exports = require("@babel/runtime/helpers/toConsumableArray");
5036
+
5037
+ /***/ }),
5038
+
5039
+ /***/ 74:
5040
+ /***/ (function(module, exports, __webpack_require__) {
5041
+
5042
+ "use strict";
5043
+
5044
+
5045
+ Object.defineProperty(exports, "__esModule", {
5046
+ value: true
5047
+ });
5048
+ exports.TrellisTitle = exports.TRELLIS_TITLE_HEIGHT = void 0;
5049
+
5050
+ var React = __webpack_require__(0);
5051
+
5052
+ var styled_components_1 = __webpack_require__(4);
5053
+
5054
+ exports.TRELLIS_TITLE_HEIGHT = 28;
5055
+ var TrellisTitleText = styled_components_1.default.div.withConfig({
5056
+ displayName: "TrellisTitle__TrellisTitleText",
5057
+ componentId: "sc-2cu404-0"
5058
+ })(["margin-left:10px;margin-right:10px;padding-top:8px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;"]);
5059
+ var TrellisTitleDiv = styled_components_1.default.div.withConfig({
5060
+ displayName: "TrellisTitle__TrellisTitleDiv",
5061
+ componentId: "sc-2cu404-1"
5062
+ })(["height:", "px;font-size:14px;font-weight:700;color:", ";background-color:", ";box-shadow:0 1px ", ";"], exports.TRELLIS_TITLE_HEIGHT, function (props) {
5063
+ return props.fontColor;
5064
+ }, function (props) {
5065
+ return props.backgroundColor;
5066
+ }, function (props) {
5067
+ return props.backgroundColor;
5068
+ });
5069
+
5070
+ var TrellisTitle = function TrellisTitle(props) {
5071
+ return React.createElement(TrellisTitleDiv, {
5072
+ fontColor: props.fontColor,
5073
+ backgroundColor: props.backgroundColor,
5074
+ "data-test": "trellis-title"
5075
+ }, React.createElement(TrellisTitleText, null, String(props.trellisKey).toString()));
5076
+ };
5077
+
5078
+ exports.TrellisTitle = TrellisTitle;
3831
5079
 
3832
5080
  /***/ }),
3833
5081
 
3834
- /***/ 70:
5082
+ /***/ 75:
3835
5083
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3836
5084
 
3837
5085
  "use strict";
@@ -3842,15 +5090,15 @@ __webpack_require__.r(__webpack_exports__);
3842
5090
  __webpack_require__.d(__webpack_exports__, "SingleValueTrendValue", function() { return /* binding */ SingleValueTrendValue; });
3843
5091
 
3844
5092
  // EXTERNAL MODULE: external "@babel/runtime/helpers/extends"
3845
- var extends_ = __webpack_require__(48);
5093
+ var extends_ = __webpack_require__(52);
3846
5094
  var extends_default = /*#__PURE__*/__webpack_require__.n(extends_);
3847
5095
 
3848
5096
  // EXTERNAL MODULE: external "react"
3849
- var external_react_ = __webpack_require__(1);
5097
+ var external_react_ = __webpack_require__(0);
3850
5098
  var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
3851
5099
 
3852
5100
  // EXTERNAL MODULE: external "prop-types"
3853
- var external_prop_types_ = __webpack_require__(0);
5101
+ var external_prop_types_ = __webpack_require__(1);
3854
5102
  var external_prop_types_default = /*#__PURE__*/__webpack_require__.n(external_prop_types_);
3855
5103
 
3856
5104
  // EXTERNAL MODULE: external "styled-components"
@@ -3858,14 +5106,14 @@ var external_styled_components_ = __webpack_require__(4);
3858
5106
  var external_styled_components_default = /*#__PURE__*/__webpack_require__.n(external_styled_components_);
3859
5107
 
3860
5108
  // EXTERNAL MODULE: ./src/common/utils/singleValueUtils.js
3861
- var singleValueUtils = __webpack_require__(22);
5109
+ var singleValueUtils = __webpack_require__(24);
3862
5110
 
3863
5111
  // EXTERNAL MODULE: external "@splunk/react-icons/ArrowUp"
3864
- var ArrowUp_ = __webpack_require__(73);
5112
+ var ArrowUp_ = __webpack_require__(79);
3865
5113
  var ArrowUp_default = /*#__PURE__*/__webpack_require__.n(ArrowUp_);
3866
5114
 
3867
5115
  // EXTERNAL MODULE: external "@splunk/react-icons/ArrowDown"
3868
- var ArrowDown_ = __webpack_require__(74);
5116
+ var ArrowDown_ = __webpack_require__(80);
3869
5117
  var ArrowDown_default = /*#__PURE__*/__webpack_require__.n(ArrowDown_);
3870
5118
 
3871
5119
  // CONCATENATED MODULE: ./src/SingleValueBasic/TrendValue.jsx
@@ -3935,7 +5183,7 @@ TrendValue_SingleValueContent.propTypes = {
3935
5183
  };
3936
5184
  /* harmony default export */ var TrendValue = (TrendValue_SingleValueContent);
3937
5185
  // EXTERNAL MODULE: external "cssesc"
3938
- var external_cssesc_ = __webpack_require__(75);
5186
+ var external_cssesc_ = __webpack_require__(81);
3939
5187
  var external_cssesc_default = /*#__PURE__*/__webpack_require__.n(external_cssesc_);
3940
5188
 
3941
5189
  // CONCATENATED MODULE: ./src/SingleValueBasic/MajorValue.jsx
@@ -4132,49 +5380,63 @@ var SingleValueTrendValue = TrendValue;
4132
5380
 
4133
5381
  /***/ }),
4134
5382
 
4135
- /***/ 71:
5383
+ /***/ 76:
5384
+ /***/ (function(module, exports) {
5385
+
5386
+ module.exports = require("@splunk/visualizations-shared/trellisUtils");
5387
+
5388
+ /***/ }),
5389
+
5390
+ /***/ 77:
4136
5391
  /***/ (function(module, exports) {
4137
5392
 
4138
5393
  module.exports = require("lodash/pick");
4139
5394
 
4140
5395
  /***/ }),
4141
5396
 
4142
- /***/ 72:
5397
+ /***/ 78:
4143
5398
  /***/ (function(module, exports) {
4144
5399
 
4145
5400
  module.exports = require("lodash/isEmpty");
4146
5401
 
4147
5402
  /***/ }),
4148
5403
 
4149
- /***/ 73:
5404
+ /***/ 79:
4150
5405
  /***/ (function(module, exports) {
4151
5406
 
4152
5407
  module.exports = require("@splunk/react-icons/ArrowUp");
4153
5408
 
4154
5409
  /***/ }),
4155
5410
 
4156
- /***/ 74:
5411
+ /***/ 8:
5412
+ /***/ (function(module, exports) {
5413
+
5414
+ module.exports = require("@babel/runtime/helpers/defineProperty");
5415
+
5416
+ /***/ }),
5417
+
5418
+ /***/ 80:
4157
5419
  /***/ (function(module, exports) {
4158
5420
 
4159
5421
  module.exports = require("@splunk/react-icons/ArrowDown");
4160
5422
 
4161
5423
  /***/ }),
4162
5424
 
4163
- /***/ 75:
5425
+ /***/ 81:
4164
5426
  /***/ (function(module, exports) {
4165
5427
 
4166
5428
  module.exports = require("cssesc");
4167
5429
 
4168
5430
  /***/ }),
4169
5431
 
4170
- /***/ 78:
5432
+ /***/ 84:
4171
5433
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4172
5434
 
4173
5435
  "use strict";
4174
5436
  __webpack_require__.r(__webpack_exports__);
4175
5437
  /* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
4176
5438
  /* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__);
4177
- /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(18);
5439
+ /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(21);
4178
5440
  /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__);
4179
5441
 
4180
5442
 
@@ -4191,14 +5453,21 @@ var StaticBackgroundColorEditor = {
4191
5453
 
4192
5454
  /***/ }),
4193
5455
 
4194
- /***/ 8:
5456
+ /***/ 87:
4195
5457
  /***/ (function(module, exports) {
4196
5458
 
4197
- module.exports = require("@babel/runtime/helpers/toConsumableArray");
5459
+ module.exports = require("@splunk/react-ui/Paginator");
4198
5460
 
4199
5461
  /***/ }),
4200
5462
 
4201
- /***/ 88:
5463
+ /***/ 9:
5464
+ /***/ (function(module, exports) {
5465
+
5466
+ module.exports = require("@splunk/visualizations-shared/Message");
5467
+
5468
+ /***/ }),
5469
+
5470
+ /***/ 95:
4202
5471
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4203
5472
 
4204
5473
  "use strict";
@@ -4206,7 +5475,7 @@ __webpack_require__.r(__webpack_exports__);
4206
5475
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getDynamicMajorColorEditor", function() { return getDynamicMajorColorEditor; });
4207
5476
  /* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
4208
5477
  /* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__);
4209
- /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(18);
5478
+ /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(21);
4210
5479
  /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__);
4211
5480
 
4212
5481
 
@@ -4214,7 +5483,7 @@ var getDynamicMajorColorEditor = function getDynamicMajorColorEditor(_ref) {
4214
5483
  var defaultContext = _ref.defaultContext,
4215
5484
  defaultPalettesConfig = _ref.defaultPalettesConfig;
4216
5485
  return {
4217
- label: Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__["_"])('Dynamic major value'),
5486
+ label: Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__["_"])('Major value'),
4218
5487
  option: 'majorColor',
4219
5488
  context: 'majorColorEditorConfig',
4220
5489
  editor: 'editor.dynamicColor',
@@ -4223,7 +5492,7 @@ var getDynamicMajorColorEditor = function getDynamicMajorColorEditor(_ref) {
4223
5492
  return Object(_splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__["isDynamicOption"])(options.majorColor);
4224
5493
  },
4225
5494
  editorProps: {
4226
- labelPosition: 'left',
5495
+ labelPosition: 'top',
4227
5496
  flyoutTitle: Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__["_"])('Dynamic coloring: major value'),
4228
5497
  formatters: [{
4229
5498
  label: Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__["_"])('Ranges'),
@@ -4249,7 +5518,7 @@ var getDynamicMajorColorEditor = function getDynamicMajorColorEditor(_ref) {
4249
5518
 
4250
5519
  /***/ }),
4251
5520
 
4252
- /***/ 89:
5521
+ /***/ 96:
4253
5522
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4254
5523
 
4255
5524
  "use strict";
@@ -4257,7 +5526,7 @@ __webpack_require__.r(__webpack_exports__);
4257
5526
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getDynamicTrendColorEditor", function() { return getDynamicTrendColorEditor; });
4258
5527
  /* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
4259
5528
  /* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__);
4260
- /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(18);
5529
+ /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(21);
4261
5530
  /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__);
4262
5531
 
4263
5532
 
@@ -4265,7 +5534,7 @@ var getDynamicTrendColorEditor = function getDynamicTrendColorEditor(_ref) {
4265
5534
  var defaultContext = _ref.defaultContext,
4266
5535
  defaultPalettesConfig = _ref.defaultPalettesConfig;
4267
5536
  return {
4268
- label: Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__["_"])('Dynamic trend value'),
5537
+ label: Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__["_"])('Trend value'),
4269
5538
  option: 'trendColor',
4270
5539
  context: 'trendColorEditorConfig',
4271
5540
  editor: 'editor.dynamicColor',
@@ -4274,7 +5543,7 @@ var getDynamicTrendColorEditor = function getDynamicTrendColorEditor(_ref) {
4274
5543
  return Object(_splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__["isDynamicOption"])(options.trendColor);
4275
5544
  },
4276
5545
  editorProps: {
4277
- labelPosition: 'left',
5546
+ labelPosition: 'top',
4278
5547
  flyoutTitle: Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__["_"])('Dynamic coloring: trend value'),
4279
5548
  formatters: [{
4280
5549
  label: Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__["_"])('Ranges'),
@@ -4294,14 +5563,7 @@ var getDynamicTrendColorEditor = function getDynamicTrendColorEditor(_ref) {
4294
5563
 
4295
5564
  /***/ }),
4296
5565
 
4297
- /***/ 9:
4298
- /***/ (function(module, exports) {
4299
-
4300
- module.exports = require("@splunk/themes/variables");
4301
-
4302
- /***/ }),
4303
-
4304
- /***/ 90:
5566
+ /***/ 97:
4305
5567
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4306
5568
 
4307
5569
  "use strict";
@@ -4309,7 +5571,7 @@ __webpack_require__.r(__webpack_exports__);
4309
5571
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getDynamicBackgroundColorEditor", function() { return getDynamicBackgroundColorEditor; });
4310
5572
  /* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
4311
5573
  /* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__);
4312
- /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(18);
5574
+ /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(21);
4313
5575
  /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__);
4314
5576
 
4315
5577
 
@@ -4317,7 +5579,7 @@ var getDynamicBackgroundColorEditor = function getDynamicBackgroundColorEditor(_
4317
5579
  var defaultContext = _ref.defaultContext,
4318
5580
  defaultPalettesConfig = _ref.defaultPalettesConfig;
4319
5581
  return {
4320
- label: Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__["_"])('Dynamic background'),
5582
+ label: Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__["_"])('Background'),
4321
5583
  option: 'backgroundColor',
4322
5584
  context: 'backgroundColorEditorConfig',
4323
5585
  editor: 'editor.dynamicColor',
@@ -4326,7 +5588,7 @@ var getDynamicBackgroundColorEditor = function getDynamicBackgroundColorEditor(_
4326
5588
  return Object(_splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__["isDynamicOption"])(options.backgroundColor);
4327
5589
  },
4328
5590
  editorProps: {
4329
- labelPosition: 'left',
5591
+ labelPosition: 'top',
4330
5592
  flyoutTitle: Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__["_"])('Dynamic coloring: background'),
4331
5593
  formatters: [{
4332
5594
  label: Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__["_"])('Ranges'),
@@ -4356,7 +5618,7 @@ var getDynamicBackgroundColorEditor = function getDynamicBackgroundColorEditor(_
4356
5618
 
4357
5619
  /***/ }),
4358
5620
 
4359
- /***/ 91:
5621
+ /***/ 98:
4360
5622
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4361
5623
 
4362
5624
  "use strict";
@@ -4407,14 +5669,14 @@ var StaticMajorAndTrendLayout = [[{
4407
5669
 
4408
5670
  /***/ }),
4409
5671
 
4410
- /***/ 92:
5672
+ /***/ 99:
4411
5673
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4412
5674
 
4413
5675
  "use strict";
4414
5676
  __webpack_require__.r(__webpack_exports__);
4415
5677
  /* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
4416
5678
  /* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__);
4417
- /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(18);
5679
+ /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(21);
4418
5680
  /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__);
4419
5681
 
4420
5682
 
@@ -4429,34 +5691,6 @@ var StaticMajorColorEditor = {
4429
5691
  };
4430
5692
  /* harmony default export */ __webpack_exports__["default"] = (StaticMajorColorEditor);
4431
5693
 
4432
- /***/ }),
4433
-
4434
- /***/ 93:
4435
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
4436
-
4437
- "use strict";
4438
- __webpack_require__.r(__webpack_exports__);
4439
- /* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
4440
- /* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__);
4441
- /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(18);
4442
- /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__);
4443
-
4444
-
4445
- var StaticTrendColorEditor = {
4446
- label: Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__["_"])('Trend value'),
4447
- option: 'trendColor',
4448
- editor: 'editor.color',
4449
- showEditor: function showEditor(_ref) {
4450
- var options = _ref.options;
4451
- return !Object(_splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__["isDynamicOption"])(options.trendColor);
4452
- },
4453
- isDisabled: function isDisabled(_ref2) {
4454
- var options = _ref2.options;
4455
- return options.trendDisplay === 'off';
4456
- }
4457
- };
4458
- /* harmony default export */ __webpack_exports__["default"] = (StaticTrendColorEditor);
4459
-
4460
5694
  /***/ })
4461
5695
 
4462
5696
  /******/ });