@splunk/visualizations 25.6.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 (218) hide show
  1. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Bar_Editor.png +0 -0
  2. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_ChoroplethSvg_Editor.png +0 -0
  3. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Column_Editor.png +0 -0
  4. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Ellipse_Editor.png +0 -0
  5. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_FillerGauge_Editor.png +0 -0
  6. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_LinkGraph_Editor.png +0 -0
  7. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Map_Editor.png +0 -0
  8. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Parallel_Coordinates_Editor.png +0 -0
  9. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Pie_Editor.png +0 -0
  10. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Rectangle_Editor.png +0 -0
  11. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Editor.png +0 -0
  12. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Icon_Editor.png +0 -0
  13. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Radial_Editor.png +0 -0
  14. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Table_Editor.png +0 -0
  15. package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Legend_Mode_Series_Compare.png +0 -0
  16. package/.loki/reference/chrome_docker_Visualizations_Column_Column_Legend_Mode_Series_Compare.png +0 -0
  17. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_Pagination.png +0 -0
  18. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_background_color.png +0 -0
  19. 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
  20. 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
  21. 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
  22. 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
  23. 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
  24. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_layout_options.png +0 -0
  25. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_makeresults_name_age.png +0 -0
  26. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_makeresults_name_age_aggregations.png +0 -0
  27. 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
  28. 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
  29. 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
  30. 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
  31. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_table.png +0 -0
  32. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_table_aggregations.png +0 -0
  33. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_timechart_cmd_count_aggregations.png +0 -0
  34. 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
  35. 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
  36. 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
  37. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_Chart.png +0 -0
  38. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_Chart_Count.png +0 -0
  39. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_Pagination.png +0 -0
  40. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_Timechart.png +0 -0
  41. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_background_color.png +0 -0
  42. 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
  43. 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
  44. 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
  45. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_layout_options.png +0 -0
  46. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_makeresults_name_age.png +0 -0
  47. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_makeresults_name_age_aggregations.png +0 -0
  48. 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
  49. 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
  50. 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
  51. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_table.png +0 -0
  52. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_table_aggregations.png +0 -0
  53. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_timechart_cmd_count_aggregations.png +0 -0
  54. 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
  55. 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
  56. 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
  57. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_Pagination.png +0 -0
  58. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_assign_default_trellisSplitBy_value_status.png +0 -0
  59. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_background_color.png +0 -0
  60. 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
  61. 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
  62. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_count_by_status.png +0 -0
  63. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_count_by_status_user.png +0 -0
  64. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_count_by_status_user_aggregations.png +0 -0
  65. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_count_by_status_user_user.png +0 -0
  66. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_max_count_avg_count_aggregations.png +0 -0
  67. 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
  68. 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
  69. 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
  70. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_layout_options.png +0 -0
  71. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_makeresults_name_age.png +0 -0
  72. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_makeresults_name_age_aggregations.png +0 -0
  73. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_stats_cmd_avg_count_max_count_aggregations.png +0 -0
  74. 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
  75. 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
  76. 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
  77. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_stats_cmd_count_by_status_user.png +0 -0
  78. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_stats_cmd_count_by_status_user_aggregations.png +0 -0
  79. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_table.png +0 -0
  80. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_table_aggregations.png +0 -0
  81. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_timechart_cmd_count_aggregations.png +0 -0
  82. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_timechart_cmd_count_by_status.png +0 -0
  83. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_timechart_cmd_count_by_status_aggregations.png +0 -0
  84. 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
  85. 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
  86. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Major_value_data_null_show_N_A.png +0 -0
  87. package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Set_The_Background_Color_Based_On_The_Major_Value_Trellis.png +0 -0
  88. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Height_Percentage.png +0 -0
  89. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Height_Percentage_100_no_paginator.png +0 -0
  90. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Height_Percentage_50_no_paginator.png +0 -0
  91. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparkline.png +0 -0
  92. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparkline_Custom.png +0 -0
  93. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparkline_Width.png +0 -0
  94. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparklines_Adv.png +0 -0
  95. package/Area.config.js +12 -7
  96. package/Area.config.js.map +1 -1
  97. package/Area.js +192 -171
  98. package/Area.js.map +1 -1
  99. package/Bar.config.js +36 -8
  100. package/Bar.config.js.map +1 -1
  101. package/Bar.js +216 -172
  102. package/Bar.js.map +1 -1
  103. package/Bubble.config.js +7 -2
  104. package/Bubble.config.js.map +1 -1
  105. package/Bubble.js +183 -162
  106. package/Bubble.js.map +1 -1
  107. package/ChoroplethSvg.config.js +12 -8
  108. package/ChoroplethSvg.config.js.map +1 -1
  109. package/ChoroplethSvg.js +191 -174
  110. package/ChoroplethSvg.js.map +1 -1
  111. package/Column.config.js +36 -8
  112. package/Column.config.js.map +1 -1
  113. package/Column.js +216 -172
  114. package/Column.js.map +1 -1
  115. package/Ellipse.config.js +23 -20
  116. package/Ellipse.config.js.map +1 -1
  117. package/Ellipse.js +168 -149
  118. package/Ellipse.js.map +1 -1
  119. package/Events.config.js +79 -19
  120. package/Events.config.js.map +1 -1
  121. package/Events.js +404 -244
  122. package/Events.js.map +1 -1
  123. package/FEATUREFLAGS.md +40 -0
  124. package/FillerGauge.config.js +22 -19
  125. package/FillerGauge.config.js.map +1 -1
  126. package/FillerGauge.js +170 -151
  127. package/FillerGauge.js.map +1 -1
  128. package/Image.config.js +3 -3
  129. package/Image.config.js.map +1 -1
  130. package/Image.js +143 -130
  131. package/Image.js.map +1 -1
  132. package/LICENSE.md +444 -8
  133. package/Line.config.js +12 -7
  134. package/Line.config.js.map +1 -1
  135. package/Line.js +192 -171
  136. package/Line.js.map +1 -1
  137. package/LinkGraph.config.js +9 -15
  138. package/LinkGraph.config.js.map +1 -1
  139. package/LinkGraph.js +743 -729
  140. package/LinkGraph.js.map +1 -1
  141. package/Map.config.js +51 -48
  142. package/Map.config.js.map +1 -1
  143. package/Map.js +602 -587
  144. package/Map.js.map +1 -1
  145. package/Markdown.config.js +10 -9
  146. package/Markdown.config.js.map +1 -1
  147. package/Markdown.js +185 -171
  148. package/Markdown.js.map +1 -1
  149. package/MarkerGauge.config.js +71 -70
  150. package/MarkerGauge.config.js.map +1 -1
  151. package/MarkerGauge.js +193 -179
  152. package/MarkerGauge.js.map +1 -1
  153. package/ParallelCoordinates.config.js +3 -3
  154. package/ParallelCoordinates.config.js.map +1 -1
  155. package/ParallelCoordinates.js +179 -155
  156. package/ParallelCoordinates.js.map +1 -1
  157. package/Pie.config.js +30 -6
  158. package/Pie.config.js.map +1 -1
  159. package/Pie.js +237 -200
  160. package/Pie.js.map +1 -1
  161. package/Punchcard.config.js +3 -2
  162. package/Punchcard.config.js.map +1 -1
  163. package/Punchcard.js +305 -291
  164. package/Punchcard.js.map +1 -1
  165. package/Rectangle.config.js +22 -23
  166. package/Rectangle.config.js.map +1 -1
  167. package/Rectangle.js +232 -220
  168. package/Rectangle.js.map +1 -1
  169. package/Sankey.config.js +14 -13
  170. package/Sankey.config.js.map +1 -1
  171. package/Sankey.js +1311 -1297
  172. package/Sankey.js.map +1 -1
  173. package/Scatter.config.js +552 -580
  174. package/Scatter.config.js.map +1 -1
  175. package/Scatter.js +258 -244
  176. package/Scatter.js.map +1 -1
  177. package/SingleValue.config.js +242 -52
  178. package/SingleValue.config.js.map +1 -1
  179. package/SingleValue.js +1456 -350
  180. package/SingleValue.js.map +1 -1
  181. package/SingleValueBasic.js +40 -29
  182. package/SingleValueBasic.js.map +1 -1
  183. package/SingleValueIcon.config.js +267 -58
  184. package/SingleValueIcon.config.js.map +1 -1
  185. package/SingleValueIcon.js +1490 -363
  186. package/SingleValueIcon.js.map +1 -1
  187. package/SingleValueRadial.config.js +249 -41
  188. package/SingleValueRadial.config.js.map +1 -1
  189. package/SingleValueRadial.js +1435 -286
  190. package/SingleValueRadial.js.map +1 -1
  191. package/TRELLIS.md +296 -0
  192. package/Table.config.js +39 -41
  193. package/Table.config.js.map +1 -1
  194. package/Table.js +352 -306
  195. package/Table.js.map +1 -1
  196. package/common/EventsDoc.js +9 -3
  197. package/common/EventsDoc.js.map +1 -1
  198. package/common/docUtils.js +1 -1
  199. package/common/docUtils.js.map +1 -1
  200. package/common/utils/configUtils.js +26 -20
  201. package/common/utils/configUtils.js.map +1 -1
  202. package/common/utils/dataUtils.js +2 -2
  203. package/common/utils/dataUtils.js.map +1 -1
  204. package/common/utils/hocUtils.js +2 -2
  205. package/common/utils/hocUtils.js.map +1 -1
  206. package/common/utils/layoutUtils.js +115 -0
  207. package/common/utils/layoutUtils.js.map +1 -0
  208. package/common/utils/mapUtils.js +1166 -23
  209. package/common/utils/mapUtils.js.map +1 -1
  210. package/common/utils/singleValueUtils.js +54 -46
  211. package/common/utils/singleValueUtils.js.map +1 -1
  212. package/common/utils/testHelper.js +14 -14
  213. package/common/utils/testHelper.js.map +1 -1
  214. package/common/utils/trellisUtils.js +612 -0
  215. package/common/utils/trellisUtils.js.map +1 -0
  216. package/common/withDashboardViz.js +31 -17
  217. package/common/withDashboardViz.js.map +1 -1
  218. package/package.json +12 -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 = 459);
90
+ /******/ return __webpack_require__(__webpack_require__.s = 466);
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("react");
99
+
100
+ /***/ }),
101
+
102
+ /***/ 1:
103
+ /***/ (function(module, exports) {
104
+
98
105
  module.exports = require("prop-types");
99
106
 
100
- /***/ }),
107
+ /***/ }),
108
+
109
+ /***/ 10:
110
+ /***/ (function(module, exports) {
111
+
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
+ };
101
1012
 
102
- /***/ 1:
103
- /***/ (function(module, exports) {
1013
+ exports.dataSourcesSplitByModeStatsorUnknown = dataSourcesSplitByModeStatsorUnknown;
104
1014
 
105
- module.exports = require("react");
1015
+ var getTrellisDataSourcesBySplitMode = function getTrellisDataSourcesBySplitMode(splitMode, dataSources, trellisSplitBy) {
1016
+ var result = null;
106
1017
 
107
- /***/ }),
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
+ }
108
1035
 
109
- /***/ 10:
110
- /***/ (function(module, exports) {
1036
+ return result;
1037
+ };
111
1038
 
112
- module.exports = require("@splunk/visualizations-shared/Message");
1039
+ exports.getTrellisDataSourcesBySplitMode = getTrellisDataSourcesBySplitMode;
113
1040
 
114
1041
  /***/ }),
115
1042
 
@@ -127,51 +1054,6 @@ module.exports = require("@splunk/visualizations-shared/colorUtils");
127
1054
 
128
1055
  /***/ }),
129
1056
 
130
- /***/ 125:
131
- /***/ (function(module, exports, __webpack_require__) {
132
-
133
- "use strict";
134
-
135
-
136
- Object.defineProperty(exports, "__esModule", {
137
- value: true
138
- });
139
- exports.defaultContext = void 0;
140
- exports.defaultContext = {
141
- trendColorConfig: [{
142
- to: 0,
143
- value: '#9E2520'
144
- }, {
145
- from: 0,
146
- value: '#1C6B2D'
147
- }],
148
- majorColorConfig: [{
149
- to: 20,
150
- value: '#D41F1F'
151
- }, {
152
- from: 20,
153
- to: 40,
154
- value: '#D94E17'
155
- }, {
156
- from: 40,
157
- to: 60,
158
- value: '#CBA700'
159
- }, {
160
- from: 60,
161
- to: 80,
162
- value: '#669922'
163
- }, {
164
- from: 80,
165
- value: '#118832'
166
- }],
167
- majorColorMatchConfig: [{
168
- match: '',
169
- value: '#5C33FF'
170
- }]
171
- };
172
-
173
- /***/ }),
174
-
175
1057
  /***/ 13:
176
1058
  /***/ (function(module, exports, __webpack_require__) {
177
1059
 
@@ -182,13 +1064,13 @@ Object.defineProperty(exports, "__esModule", {
182
1064
  value: true
183
1065
  });
184
1066
 
185
- var React = __webpack_require__(1);
1067
+ var React = __webpack_require__(0);
186
1068
 
187
1069
  var styled_components_1 = __webpack_require__(4);
188
1070
 
189
- var SizeAwareWrapper_1 = __webpack_require__(21);
1071
+ var SizeAwareWrapper_1 = __webpack_require__(18);
190
1072
 
191
- var style_1 = __webpack_require__(15);
1073
+ var style_1 = __webpack_require__(14);
192
1074
 
193
1075
  var colorUtils_1 = __webpack_require__(12);
194
1076
 
@@ -247,7 +1129,7 @@ var withFixedSizeContainer = function withFixedSizeContainer(Viz) {
247
1129
 
248
1130
  return React.createElement(FixSizeItem, {
249
1131
  "data-test": "fix-size-item",
250
- "data-splunk-visualization-version": "25.6.0 - f5eb3abf9",
1132
+ "data-splunk-visualization-version": "25.7.0 - d10a7789b",
251
1133
  width: width,
252
1134
  height: height,
253
1135
  backgroundColor: backgroundColor
@@ -269,7 +1151,52 @@ exports.default = withFixedSizeContainer;
269
1151
 
270
1152
  /***/ }),
271
1153
 
272
- /***/ 131:
1154
+ /***/ 133:
1155
+ /***/ (function(module, exports, __webpack_require__) {
1156
+
1157
+ "use strict";
1158
+
1159
+
1160
+ Object.defineProperty(exports, "__esModule", {
1161
+ value: true
1162
+ });
1163
+ exports.defaultContext = void 0;
1164
+ exports.defaultContext = {
1165
+ trendColorConfig: [{
1166
+ to: 0,
1167
+ value: '#9E2520'
1168
+ }, {
1169
+ from: 0,
1170
+ value: '#1C6B2D'
1171
+ }],
1172
+ majorColorConfig: [{
1173
+ to: 20,
1174
+ value: '#D41F1F'
1175
+ }, {
1176
+ from: 20,
1177
+ to: 40,
1178
+ value: '#D94E17'
1179
+ }, {
1180
+ from: 40,
1181
+ to: 60,
1182
+ value: '#CBA700'
1183
+ }, {
1184
+ from: 60,
1185
+ to: 80,
1186
+ value: '#669922'
1187
+ }, {
1188
+ from: 80,
1189
+ value: '#118832'
1190
+ }],
1191
+ majorColorMatchConfig: [{
1192
+ match: '',
1193
+ value: '#5C33FF'
1194
+ }]
1195
+ };
1196
+
1197
+ /***/ }),
1198
+
1199
+ /***/ 139:
273
1200
  /***/ (function(module, exports) {
274
1201
 
275
1202
  module.exports = require("@splunk/visualizations/SingleValueBasic");
@@ -277,6 +1204,13 @@ module.exports = require("@splunk/visualizations/SingleValueBasic");
277
1204
  /***/ }),
278
1205
 
279
1206
  /***/ 14:
1207
+ /***/ (function(module, exports) {
1208
+
1209
+ module.exports = require("@splunk/visualizations-shared/style");
1210
+
1211
+ /***/ }),
1212
+
1213
+ /***/ 15:
280
1214
  /***/ (function(module, exports, __webpack_require__) {
281
1215
 
282
1216
  "use strict";
@@ -309,13 +1243,6 @@ exports.extendStaticWrapperProps = extendStaticWrapperProps;
309
1243
 
310
1244
  /***/ }),
311
1245
 
312
- /***/ 15:
313
- /***/ (function(module, exports) {
314
-
315
- module.exports = require("@splunk/visualizations-shared/style");
316
-
317
- /***/ }),
318
-
319
1246
  /***/ 16:
320
1247
  /***/ (function(module, exports) {
321
1248
 
@@ -323,57 +1250,64 @@ module.exports = require("@splunk/visualizations-shared/schemaUtils");
323
1250
 
324
1251
  /***/ }),
325
1252
 
326
- /***/ 160:
1253
+ /***/ 167:
327
1254
  /***/ (function(module, exports) {
328
1255
 
329
1256
  module.exports = require("@splunk/react-icons/Activity");
330
1257
 
331
1258
  /***/ }),
332
1259
 
333
- /***/ 161:
1260
+ /***/ 168:
334
1261
  /***/ (function(module, exports) {
335
1262
 
336
1263
  module.exports = require("@splunk/react-icons/Clock");
337
1264
 
338
1265
  /***/ }),
339
1266
 
340
- /***/ 162:
1267
+ /***/ 169:
341
1268
  /***/ (function(module, exports) {
342
1269
 
343
1270
  module.exports = require("@splunk/react-icons/Pencil");
344
1271
 
345
1272
  /***/ }),
346
1273
 
347
- /***/ 163:
1274
+ /***/ 17:
1275
+ /***/ (function(module, exports) {
1276
+
1277
+ module.exports = require("@babel/runtime/helpers/slicedToArray");
1278
+
1279
+ /***/ }),
1280
+
1281
+ /***/ 170:
348
1282
  /***/ (function(module, exports) {
349
1283
 
350
1284
  module.exports = require("@splunk/react-icons/Star");
351
1285
 
352
1286
  /***/ }),
353
1287
 
354
- /***/ 164:
1288
+ /***/ 171:
355
1289
  /***/ (function(module, exports) {
356
1290
 
357
1291
  module.exports = require("@splunk/react-icons/Question");
358
1292
 
359
1293
  /***/ }),
360
1294
 
361
- /***/ 17:
1295
+ /***/ 18:
362
1296
  /***/ (function(module, exports) {
363
1297
 
364
- module.exports = require("@babel/runtime/helpers/slicedToArray");
1298
+ module.exports = require("@splunk/visualizations-shared/SizeAwareWrapper");
365
1299
 
366
1300
  /***/ }),
367
1301
 
368
- /***/ 18:
1302
+ /***/ 19:
369
1303
  /***/ (function(module, exports, __webpack_require__) {
370
1304
 
371
1305
  "use strict";
372
1306
 
373
1307
 
374
- var _toConsumableArray = __webpack_require__(8);
1308
+ var _toConsumableArray = __webpack_require__(7);
375
1309
 
376
- var _defineProperty = __webpack_require__(7);
1310
+ var _defineProperty = __webpack_require__(8);
377
1311
 
378
1312
  var __rest = this && this.__rest || function (s, e) {
379
1313
  var t = {};
@@ -602,13 +1536,6 @@ exports.insertLayout = insertLayout;
602
1536
 
603
1537
  /***/ }),
604
1538
 
605
- /***/ 19:
606
- /***/ (function(module, exports) {
607
-
608
- module.exports = require("@splunk/visualizations-shared/configUtils");
609
-
610
- /***/ }),
611
-
612
1539
  /***/ 2:
613
1540
  /***/ (function(module, exports) {
614
1541
 
@@ -619,25 +1546,32 @@ module.exports = require("@splunk/ui-utils/i18n");
619
1546
  /***/ 20:
620
1547
  /***/ (function(module, exports) {
621
1548
 
622
- module.exports = require("@babel/runtime/helpers/createClass");
1549
+ module.exports = require("@splunk/visualization-context/FeatureFlagContext");
623
1550
 
624
1551
  /***/ }),
625
1552
 
626
1553
  /***/ 21:
627
1554
  /***/ (function(module, exports) {
628
1555
 
629
- module.exports = require("@splunk/visualizations-shared/SizeAwareWrapper");
1556
+ module.exports = require("@splunk/visualizations-shared/configUtils");
630
1557
 
631
1558
  /***/ }),
632
1559
 
633
1560
  /***/ 22:
634
1561
  /***/ (function(module, exports) {
635
1562
 
636
- module.exports = require("@splunk/themes/pick");
1563
+ module.exports = require("@babel/runtime/helpers/createClass");
637
1564
 
638
1565
  /***/ }),
639
1566
 
640
1567
  /***/ 23:
1568
+ /***/ (function(module, exports) {
1569
+
1570
+ module.exports = require("@splunk/themes/pick");
1571
+
1572
+ /***/ }),
1573
+
1574
+ /***/ 24:
641
1575
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
642
1576
 
643
1577
  "use strict";
@@ -672,15 +1606,15 @@ __webpack_require__.r(__webpack_exports__);
672
1606
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "lighten", function() { return lighten; });
673
1607
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "darken", function() { return darken; });
674
1608
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "handleValueClickCallback", function() { return handleValueClickCallback; });
675
- /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7);
1609
+ /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8);
676
1610
  /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);
677
1611
  /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3);
678
1612
  /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_1__);
679
- /* harmony import */ var _splunk_visualizations_shared_numberUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(29);
1613
+ /* harmony import */ var _splunk_visualizations_shared_numberUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(30);
680
1614
  /* harmony import */ var _splunk_visualizations_shared_numberUtils__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_splunk_visualizations_shared_numberUtils__WEBPACK_IMPORTED_MODULE_2__);
681
1615
  /* harmony import */ var _splunk_visualizations_shared_domUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(54);
682
1616
  /* harmony import */ var _splunk_visualizations_shared_domUtils__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_splunk_visualizations_shared_domUtils__WEBPACK_IMPORTED_MODULE_3__);
683
- /* harmony import */ var _splunk_visualizations_shared_propUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(25);
1617
+ /* harmony import */ var _splunk_visualizations_shared_propUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(28);
684
1618
  /* harmony import */ var _splunk_visualizations_shared_propUtils__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_splunk_visualizations_shared_propUtils__WEBPACK_IMPORTED_MODULE_4__);
685
1619
  /* harmony import */ var _splunk_visualizations_shared_colorConstants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(49);
686
1620
  /* harmony import */ var _splunk_visualizations_shared_colorConstants__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_splunk_visualizations_shared_colorConstants__WEBPACK_IMPORTED_MODULE_5__);
@@ -1634,11 +2568,22 @@ var darken = function darken(color) {
1634
2568
  */
1635
2569
 
1636
2570
  var handleValueClickCallback = function handleValueClickCallback(ev, majorValue, majorValueField, trendValue, onValueClick) {
2571
+ var trellisEnabled = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
2572
+ var trellisSplityBy = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : '';
2573
+ var trellisKey = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : '';
1637
2574
  var payload = {
1638
2575
  trendValue: trendValue,
1639
2576
  value: majorValue,
1640
2577
  name: majorValueField
1641
2578
  };
2579
+
2580
+ if (trellisEnabled) {
2581
+ payload = _objectSpread(_objectSpread({}, payload), {}, {
2582
+ 'trellis.name': trellisSplityBy,
2583
+ 'trellis.value': trellisKey
2584
+ });
2585
+ }
2586
+
1642
2587
  return onValueClick(_objectSpread(_objectSpread({}, ev), {}, {
1643
2588
  payload: payload
1644
2589
  }));
@@ -1646,45 +2591,38 @@ var handleValueClickCallback = function handleValueClickCallback(ev, majorValue,
1646
2591
 
1647
2592
  /***/ }),
1648
2593
 
1649
- /***/ 24:
1650
- /***/ (function(module, exports) {
1651
-
1652
- module.exports = require("@splunk/visualization-context/TimezoneContext");
1653
-
1654
- /***/ }),
1655
-
1656
2594
  /***/ 25:
1657
2595
  /***/ (function(module, exports) {
1658
2596
 
1659
- module.exports = require("@splunk/visualizations-shared/propUtils");
2597
+ module.exports = require("@splunk/visualization-context/TimezoneContext");
1660
2598
 
1661
2599
  /***/ }),
1662
2600
 
1663
2601
  /***/ 26:
1664
2602
  /***/ (function(module, exports) {
1665
2603
 
1666
- module.exports = require("@splunk/visualization-context/FeatureFlagContext");
2604
+ module.exports = require("@splunk/visualizations-shared/hocUtils");
1667
2605
 
1668
2606
  /***/ }),
1669
2607
 
1670
2608
  /***/ 27:
1671
2609
  /***/ (function(module, exports) {
1672
2610
 
1673
- module.exports = require("@splunk/visualizations-shared/hocUtils");
2611
+ module.exports = require("@splunk/visualizations-shared/JSONSchemaUtils");
1674
2612
 
1675
2613
  /***/ }),
1676
2614
 
1677
2615
  /***/ 28:
1678
2616
  /***/ (function(module, exports) {
1679
2617
 
1680
- module.exports = require("@splunk/visualizations-shared/JSONSchemaUtils");
2618
+ module.exports = require("@splunk/visualizations-shared/propUtils");
1681
2619
 
1682
2620
  /***/ }),
1683
2621
 
1684
2622
  /***/ 29:
1685
2623
  /***/ (function(module, exports) {
1686
2624
 
1687
- module.exports = require("@splunk/visualizations-shared/numberUtils");
2625
+ module.exports = require("@splunk/visualization-encoding/Options");
1688
2626
 
1689
2627
  /***/ }),
1690
2628
 
@@ -1696,6 +2634,13 @@ module.exports = require("lodash");
1696
2634
  /***/ }),
1697
2635
 
1698
2636
  /***/ 30:
2637
+ /***/ (function(module, exports) {
2638
+
2639
+ module.exports = require("@splunk/visualizations-shared/numberUtils");
2640
+
2641
+ /***/ }),
2642
+
2643
+ /***/ 31:
1699
2644
  /***/ (function(module, exports, __webpack_require__) {
1700
2645
 
1701
2646
  "use strict";
@@ -1706,15 +2651,15 @@ Object.defineProperty(exports, "__esModule", {
1706
2651
  });
1707
2652
  exports.shouldShowIconPlaceholder = void 0;
1708
2653
 
1709
- var React = __webpack_require__(1);
2654
+ var React = __webpack_require__(0);
1710
2655
 
1711
- var T = __webpack_require__(0);
2656
+ var T = __webpack_require__(1);
1712
2657
 
1713
2658
  var lodash_1 = __webpack_require__(3);
1714
2659
 
1715
2660
  var i18n_1 = __webpack_require__(2);
1716
2661
 
1717
- var Message_1 = __webpack_require__(10);
2662
+ var Message_1 = __webpack_require__(9);
1718
2663
 
1719
2664
  var FixedSizeContainer_1 = __webpack_require__(13);
1720
2665
  /**
@@ -1787,27 +2732,27 @@ exports.default = FixedSizeContainer_1.default(IconPlaceholder);
1787
2732
 
1788
2733
  /***/ }),
1789
2734
 
1790
- /***/ 31:
2735
+ /***/ 32:
1791
2736
  /***/ (function(module, exports) {
1792
2737
 
1793
2738
  module.exports = require("@splunk/ui-utils/id");
1794
2739
 
1795
2740
  /***/ }),
1796
2741
 
1797
- /***/ 32:
2742
+ /***/ 33:
1798
2743
  /***/ (function(module, exports, __webpack_require__) {
1799
2744
 
1800
2745
  "use strict";
1801
2746
 
1802
2747
 
1803
- var _defineProperty = __webpack_require__(7);
2748
+ var _defineProperty = __webpack_require__(8);
1804
2749
 
1805
2750
  Object.defineProperty(exports, "__esModule", {
1806
2751
  value: true
1807
2752
  });
1808
2753
  exports.getSortingParams = exports.SortParamsPropTypes = void 0;
1809
2754
 
1810
- var T = __webpack_require__(0);
2755
+ var T = __webpack_require__(1);
1811
2756
 
1812
2757
  var lodash_1 = __webpack_require__(3);
1813
2758
 
@@ -1831,7 +2776,7 @@ var getSortingParams = function getSortingParams(_ref) {
1831
2776
  };
1832
2777
  var onSort;
1833
2778
 
1834
- if (lodash_1.isFunction(onRequestParamsChange)) {
2779
+ if (typeof onRequestParamsChange === 'function') {
1835
2780
  if (requestParams && lodash_1.has(requestParams, 'sort')) {
1836
2781
  currentSortKey = Object.keys(requestParams.sort).shift();
1837
2782
  currentSortDir = requestParams.sort[currentSortKey];
@@ -1865,7 +2810,7 @@ exports.getSortingParams = getSortingParams;
1865
2810
 
1866
2811
  /***/ }),
1867
2812
 
1868
- /***/ 33:
2813
+ /***/ 34:
1869
2814
  /***/ (function(module, exports, __webpack_require__) {
1870
2815
 
1871
2816
  "use strict";
@@ -1876,7 +2821,7 @@ Object.defineProperty(exports, "__esModule", {
1876
2821
  });
1877
2822
  exports.getPaginationParams = exports.PaginatorParamsPropTypes = void 0;
1878
2823
 
1879
- var T = __webpack_require__(0);
2824
+ var T = __webpack_require__(1);
1880
2825
 
1881
2826
  var lodash_1 = __webpack_require__(3);
1882
2827
 
@@ -1896,7 +2841,7 @@ var getPaginationParams = function getPaginationParams(_ref) {
1896
2841
  var count = requestParams && requestParams.count;
1897
2842
  var totalPages = typeof count === 'number' && count > 0 ? Math.ceil(totalCount / count) : 0;
1898
2843
  var current = typeof count === 'number' && count > 0 ? Math.floor(offset / count) + 1 : 0;
1899
- var isPaging = totalPages > 1 && lodash_1.isFunction(onRequestParamsChange);
2844
+ var isPaging = totalPages > 1 && typeof onRequestParamsChange === 'function';
1900
2845
 
1901
2846
  var onChangeHandler = function onChangeHandler(e, _ref2) {
1902
2847
  var page = _ref2.page,
@@ -1922,7 +2867,7 @@ var getPaginationParams = function getPaginationParams(_ref) {
1922
2867
  isPaging: isPaging,
1923
2868
  current: current,
1924
2869
  totalPages: totalPages,
1925
- onChange: lodash_1.isFunction(onRequestParamsChange) ? onChangeHandler : lodash_1.noop
2870
+ onChange: typeof onRequestParamsChange === 'function' ? onChangeHandler : lodash_1.noop
1926
2871
  };
1927
2872
  };
1928
2873
 
@@ -1930,7 +2875,7 @@ exports.getPaginationParams = getPaginationParams;
1930
2875
 
1931
2876
  /***/ }),
1932
2877
 
1933
- /***/ 34:
2878
+ /***/ 35:
1934
2879
  /***/ (function(module, exports, __webpack_require__) {
1935
2880
 
1936
2881
  "use strict";
@@ -1959,7 +2904,7 @@ var VizCategory;
1959
2904
 
1960
2905
  /***/ }),
1961
2906
 
1962
- /***/ 35:
2907
+ /***/ 36:
1963
2908
  /***/ (function(module, exports, __webpack_require__) {
1964
2909
 
1965
2910
  "use strict";
@@ -1971,39 +2916,39 @@ Object.defineProperty(exports, "__esModule", {
1971
2916
  value: true
1972
2917
  });
1973
2918
 
1974
- var React = __webpack_require__(1);
2919
+ var React = __webpack_require__(0);
1975
2920
 
1976
2921
  var lodash_1 = __webpack_require__(3);
1977
2922
 
1978
- var getSettingsFromThemedProps_1 = __webpack_require__(36);
2923
+ var getSettingsFromThemedProps_1 = __webpack_require__(37);
1979
2924
 
1980
- var Options_1 = __webpack_require__(37);
2925
+ var Options_1 = __webpack_require__(29);
1981
2926
 
1982
2927
  var SanitizeProps_1 = __webpack_require__(38);
1983
2928
 
1984
- var TimezoneContext_1 = __webpack_require__(24);
2929
+ var TimezoneContext_1 = __webpack_require__(25);
1985
2930
 
1986
2931
  var moment_1 = __webpack_require__(39);
1987
2932
 
1988
- var FeatureFlagContext_1 = __webpack_require__(26);
2933
+ var FeatureFlagContext_1 = __webpack_require__(20);
1989
2934
 
1990
2935
  var styled_components_1 = __webpack_require__(4);
1991
2936
 
1992
- var hocUtils_1 = __webpack_require__(27);
2937
+ var hocUtils_1 = __webpack_require__(26);
1993
2938
 
1994
- var JSONSchemaUtils_1 = __webpack_require__(28);
2939
+ var JSONSchemaUtils_1 = __webpack_require__(27);
1995
2940
 
1996
2941
  var async_dynamic_options_evaluator_1 = __webpack_require__(40);
1997
2942
 
1998
- var id_1 = __webpack_require__(31);
2943
+ var id_1 = __webpack_require__(32);
1999
2944
 
2000
2945
  var SplunkVisualization_1 = __webpack_require__(41);
2001
2946
 
2002
2947
  var VizBehavior_1 = __webpack_require__(6);
2003
2948
 
2004
- var getSorting_1 = __webpack_require__(32);
2949
+ var getSorting_1 = __webpack_require__(33);
2005
2950
 
2006
- var getPagination_1 = __webpack_require__(33);
2951
+ var getPagination_1 = __webpack_require__(34);
2007
2952
 
2008
2953
  var useDeepMemo_1 = __webpack_require__(44);
2009
2954
 
@@ -2032,6 +2977,8 @@ var withDashboardViz = function withDashboardViz(opts) {
2032
2977
  var defaultOptions = JSONSchemaUtils_1.pickFieldFromJSONSchema(vizConfig.optionsSchema, 'default');
2033
2978
 
2034
2979
  var DashboardViz = function DashboardViz(props) {
2980
+ var _a;
2981
+
2035
2982
  var mode = props.mode,
2036
2983
  hasEventHandlers = props.hasEventHandlers,
2037
2984
  dataSources = props.dataSources,
@@ -2091,7 +3038,7 @@ var withDashboardViz = function withDashboardViz(opts) {
2091
3038
  _React$useState4 = _slicedToArray(_React$useState3, 1),
2092
3039
  visualizationID = _React$useState4[0];
2093
3040
 
2094
- var _React$useState5 = React.useState(Boolean(featureFlagContext && featureFlagContext['visualizations.useWebWorkersForDSL'] && typeof Worker !== 'undefined')),
3041
+ var _React$useState5 = React.useState(Boolean(featureFlagContext && featureFlagContext.visualizations_useWebWorkersForDSL && typeof Worker !== 'undefined')),
2095
3042
  _React$useState6 = _slicedToArray(_React$useState5, 2),
2096
3043
  useAsyncEvaluatedOptions = _React$useState6[0],
2097
3044
  setUseAsyncEvaluatedOptions = _React$useState6[1];
@@ -2131,11 +3078,21 @@ var withDashboardViz = function withDashboardViz(opts) {
2131
3078
 
2132
3079
  return {};
2133
3080
  }, [currentThemeFamily, currentThemeColorScheme, currentThemeDensity, options, context, dataSources, serializedTimezone, useAsyncEvaluatedOptions]);
2134
- var evaluatedOptionsToUse = !useAsyncEvaluatedOptions ? evaluatedOptions : evaluatedOptionsAsync; // useEffect hook needs to be initialized before any early returns
3081
+ var evaluatedOptionsToUse = !useAsyncEvaluatedOptions ? evaluatedOptions : evaluatedOptionsAsync; // trellis specific backgroundColor update for onComputedProps
3082
+ // 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
3083
+ // onComputedProps api should return back trellisBackgroundColor value for backgroundColor option to support coloring of sibling panels (for eg:- title/ description on UDF side)
3084
+
3085
+ var isTrellisFeatureFlagOn = Boolean(featureFlagContext && featureFlagContext.visualizations_enableTrellis);
3086
+ var clonedEvaluatedOptions = lodash_1.cloneDeep(evaluatedOptionsToUse);
3087
+
3088
+ 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) {
3089
+ clonedEvaluatedOptions.backgroundColor = clonedEvaluatedOptions === null || clonedEvaluatedOptions === void 0 ? void 0 : clonedEvaluatedOptions.trellisBackgroundColor;
3090
+ } // useEffect hook needs to be initialized before any early returns
2135
3091
  // this is in accordance with the order of hook calls being the same on each render https://reactjs.org/docs/hooks-rules.html#explanation
2136
3092
 
3093
+
2137
3094
  React.useEffect(function () {
2138
- onComputedProps(evaluatedOptionsToUse);
3095
+ onComputedProps(clonedEvaluatedOptions);
2139
3096
  });
2140
3097
  React.useEffect(function () {
2141
3098
  return function () {
@@ -2150,15 +3107,16 @@ var withDashboardViz = function withDashboardViz(opts) {
2150
3107
  supports = vizConfig.supports;
2151
3108
  var missing = MissingPropsMessage_1.missingKeys(requiredProps, evaluatedOptionsToUse);
2152
3109
 
2153
- if (missing.length > 0 && supports.includes(VizBehavior_1.VizBehavior.PLACEHOLDER)) {
2154
- return React.createElement(MissingPropsMessage_1.default, {
2155
- "data-test": "missing-props-message",
2156
- width: width,
2157
- height: height,
2158
- missingProps: missing,
2159
- backgroundColor: bgColorFromTheme
2160
- });
2161
- } // events
3110
+ 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
3111
+ ) {
3112
+ return React.createElement(MissingPropsMessage_1.default, {
3113
+ "data-test": "missing-props-message",
3114
+ width: width,
3115
+ height: height,
3116
+ missingProps: missing,
3117
+ backgroundColor: bgColorFromTheme
3118
+ });
3119
+ } // events
2162
3120
 
2163
3121
 
2164
3122
  var eventCallbackProps = {};
@@ -2262,17 +3220,10 @@ exports.default = withDashboardViz;
2262
3220
 
2263
3221
  /***/ }),
2264
3222
 
2265
- /***/ 36:
2266
- /***/ (function(module, exports) {
2267
-
2268
- module.exports = require("@splunk/themes/getSettingsFromThemedProps");
2269
-
2270
- /***/ }),
2271
-
2272
3223
  /***/ 37:
2273
3224
  /***/ (function(module, exports) {
2274
3225
 
2275
- module.exports = require("@splunk/visualization-encoding/Options");
3226
+ module.exports = require("@splunk/themes/getSettingsFromThemedProps");
2276
3227
 
2277
3228
  /***/ }),
2278
3229
 
@@ -2318,7 +3269,7 @@ Object.defineProperty(exports, "__esModule", {
2318
3269
  exports.INITIAL_HEIGHT = exports.INITIAL_WIDTH = void 0;
2319
3270
  /* eslint-disable react/no-unused-prop-types,react/prefer-stateless-function */
2320
3271
 
2321
- var T = __webpack_require__(0);
3272
+ var T = __webpack_require__(1);
2322
3273
 
2323
3274
  var lodash_1 = __webpack_require__(3);
2324
3275
 
@@ -2464,7 +3415,7 @@ exports.default = SplunkVisualization;
2464
3415
 
2465
3416
  var _classCallCheck = __webpack_require__(11);
2466
3417
 
2467
- var _createClass = __webpack_require__(20);
3418
+ var _createClass = __webpack_require__(22);
2468
3419
 
2469
3420
  Object.defineProperty(exports, "__esModule", {
2470
3421
  value: true
@@ -2519,7 +3470,7 @@ Object.defineProperty(exports, "__esModule", {
2519
3470
  });
2520
3471
  exports.useDeepMemo = void 0;
2521
3472
 
2522
- var react_1 = __webpack_require__(1);
3473
+ var react_1 = __webpack_require__(0);
2523
3474
 
2524
3475
  var lodash_1 = __webpack_require__(3);
2525
3476
  /**
@@ -2565,13 +3516,13 @@ Object.defineProperty(exports, "__esModule", {
2565
3516
  });
2566
3517
  exports.MissingPropsMessage = exports.missingKeys = exports.isMissing = void 0;
2567
3518
 
2568
- var React = __webpack_require__(1);
3519
+ var React = __webpack_require__(0);
2569
3520
 
2570
- var T = __webpack_require__(0);
3521
+ var T = __webpack_require__(1);
2571
3522
 
2572
3523
  var i18n_1 = __webpack_require__(2);
2573
3524
 
2574
- var Message_1 = __webpack_require__(10);
3525
+ var Message_1 = __webpack_require__(9);
2575
3526
 
2576
3527
  var FixedSizeContainer_1 = __webpack_require__(13);
2577
3528
  /**
@@ -2631,64 +3582,7 @@ exports.MissingPropsMessage.defaultProps = {
2631
3582
  width: '100%',
2632
3583
  height: 250
2633
3584
  };
2634
- exports.default = FixedSizeContainer_1.default(exports.MissingPropsMessage);
2635
-
2636
- /***/ }),
2637
-
2638
- /***/ 459:
2639
- /***/ (function(module, exports, __webpack_require__) {
2640
-
2641
- "use strict";
2642
-
2643
-
2644
- Object.defineProperty(exports, "__esModule", {
2645
- value: true
2646
- });
2647
- exports.themes = exports.computeVizProps = exports.PureSingleValueIcon = exports.config = void 0;
2648
-
2649
- var React = __webpack_require__(1);
2650
-
2651
- var RemoteIcon_1 = __webpack_require__(460);
2652
-
2653
- var iconUtils_1 = __webpack_require__(461);
2654
-
2655
- var SingleValueIcon_1 = __webpack_require__(480);
2656
-
2657
- var withDashboardViz_1 = __webpack_require__(35);
2658
-
2659
- var config_1 = __webpack_require__(462);
2660
-
2661
- exports.config = config_1.default;
2662
- exports.PureSingleValueIcon = SingleValueIcon_1.default;
2663
-
2664
- var computeVizProps = function computeVizProps(_ref) {
2665
- var icon = _ref.icon,
2666
- _ref$IconComponent = _ref.IconComponent,
2667
- IconComponent = _ref$IconComponent === void 0 ? null : _ref$IconComponent,
2668
- themeFunc = _ref.themeFunc;
2669
-
2670
- if (icon && (iconUtils_1.isRemoteIcon(icon) || iconUtils_1.isDataURI(icon))) {
2671
- // eslint-disable-next-line no-param-reassign
2672
- IconComponent = React.createElement(RemoteIcon_1.default, {
2673
- iconURL: icon
2674
- });
2675
- }
2676
-
2677
- return {
2678
- IconComponent: IconComponent,
2679
- defaultFontColor: themeFunc('defaultFontColor'),
2680
- defaultBlockFontColor: themeFunc('defaultBlockFontColor')
2681
- };
2682
- };
2683
-
2684
- exports.computeVizProps = computeVizProps;
2685
- var viz = withDashboardViz_1.default({
2686
- ReactViz: SingleValueIcon_1.default,
2687
- vizConfig: config_1.default,
2688
- computeVizProps: exports.computeVizProps
2689
- });
2690
- exports.themes = config_1.default.themes;
2691
- exports.default = viz;
3585
+ exports.default = FixedSizeContainer_1.default(exports.MissingPropsMessage);
2692
3586
 
2693
3587
  /***/ }),
2694
3588
 
@@ -2702,18 +3596,18 @@ Object.defineProperty(exports, "__esModule", {
2702
3596
  value: true
2703
3597
  });
2704
3598
 
2705
- var React = __webpack_require__(1);
3599
+ var React = __webpack_require__(0);
2706
3600
 
2707
3601
  var styled_components_1 = __webpack_require__(4);
2708
3602
 
2709
- var hocUtils_1 = __webpack_require__(14);
3603
+ var hocUtils_1 = __webpack_require__(15);
2710
3604
 
2711
3605
  var Cover = styled_components_1.default.div.withConfig({
2712
3606
  displayName: "withEditModeCover__Cover",
2713
3607
  componentId: "sc-1gsbnxb-0"
2714
3608
  })(["position:absolute;left:0;right:0;top:0;bottom:0;"]);
2715
3609
  var Blocker = styled_components_1.default.div.attrs({
2716
- 'data-splunk-visualization-version': "25.6.0 - f5eb3abf9"
3610
+ 'data-splunk-visualization-version': "25.7.0 - d10a7789b"
2717
3611
  }).withConfig({
2718
3612
  displayName: "withEditModeCover__Blocker",
2719
3613
  componentId: "sc-1gsbnxb-1"
@@ -2745,27 +3639,90 @@ exports.default = withEditModeCover;
2745
3639
 
2746
3640
  /***/ }),
2747
3641
 
2748
- /***/ 460:
3642
+ /***/ 466:
3643
+ /***/ (function(module, exports, __webpack_require__) {
3644
+
3645
+ "use strict";
3646
+
3647
+
3648
+ Object.defineProperty(exports, "__esModule", {
3649
+ value: true
3650
+ });
3651
+ exports.themes = exports.computeVizProps = exports.PureSingleValueIcon = exports.config = void 0;
3652
+
3653
+ var React = __webpack_require__(0);
3654
+
3655
+ var RemoteIcon_1 = __webpack_require__(467);
3656
+
3657
+ var iconUtils_1 = __webpack_require__(468);
3658
+
3659
+ var SingleValueIcon_1 = __webpack_require__(486);
3660
+
3661
+ var withDashboardViz_1 = __webpack_require__(36);
3662
+
3663
+ var config_1 = __webpack_require__(469);
3664
+
3665
+ var withTrellis_1 = __webpack_require__(102);
3666
+
3667
+ exports.config = config_1.default;
3668
+ exports.PureSingleValueIcon = SingleValueIcon_1.default;
3669
+
3670
+ var computeVizProps = function computeVizProps(_ref) {
3671
+ var icon = _ref.icon,
3672
+ _ref$IconComponent = _ref.IconComponent,
3673
+ IconComponent = _ref$IconComponent === void 0 ? null : _ref$IconComponent,
3674
+ themeFunc = _ref.themeFunc,
3675
+ trellisKey = _ref.trellisKey,
3676
+ trellisSplitBy = _ref.trellisSplitBy;
3677
+
3678
+ if (icon && (iconUtils_1.isRemoteIcon(icon) || iconUtils_1.isDataURI(icon))) {
3679
+ // eslint-disable-next-line no-param-reassign
3680
+ IconComponent = React.createElement(RemoteIcon_1.default, {
3681
+ iconURL: icon
3682
+ });
3683
+ }
3684
+
3685
+ return {
3686
+ IconComponent: IconComponent,
3687
+ defaultFontColor: themeFunc('defaultFontColor'),
3688
+ defaultBlockFontColor: themeFunc('defaultBlockFontColor'),
3689
+ trellisKey: trellisKey,
3690
+ trellisSplitBy: trellisSplitBy
3691
+ };
3692
+ };
3693
+
3694
+ exports.computeVizProps = computeVizProps;
3695
+ var viz = withTrellis_1.default(withDashboardViz_1.default({
3696
+ ReactViz: SingleValueIcon_1.default,
3697
+ vizConfig: config_1.default,
3698
+ computeVizProps: exports.computeVizProps
3699
+ }));
3700
+ exports.themes = config_1.default.themes;
3701
+ exports.default = viz;
3702
+
3703
+ /***/ }),
3704
+
3705
+ /***/ 467:
2749
3706
  /***/ (function(module, exports) {
2750
3707
 
2751
3708
  module.exports = require("@splunk/visualizations-shared/RemoteIcon");
2752
3709
 
2753
3710
  /***/ }),
2754
3711
 
2755
- /***/ 461:
3712
+ /***/ 468:
2756
3713
  /***/ (function(module, exports) {
2757
3714
 
2758
3715
  module.exports = require("@splunk/visualizations-shared/iconUtils");
2759
3716
 
2760
3717
  /***/ }),
2761
3718
 
2762
- /***/ 462:
3719
+ /***/ 469:
2763
3720
  /***/ (function(module, exports, __webpack_require__) {
2764
3721
 
2765
3722
  "use strict";
2766
3723
 
2767
3724
 
2768
- var _toConsumableArray = __webpack_require__(8);
3725
+ var _toConsumableArray = __webpack_require__(7);
2769
3726
 
2770
3727
  Object.defineProperty(exports, "__esModule", {
2771
3728
  value: true
@@ -2775,37 +3732,41 @@ var i18n_1 = __webpack_require__(2);
2775
3732
 
2776
3733
  var schemaUtils_1 = __webpack_require__(16);
2777
3734
 
2778
- var PresetPalettes_1 = __webpack_require__(57);
3735
+ var PresetPalettes_1 = __webpack_require__(60);
2779
3736
 
2780
- var pick_1 = __webpack_require__(22);
3737
+ var pick_1 = __webpack_require__(23);
2781
3738
 
2782
- var variables_1 = __webpack_require__(9);
3739
+ var variables_1 = __webpack_require__(10);
2783
3740
 
2784
- var configUtils_1 = __webpack_require__(19);
3741
+ var configUtils_1 = __webpack_require__(21);
2785
3742
 
2786
- var singleValueContext_1 = __webpack_require__(125);
3743
+ var singleValueContext_1 = __webpack_require__(133);
2787
3744
 
2788
- var StaticMajorAndTrendLayout_1 = __webpack_require__(94);
3745
+ var StaticMajorAndTrendLayout_1 = __webpack_require__(98);
2789
3746
 
2790
- var StaticBackgroundColorEditor_1 = __webpack_require__(81);
3747
+ var StaticBackgroundColorEditor_1 = __webpack_require__(84);
2791
3748
 
2792
- var StaticIconColorEditor_1 = __webpack_require__(463);
3749
+ var StaticIconColorEditor_1 = __webpack_require__(470);
2793
3750
 
2794
- var StaticMajorColorEditor_1 = __webpack_require__(95);
3751
+ var StaticMajorColorEditor_1 = __webpack_require__(99);
2795
3752
 
2796
- var StaticTrendColorEditor_1 = __webpack_require__(96);
3753
+ var StaticTrendColorEditor_1 = __webpack_require__(100);
2797
3754
 
2798
- var DynamicMajorColorEditor_1 = __webpack_require__(91);
3755
+ var DynamicMajorColorEditor_1 = __webpack_require__(95);
2799
3756
 
2800
- var DynamicTrendColorEditor_1 = __webpack_require__(92);
3757
+ var DynamicTrendColorEditor_1 = __webpack_require__(96);
2801
3758
 
2802
- var DynamicBackgroundColorEditor_1 = __webpack_require__(93);
3759
+ var DynamicBackgroundColorEditor_1 = __webpack_require__(97);
3760
+
3761
+ var TrellisEditors_1 = __webpack_require__(101);
2803
3762
 
2804
3763
  var VizBehavior_1 = __webpack_require__(6);
2805
3764
 
2806
- var configUtils_2 = __webpack_require__(18);
3765
+ var configUtils_2 = __webpack_require__(19);
3766
+
3767
+ var VizCategory_1 = __webpack_require__(35);
2807
3768
 
2808
- var VizCategory_1 = __webpack_require__(34);
3769
+ var layoutUtils_1 = __webpack_require__(58);
2809
3770
 
2810
3771
  var dataContract = {
2811
3772
  requiredDataSources: [{
@@ -2894,6 +3855,13 @@ var optionsSchema = {
2894
3855
  description: 'Specify whether to enable or disable the value and trend indicator displays.',
2895
3856
  type: 'boolean'
2896
3857
  },
3858
+ splitByLayout: {
3859
+ default: 'off',
3860
+ description: 'Specify the layout method by which to display the visualization, which splits the data into individual visualizations based on a certain category.',
3861
+ type: 'string',
3862
+ pattern: schemaUtils_1.getPattern([layoutUtils_1.LAYOUT_TYPE.Off, layoutUtils_1.LAYOUT_TYPE.Trellis]),
3863
+ enum: [layoutUtils_1.LAYOUT_TYPE.Off, layoutUtils_1.LAYOUT_TYPE.Trellis]
3864
+ },
2897
3865
  trendColor: {
2898
3866
  default: '> themes.defaultFontColor',
2899
3867
  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)".',
@@ -2915,6 +3883,37 @@ var optionsSchema = {
2915
3883
  description: 'The trend value to display in the visualization.',
2916
3884
  type: 'number'
2917
3885
  },
3886
+ trellisBackgroundColor: {
3887
+ default: '> themes.defaultBackgroundColor',
3888
+ description: 'Specify the color used for the trellis container background by using a hexadecimal code. For example, #0000FF.',
3889
+ pattern: schemaUtils_1.COLOR_OR_TOKEN_PATTERN_WITH_RGBA,
3890
+ type: 'string'
3891
+ },
3892
+ trellisColumns: {
3893
+ 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.',
3894
+ type: 'number',
3895
+ minimum: 0
3896
+ },
3897
+ trellisMinColumnWidth: {
3898
+ default: 100,
3899
+ 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.',
3900
+ type: 'number'
3901
+ },
3902
+ trellisPageCount: {
3903
+ default: 20,
3904
+ minimum: 0,
3905
+ description: 'Specify the maximum number of visualizations to display in a single page in the trellis container. The remaining visualizations will paginate accordingly.',
3906
+ type: 'number'
3907
+ },
3908
+ trellisRowHeight: {
3909
+ default: 70,
3910
+ 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.',
3911
+ type: 'number'
3912
+ },
3913
+ trellisSplitBy: {
3914
+ 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.',
3915
+ type: 'string'
3916
+ },
2918
3917
  underLabel: {
2919
3918
  description: 'Specify the text that appears below the major value.',
2920
3919
  type: 'string'
@@ -3032,6 +4031,31 @@ var themes = {
3032
4031
  }
3033
4032
  };
3034
4033
  var editorConfig = [{
4034
+ label: i18n_1._('Data configurations'),
4035
+ layout: [[{
4036
+ label: i18n_1._('Value'),
4037
+ editor: 'editor.columnSelector',
4038
+ option: 'majorValue',
4039
+ context: 'valuesContext',
4040
+ editorProps: {
4041
+ dataSourceKey: 'primary',
4042
+ prepareValue: function prepareValue(definition) {
4043
+ var baseSPL = definition.options.majorValue;
4044
+ return {
4045
+ context: {},
4046
+ options: {
4047
+ majorValue: "".concat(baseSPL, " | lastPoint()"),
4048
+ trendValue: "".concat(baseSPL, " | delta(-2)")
4049
+ }
4050
+ };
4051
+ }
4052
+ },
4053
+ isDisabled: function isDisabled(_ref) {
4054
+ var options = _ref.options;
4055
+ return options.splitByLayout === layoutUtils_1.LAYOUT_TYPE.Trellis;
4056
+ }
4057
+ }]]
4058
+ }, {
3035
4059
  label: i18n_1._('Data display'),
3036
4060
  layout: [[{
3037
4061
  label: i18n_1._('Show major and trend value'),
@@ -3053,11 +4077,11 @@ var editorConfig = [{
3053
4077
  value: 'off'
3054
4078
  }]
3055
4079
  },
3056
- showEditor: function showEditor(_ref) {
3057
- var options = _ref.options;
4080
+ showEditor: function showEditor(_ref2) {
4081
+ var options = _ref2.options;
3058
4082
  return options.showValue || options.showValue === undefined;
3059
4083
  }
3060
- }]])
4084
+ }]], _toConsumableArray(TrellisEditors_1.TrellisEditorConfig))
3061
4085
  }, {
3062
4086
  label: i18n_1._('Color and style'),
3063
4087
  layout: [[{
@@ -3066,24 +4090,24 @@ var editorConfig = [{
3066
4090
  editor: 'editor.presetSelector',
3067
4091
  editorProps: {
3068
4092
  presets: presets,
3069
- value: function value(_ref2) {
3070
- var context = _ref2.context,
3071
- options = _ref2.options;
4093
+ value: function value(_ref3) {
4094
+ var context = _ref3.context,
4095
+ options = _ref3.options;
3072
4096
  var initialPreset = configUtils_2.getInitialPreset(context, options, presets);
3073
4097
  return initialPreset && initialPreset.label || null;
3074
4098
  }
3075
4099
  }
3076
4100
  }], StaticIconColorEditor_1.default, [{
3077
- label: i18n_1._('Dynamic icon'),
4101
+ label: i18n_1._('Icon'),
3078
4102
  option: 'iconColor',
3079
4103
  context: 'iconColorEditorConfig',
3080
4104
  editor: 'editor.dynamicColor',
3081
- showEditor: function showEditor(_ref3) {
3082
- var options = _ref3.options;
4105
+ showEditor: function showEditor(_ref4) {
4106
+ var options = _ref4.options;
3083
4107
  return configUtils_1.isDynamicOption(options.iconColor);
3084
4108
  },
3085
4109
  editorProps: {
3086
- labelPosition: 'left',
4110
+ labelPosition: 'top',
3087
4111
  flyoutTitle: 'Dynamic coloring: icon',
3088
4112
  formatters: [{
3089
4113
  label: i18n_1._('Ranges'),
@@ -3110,7 +4134,6 @@ var editorConfig = [{
3110
4134
  }
3111
4135
  }], [Object.assign(Object.assign({}, StaticMajorColorEditor_1.default), {
3112
4136
  editorProps: {
3113
- labelPosition: 'left',
3114
4137
  themes: themes
3115
4138
  }
3116
4139
  })], [DynamicMajorColorEditor_1.getDynamicMajorColorEditor({
@@ -3118,7 +4141,6 @@ var editorConfig = [{
3118
4141
  defaultPalettesConfig: PresetPalettes_1.defaultPalettesConfig
3119
4142
  })], [Object.assign(Object.assign({}, StaticTrendColorEditor_1.default), {
3120
4143
  editorProps: {
3121
- labelPosition: 'left',
3122
4144
  themes: themes
3123
4145
  }
3124
4146
  })], [DynamicTrendColorEditor_1.getDynamicTrendColorEditor({
@@ -3126,7 +4148,10 @@ var editorConfig = [{
3126
4148
  defaultPalettesConfig: PresetPalettes_1.defaultPalettesConfig
3127
4149
  })], [Object.assign(Object.assign({}, StaticBackgroundColorEditor_1.default), {
3128
4150
  editorProps: {
3129
- labelPosition: 'left',
4151
+ themes: themes
4152
+ }
4153
+ })], [Object.assign(Object.assign({}, TrellisEditors_1.TrellisBackgroundColorEditor), {
4154
+ editorProps: {
3130
4155
  themes: themes
3131
4156
  }
3132
4157
  })], [DynamicBackgroundColorEditor_1.getDynamicBackgroundColorEditor({
@@ -3140,8 +4165,8 @@ var editorConfig = [{
3140
4165
  min: 1
3141
4166
  },
3142
4167
  placeholder: i18n_1._('Auto'),
3143
- showEditor: function showEditor(_ref4) {
3144
- var options = _ref4.options;
4168
+ showEditor: function showEditor(_ref5) {
4169
+ var options = _ref5.options;
3145
4170
  return options.showValue || options.showValue === undefined;
3146
4171
  }
3147
4172
  }, {
@@ -3152,12 +4177,12 @@ var editorConfig = [{
3152
4177
  min: 1
3153
4178
  },
3154
4179
  placeholder: i18n_1._('Auto'),
3155
- showEditor: function showEditor(_ref5) {
3156
- var options = _ref5.options;
4180
+ showEditor: function showEditor(_ref6) {
4181
+ var options = _ref6.options;
3157
4182
  return options.showValue || options.showValue === undefined;
3158
4183
  },
3159
- isDisabled: function isDisabled(_ref6) {
3160
- var options = _ref6.options;
4184
+ isDisabled: function isDisabled(_ref7) {
4185
+ var options = _ref7.options;
3161
4186
  return options.trendDisplay === 'off';
3162
4187
  }
3163
4188
  }]]
@@ -3193,48 +4218,13 @@ var config = {
3193
4218
  payloadKeys: ['majorValue', 'trendValue', 'icon']
3194
4219
  }
3195
4220
  },
3196
- supports: [VizBehavior_1.VizBehavior.DYNAMIC_OPTIONS, VizBehavior_1.VizBehavior.EVENTS],
4221
+ supports: [VizBehavior_1.VizBehavior.DYNAMIC_OPTIONS, VizBehavior_1.VizBehavior.EVENTS, VizBehavior_1.VizBehavior.TRELLIS],
3197
4222
  themes: themes
3198
4223
  };
3199
4224
  exports.default = configUtils_2.enhanceConfig(config);
3200
4225
 
3201
4226
  /***/ }),
3202
4227
 
3203
- /***/ 463:
3204
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
3205
-
3206
- "use strict";
3207
- __webpack_require__.r(__webpack_exports__);
3208
- /* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8);
3209
- /* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__);
3210
- /* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2);
3211
- /* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_1__);
3212
- /* harmony import */ var _splunk_visualizations_shared_colorConstants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(49);
3213
- /* harmony import */ var _splunk_visualizations_shared_colorConstants__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_splunk_visualizations_shared_colorConstants__WEBPACK_IMPORTED_MODULE_2__);
3214
- /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(19);
3215
- /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_3__);
3216
-
3217
-
3218
-
3219
-
3220
- var StaticIconColorEditor = [{
3221
- label: Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_1__["_"])('Icon'),
3222
- option: 'iconColor',
3223
- editor: 'editor.color',
3224
- showEditor: function showEditor(_ref) {
3225
- var options = _ref.options;
3226
- return !Object(_splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_3__["isDynamicOption"])(options.iconColor);
3227
- },
3228
- editorProps: {
3229
- labelPosition: 'left',
3230
- value: null,
3231
- palette: [null].concat(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0___default()(_splunk_visualizations_shared_colorConstants__WEBPACK_IMPORTED_MODULE_2__["COLOR_EDITOR_PALETTE"]))
3232
- }
3233
- }];
3234
- /* harmony default export */ __webpack_exports__["default"] = (StaticIconColorEditor);
3235
-
3236
- /***/ }),
3237
-
3238
4228
  /***/ 47:
3239
4229
  /***/ (function(module, exports, __webpack_require__) {
3240
4230
 
@@ -3245,17 +4235,17 @@ Object.defineProperty(exports, "__esModule", {
3245
4235
  value: true
3246
4236
  });
3247
4237
 
3248
- var React = __webpack_require__(1);
4238
+ var React = __webpack_require__(0);
3249
4239
 
3250
4240
  var colorUtils_1 = __webpack_require__(12);
3251
4241
 
3252
- var variables_1 = __webpack_require__(9);
4242
+ var variables_1 = __webpack_require__(10);
3253
4243
 
3254
- var IconPlaceholder_1 = __webpack_require__(30);
4244
+ var IconPlaceholder_1 = __webpack_require__(31);
3255
4245
 
3256
4246
  var VizBehavior_1 = __webpack_require__(6);
3257
4247
 
3258
- var hocUtils_1 = __webpack_require__(14);
4248
+ var hocUtils_1 = __webpack_require__(15);
3259
4249
 
3260
4250
  var withPlaceholder = function withPlaceholder(Visualization) {
3261
4251
  var useIconPlaceholder = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : IconPlaceholder_1.shouldShowIconPlaceholder;
@@ -3300,7 +4290,42 @@ exports.default = withPlaceholder;
3300
4290
 
3301
4291
  /***/ }),
3302
4292
 
3303
- /***/ 480:
4293
+ /***/ 470:
4294
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
4295
+
4296
+ "use strict";
4297
+ __webpack_require__.r(__webpack_exports__);
4298
+ /* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7);
4299
+ /* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__);
4300
+ /* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2);
4301
+ /* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_1__);
4302
+ /* harmony import */ var _splunk_visualizations_shared_colorConstants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(49);
4303
+ /* harmony import */ var _splunk_visualizations_shared_colorConstants__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_splunk_visualizations_shared_colorConstants__WEBPACK_IMPORTED_MODULE_2__);
4304
+ /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(21);
4305
+ /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_3__);
4306
+
4307
+
4308
+
4309
+
4310
+ var StaticIconColorEditor = [{
4311
+ label: Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_1__["_"])('Icon'),
4312
+ option: 'iconColor',
4313
+ editor: 'editor.color',
4314
+ showEditor: function showEditor(_ref) {
4315
+ var options = _ref.options;
4316
+ return !Object(_splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_3__["isDynamicOption"])(options.iconColor);
4317
+ },
4318
+ editorProps: {
4319
+ labelPosition: 'top',
4320
+ value: null,
4321
+ palette: [null].concat(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0___default()(_splunk_visualizations_shared_colorConstants__WEBPACK_IMPORTED_MODULE_2__["COLOR_EDITOR_PALETTE"]))
4322
+ }
4323
+ }];
4324
+ /* harmony default export */ __webpack_exports__["default"] = (StaticIconColorEditor);
4325
+
4326
+ /***/ }),
4327
+
4328
+ /***/ 486:
3304
4329
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3305
4330
 
3306
4331
  "use strict";
@@ -3312,11 +4337,11 @@ var extends_ = __webpack_require__(52);
3312
4337
  var extends_default = /*#__PURE__*/__webpack_require__.n(extends_);
3313
4338
 
3314
4339
  // EXTERNAL MODULE: external "react"
3315
- var external_react_ = __webpack_require__(1);
4340
+ var external_react_ = __webpack_require__(0);
3316
4341
  var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
3317
4342
 
3318
4343
  // EXTERNAL MODULE: external "prop-types"
3319
- var external_prop_types_ = __webpack_require__(0);
4344
+ var external_prop_types_ = __webpack_require__(1);
3320
4345
  var external_prop_types_default = /*#__PURE__*/__webpack_require__.n(external_prop_types_);
3321
4346
 
3322
4347
  // EXTERNAL MODULE: external "styled-components"
@@ -3324,60 +4349,70 @@ var external_styled_components_ = __webpack_require__(4);
3324
4349
  var external_styled_components_default = /*#__PURE__*/__webpack_require__.n(external_styled_components_);
3325
4350
 
3326
4351
  // EXTERNAL MODULE: external "lodash/pick"
3327
- var pick_ = __webpack_require__(74);
4352
+ var pick_ = __webpack_require__(77);
3328
4353
  var pick_default = /*#__PURE__*/__webpack_require__.n(pick_);
3329
4354
 
3330
4355
  // EXTERNAL MODULE: external "lodash/isEmpty"
3331
- var isEmpty_ = __webpack_require__(75);
4356
+ var isEmpty_ = __webpack_require__(78);
3332
4357
  var isEmpty_default = /*#__PURE__*/__webpack_require__.n(isEmpty_);
3333
4358
 
4359
+ // EXTERNAL MODULE: external "@splunk/visualization-context/FeatureFlagContext"
4360
+ var FeatureFlagContext_ = __webpack_require__(20);
4361
+ var FeatureFlagContext_default = /*#__PURE__*/__webpack_require__.n(FeatureFlagContext_);
4362
+
3334
4363
  // EXTERNAL MODULE: external "@splunk/visualizations-shared/style"
3335
- var style_ = __webpack_require__(15);
4364
+ var style_ = __webpack_require__(14);
3336
4365
 
3337
4366
  // EXTERNAL MODULE: external "@splunk/ui-utils/i18n"
3338
4367
  var i18n_ = __webpack_require__(2);
3339
4368
 
3340
4369
  // EXTERNAL MODULE: external "@splunk/visualizations-shared/SizeAwareWrapper"
3341
- var SizeAwareWrapper_ = __webpack_require__(21);
4370
+ var SizeAwareWrapper_ = __webpack_require__(18);
3342
4371
  var SizeAwareWrapper_default = /*#__PURE__*/__webpack_require__.n(SizeAwareWrapper_);
3343
4372
 
3344
4373
  // EXTERNAL MODULE: external "@splunk/visualizations-shared/Message"
3345
- var Message_ = __webpack_require__(10);
4374
+ var Message_ = __webpack_require__(9);
3346
4375
  var Message_default = /*#__PURE__*/__webpack_require__.n(Message_);
3347
4376
 
3348
4377
  // EXTERNAL MODULE: ./src/common/components/VizStyleWrapper.jsx
3349
- var VizStyleWrapper = __webpack_require__(66);
4378
+ var VizStyleWrapper = __webpack_require__(68);
4379
+
4380
+ // EXTERNAL MODULE: ./src/common/components/TrellisTitle.tsx
4381
+ var TrellisTitle = __webpack_require__(74);
4382
+
4383
+ // EXTERNAL MODULE: ./src/common/utils/layoutUtils.ts
4384
+ var layoutUtils = __webpack_require__(58);
3350
4385
 
3351
4386
  // EXTERNAL MODULE: external "@babel/runtime/helpers/defineProperty"
3352
- var defineProperty_ = __webpack_require__(7);
4387
+ var defineProperty_ = __webpack_require__(8);
3353
4388
  var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty_);
3354
4389
 
3355
4390
  // EXTERNAL MODULE: external "@splunk/visualizations/SingleValueBasic"
3356
- var SingleValueBasic_ = __webpack_require__(131);
4391
+ var SingleValueBasic_ = __webpack_require__(139);
3357
4392
  var SingleValueBasic_default = /*#__PURE__*/__webpack_require__.n(SingleValueBasic_);
3358
4393
 
3359
4394
  // EXTERNAL MODULE: external "@splunk/react-icons/Activity"
3360
- var Activity_ = __webpack_require__(160);
4395
+ var Activity_ = __webpack_require__(167);
3361
4396
  var Activity_default = /*#__PURE__*/__webpack_require__.n(Activity_);
3362
4397
 
3363
4398
  // EXTERNAL MODULE: external "@splunk/react-icons/Clock"
3364
- var Clock_ = __webpack_require__(161);
4399
+ var Clock_ = __webpack_require__(168);
3365
4400
  var Clock_default = /*#__PURE__*/__webpack_require__.n(Clock_);
3366
4401
 
3367
4402
  // EXTERNAL MODULE: external "@splunk/react-icons/Pencil"
3368
- var Pencil_ = __webpack_require__(162);
4403
+ var Pencil_ = __webpack_require__(169);
3369
4404
  var Pencil_default = /*#__PURE__*/__webpack_require__.n(Pencil_);
3370
4405
 
3371
4406
  // EXTERNAL MODULE: external "@splunk/react-icons/Star"
3372
- var Star_ = __webpack_require__(163);
4407
+ var Star_ = __webpack_require__(170);
3373
4408
  var Star_default = /*#__PURE__*/__webpack_require__.n(Star_);
3374
4409
 
3375
4410
  // EXTERNAL MODULE: external "@splunk/react-icons/Question"
3376
- var Question_ = __webpack_require__(164);
4411
+ var Question_ = __webpack_require__(171);
3377
4412
  var Question_default = /*#__PURE__*/__webpack_require__.n(Question_);
3378
4413
 
3379
4414
  // EXTERNAL MODULE: ./src/common/utils/singleValueUtils.js
3380
- var singleValueUtils = __webpack_require__(23);
4415
+ var singleValueUtils = __webpack_require__(24);
3381
4416
 
3382
4417
  // CONCATENATED MODULE: ./src/SingleValueIcon/PureSingleValueIcon/utils/iconUtils.js
3383
4418
  // Todo: this will be replaced by IconLibrary.Registry
@@ -3750,6 +4785,9 @@ SingleValueIconLayout_SingleValueIconLayout.propTypes = _objectSpread(_objectSpr
3750
4785
 
3751
4786
 
3752
4787
 
4788
+
4789
+
4790
+
3753
4791
  var Container = external_styled_components_default.a.div.withConfig({
3754
4792
  displayName: "SingleValueIcon__Container",
3755
4793
  componentId: "y660ip-0"
@@ -3780,7 +4818,12 @@ var SingleValueIcon_SingleValueIcon = function SingleValueIcon(_ref) {
3780
4818
  noResult = props.noResult,
3781
4819
  onValueClick = props.onValueClick,
3782
4820
  defaultFontColor = props.defaultFontColor,
3783
- defaultBlockFontColor = props.defaultBlockFontColor;
4821
+ defaultBlockFontColor = props.defaultBlockFontColor,
4822
+ splitByLayout = props.splitByLayout,
4823
+ _props$trellisKey = props.trellisKey,
4824
+ trellisKey = _props$trellisKey === void 0 ? '' : _props$trellisKey,
4825
+ _props$trellisSplitBy = props.trellisSplitBy,
4826
+ trellisSplitBy = _props$trellisSplitBy === void 0 ? '' : _props$trellisSplitBy;
3784
4827
  var defaultColors = {
3785
4828
  defaultBlockFontColor: defaultBlockFontColor,
3786
4829
  defaultFontColor: defaultFontColor
@@ -3798,9 +4841,12 @@ var SingleValueIcon_SingleValueIcon = function SingleValueIcon(_ref) {
3798
4841
  defaultFontColor: defaultColors.defaultFontColor,
3799
4842
  defaultBlockFontColor: defaultColors.defaultBlockFontColor
3800
4843
  });
4844
+ var featureFlagContext = external_react_default.a.useContext(FeatureFlagContext_default.a);
4845
+ var isTrellisFeatureFlagOn = Boolean(featureFlagContext && featureFlagContext.visualizations_enableTrellis);
4846
+ var trellisEnabled = isTrellisFeatureFlagOn && splitByLayout === layoutUtils["LAYOUT_TYPE"].Trellis;
3801
4847
  var handleValueClick = Object(external_react_["useCallback"])(function (ev) {
3802
- return Object(singleValueUtils["handleValueClickCallback"])(ev, majorValue, majorValueField, trendValue, onValueClick);
3803
- }, [onValueClick, majorValue, majorValueField, trendValue]);
4848
+ return Object(singleValueUtils["handleValueClickCallback"])(ev, majorValue, majorValueField, trendValue, onValueClick, trellisEnabled, trellisSplitBy, trellisKey);
4849
+ }, [onValueClick, majorValue, majorValueField, trendValue, trellisEnabled, trellisSplitBy, trellisKey]);
3804
4850
 
3805
4851
  var renderVisualization = function renderVisualization(_ref2) {
3806
4852
  var containerWidth = _ref2.width,
@@ -3968,6 +5014,19 @@ var SingleValueIcon_SingleValueIcon = function SingleValueIcon(_ref) {
3968
5014
  }, IconLayout);
3969
5015
  };
3970
5016
 
5017
+ if (isTrellisFeatureFlagOn && splitByLayout === layoutUtils["LAYOUT_TYPE"].Trellis) {
5018
+ return /*#__PURE__*/external_react_default.a.createElement(external_react_default.a.Fragment, null, /*#__PURE__*/external_react_default.a.createElement(TrellisTitle["TrellisTitle"], {
5019
+ fontColor: defaultFontColor,
5020
+ backgroundColor: backgroundColor,
5021
+ trellisKey: trellisKey
5022
+ }), /*#__PURE__*/external_react_default.a.createElement(Container, {
5023
+ width: width,
5024
+ height: height - TrellisTitle["TRELLIS_TITLE_HEIGHT"]
5025
+ }, /*#__PURE__*/external_react_default.a.createElement(SizeAwareWrapper_default.a, null, function (containerDimension) {
5026
+ return renderVisualization(containerDimension);
5027
+ })));
5028
+ }
5029
+
3971
5030
  return /*#__PURE__*/external_react_default.a.createElement(Container, {
3972
5031
  width: width,
3973
5032
  height: height
@@ -4005,7 +5064,10 @@ SingleValueIcon_SingleValueIcon.propTypes = {
4005
5064
  noResult: external_prop_types_default.a.bool,
4006
5065
  onValueClick: external_prop_types_default.a.func,
4007
5066
  defaultFontColor: external_prop_types_default.a.string,
4008
- defaultBlockFontColor: external_prop_types_default.a.string
5067
+ defaultBlockFontColor: external_prop_types_default.a.string,
5068
+ splitByLayout: external_prop_types_default.a.string,
5069
+ trellisKey: external_prop_types_default.a.string,
5070
+ trellisSplitBy: external_prop_types_default.a.string
4009
5071
  };
4010
5072
  SingleValueIcon_SingleValueIcon.defaultProps = {
4011
5073
  width: '100%',
@@ -4023,7 +5085,9 @@ SingleValueIcon_SingleValueIcon.defaultProps = {
4023
5085
  showValue: true,
4024
5086
  noDataSources: false,
4025
5087
  noResult: false,
4026
- onValueClick: function onValueClick() {}
5088
+ onValueClick: function onValueClick() {},
5089
+ trellisKey: '',
5090
+ trellisSplitBy: ''
4027
5091
  };
4028
5092
  /* harmony default export */ var PureSingleValueIcon_SingleValueIcon = __webpack_exports__["default"] = (SingleValueIcon_SingleValueIcon);
4029
5093
 
@@ -4053,7 +5117,33 @@ module.exports = require("@splunk/visualizations-shared/domUtils");
4053
5117
  /***/ 57:
4054
5118
  /***/ (function(module, exports) {
4055
5119
 
4056
- module.exports = require("@splunk/visualization-color-palettes/editors/PresetPalettes");
5120
+ module.exports = require("@splunk/themes/useSplunkTheme");
5121
+
5122
+ /***/ }),
5123
+
5124
+ /***/ 58:
5125
+ /***/ (function(module, exports, __webpack_require__) {
5126
+
5127
+ "use strict";
5128
+
5129
+
5130
+ Object.defineProperty(exports, "__esModule", {
5131
+ value: true
5132
+ });
5133
+ exports.LAYOUT_TYPE = void 0;
5134
+ var LAYOUT_TYPE;
5135
+
5136
+ (function (LAYOUT_TYPE) {
5137
+ LAYOUT_TYPE["Off"] = "off";
5138
+ LAYOUT_TYPE["Trellis"] = "trellis";
5139
+ })(LAYOUT_TYPE = exports.LAYOUT_TYPE || (exports.LAYOUT_TYPE = {}));
5140
+
5141
+ /***/ }),
5142
+
5143
+ /***/ 59:
5144
+ /***/ (function(module, exports) {
5145
+
5146
+ module.exports = require("@splunk/themes");
4057
5147
 
4058
5148
  /***/ }),
4059
5149
 
@@ -4091,11 +5181,19 @@ var VizBehavior;
4091
5181
 
4092
5182
  VizBehavior["PLACEHOLDER"] = "placeholder";
4093
5183
  VizBehavior["PAGE_AND_SORT"] = "page-and-sort";
5184
+ VizBehavior["TRELLIS"] = "trellis";
4094
5185
  })(VizBehavior = exports.VizBehavior || (exports.VizBehavior = {}));
4095
5186
 
4096
5187
  /***/ }),
4097
5188
 
4098
- /***/ 66:
5189
+ /***/ 60:
5190
+ /***/ (function(module, exports) {
5191
+
5192
+ module.exports = require("@splunk/visualization-color-palettes/editors/PresetPalettes");
5193
+
5194
+ /***/ }),
5195
+
5196
+ /***/ 68:
4099
5197
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4100
5198
 
4101
5199
  "use strict";
@@ -4122,18 +5220,68 @@ VizStyleWrapper.displayName = 'VizStyleWrapper';
4122
5220
  /***/ 7:
4123
5221
  /***/ (function(module, exports) {
4124
5222
 
4125
- module.exports = require("@babel/runtime/helpers/defineProperty");
5223
+ module.exports = require("@babel/runtime/helpers/toConsumableArray");
4126
5224
 
4127
5225
  /***/ }),
4128
5226
 
4129
5227
  /***/ 74:
5228
+ /***/ (function(module, exports, __webpack_require__) {
5229
+
5230
+ "use strict";
5231
+
5232
+
5233
+ Object.defineProperty(exports, "__esModule", {
5234
+ value: true
5235
+ });
5236
+ exports.TrellisTitle = exports.TRELLIS_TITLE_HEIGHT = void 0;
5237
+
5238
+ var React = __webpack_require__(0);
5239
+
5240
+ var styled_components_1 = __webpack_require__(4);
5241
+
5242
+ exports.TRELLIS_TITLE_HEIGHT = 28;
5243
+ var TrellisTitleText = styled_components_1.default.div.withConfig({
5244
+ displayName: "TrellisTitle__TrellisTitleText",
5245
+ componentId: "sc-2cu404-0"
5246
+ })(["margin-left:10px;margin-right:10px;padding-top:8px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;"]);
5247
+ var TrellisTitleDiv = styled_components_1.default.div.withConfig({
5248
+ displayName: "TrellisTitle__TrellisTitleDiv",
5249
+ componentId: "sc-2cu404-1"
5250
+ })(["height:", "px;font-size:14px;font-weight:700;color:", ";background-color:", ";box-shadow:0 1px ", ";"], exports.TRELLIS_TITLE_HEIGHT, function (props) {
5251
+ return props.fontColor;
5252
+ }, function (props) {
5253
+ return props.backgroundColor;
5254
+ }, function (props) {
5255
+ return props.backgroundColor;
5256
+ });
5257
+
5258
+ var TrellisTitle = function TrellisTitle(props) {
5259
+ return React.createElement(TrellisTitleDiv, {
5260
+ fontColor: props.fontColor,
5261
+ backgroundColor: props.backgroundColor,
5262
+ "data-test": "trellis-title"
5263
+ }, React.createElement(TrellisTitleText, null, String(props.trellisKey).toString()));
5264
+ };
5265
+
5266
+ exports.TrellisTitle = TrellisTitle;
5267
+
5268
+ /***/ }),
5269
+
5270
+ /***/ 76:
5271
+ /***/ (function(module, exports) {
5272
+
5273
+ module.exports = require("@splunk/visualizations-shared/trellisUtils");
5274
+
5275
+ /***/ }),
5276
+
5277
+ /***/ 77:
4130
5278
  /***/ (function(module, exports) {
4131
5279
 
4132
5280
  module.exports = require("lodash/pick");
4133
5281
 
4134
5282
  /***/ }),
4135
5283
 
4136
- /***/ 75:
5284
+ /***/ 78:
4137
5285
  /***/ (function(module, exports) {
4138
5286
 
4139
5287
  module.exports = require("lodash/isEmpty");
@@ -4143,18 +5291,18 @@ module.exports = require("lodash/isEmpty");
4143
5291
  /***/ 8:
4144
5292
  /***/ (function(module, exports) {
4145
5293
 
4146
- module.exports = require("@babel/runtime/helpers/toConsumableArray");
5294
+ module.exports = require("@babel/runtime/helpers/defineProperty");
4147
5295
 
4148
5296
  /***/ }),
4149
5297
 
4150
- /***/ 81:
5298
+ /***/ 84:
4151
5299
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4152
5300
 
4153
5301
  "use strict";
4154
5302
  __webpack_require__.r(__webpack_exports__);
4155
5303
  /* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
4156
5304
  /* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__);
4157
- /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(19);
5305
+ /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(21);
4158
5306
  /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__);
4159
5307
 
4160
5308
 
@@ -4171,14 +5319,21 @@ var StaticBackgroundColorEditor = {
4171
5319
 
4172
5320
  /***/ }),
4173
5321
 
5322
+ /***/ 87:
5323
+ /***/ (function(module, exports) {
5324
+
5325
+ module.exports = require("@splunk/react-ui/Paginator");
5326
+
5327
+ /***/ }),
5328
+
4174
5329
  /***/ 9:
4175
5330
  /***/ (function(module, exports) {
4176
5331
 
4177
- module.exports = require("@splunk/themes/variables");
5332
+ module.exports = require("@splunk/visualizations-shared/Message");
4178
5333
 
4179
5334
  /***/ }),
4180
5335
 
4181
- /***/ 91:
5336
+ /***/ 95:
4182
5337
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4183
5338
 
4184
5339
  "use strict";
@@ -4186,7 +5341,7 @@ __webpack_require__.r(__webpack_exports__);
4186
5341
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getDynamicMajorColorEditor", function() { return getDynamicMajorColorEditor; });
4187
5342
  /* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
4188
5343
  /* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__);
4189
- /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(19);
5344
+ /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(21);
4190
5345
  /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__);
4191
5346
 
4192
5347
 
@@ -4194,7 +5349,7 @@ var getDynamicMajorColorEditor = function getDynamicMajorColorEditor(_ref) {
4194
5349
  var defaultContext = _ref.defaultContext,
4195
5350
  defaultPalettesConfig = _ref.defaultPalettesConfig;
4196
5351
  return {
4197
- label: Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__["_"])('Dynamic major value'),
5352
+ label: Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__["_"])('Major value'),
4198
5353
  option: 'majorColor',
4199
5354
  context: 'majorColorEditorConfig',
4200
5355
  editor: 'editor.dynamicColor',
@@ -4203,7 +5358,7 @@ var getDynamicMajorColorEditor = function getDynamicMajorColorEditor(_ref) {
4203
5358
  return Object(_splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__["isDynamicOption"])(options.majorColor);
4204
5359
  },
4205
5360
  editorProps: {
4206
- labelPosition: 'left',
5361
+ labelPosition: 'top',
4207
5362
  flyoutTitle: Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__["_"])('Dynamic coloring: major value'),
4208
5363
  formatters: [{
4209
5364
  label: Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__["_"])('Ranges'),
@@ -4229,7 +5384,7 @@ var getDynamicMajorColorEditor = function getDynamicMajorColorEditor(_ref) {
4229
5384
 
4230
5385
  /***/ }),
4231
5386
 
4232
- /***/ 92:
5387
+ /***/ 96:
4233
5388
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4234
5389
 
4235
5390
  "use strict";
@@ -4237,7 +5392,7 @@ __webpack_require__.r(__webpack_exports__);
4237
5392
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getDynamicTrendColorEditor", function() { return getDynamicTrendColorEditor; });
4238
5393
  /* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
4239
5394
  /* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__);
4240
- /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(19);
5395
+ /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(21);
4241
5396
  /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__);
4242
5397
 
4243
5398
 
@@ -4245,7 +5400,7 @@ var getDynamicTrendColorEditor = function getDynamicTrendColorEditor(_ref) {
4245
5400
  var defaultContext = _ref.defaultContext,
4246
5401
  defaultPalettesConfig = _ref.defaultPalettesConfig;
4247
5402
  return {
4248
- label: Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__["_"])('Dynamic trend value'),
5403
+ label: Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__["_"])('Trend value'),
4249
5404
  option: 'trendColor',
4250
5405
  context: 'trendColorEditorConfig',
4251
5406
  editor: 'editor.dynamicColor',
@@ -4254,7 +5409,7 @@ var getDynamicTrendColorEditor = function getDynamicTrendColorEditor(_ref) {
4254
5409
  return Object(_splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__["isDynamicOption"])(options.trendColor);
4255
5410
  },
4256
5411
  editorProps: {
4257
- labelPosition: 'left',
5412
+ labelPosition: 'top',
4258
5413
  flyoutTitle: Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__["_"])('Dynamic coloring: trend value'),
4259
5414
  formatters: [{
4260
5415
  label: Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__["_"])('Ranges'),
@@ -4274,7 +5429,7 @@ var getDynamicTrendColorEditor = function getDynamicTrendColorEditor(_ref) {
4274
5429
 
4275
5430
  /***/ }),
4276
5431
 
4277
- /***/ 93:
5432
+ /***/ 97:
4278
5433
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4279
5434
 
4280
5435
  "use strict";
@@ -4282,7 +5437,7 @@ __webpack_require__.r(__webpack_exports__);
4282
5437
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getDynamicBackgroundColorEditor", function() { return getDynamicBackgroundColorEditor; });
4283
5438
  /* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
4284
5439
  /* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__);
4285
- /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(19);
5440
+ /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(21);
4286
5441
  /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__);
4287
5442
 
4288
5443
 
@@ -4290,7 +5445,7 @@ var getDynamicBackgroundColorEditor = function getDynamicBackgroundColorEditor(_
4290
5445
  var defaultContext = _ref.defaultContext,
4291
5446
  defaultPalettesConfig = _ref.defaultPalettesConfig;
4292
5447
  return {
4293
- label: Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__["_"])('Dynamic background'),
5448
+ label: Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__["_"])('Background'),
4294
5449
  option: 'backgroundColor',
4295
5450
  context: 'backgroundColorEditorConfig',
4296
5451
  editor: 'editor.dynamicColor',
@@ -4299,7 +5454,7 @@ var getDynamicBackgroundColorEditor = function getDynamicBackgroundColorEditor(_
4299
5454
  return Object(_splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__["isDynamicOption"])(options.backgroundColor);
4300
5455
  },
4301
5456
  editorProps: {
4302
- labelPosition: 'left',
5457
+ labelPosition: 'top',
4303
5458
  flyoutTitle: Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__["_"])('Dynamic coloring: background'),
4304
5459
  formatters: [{
4305
5460
  label: Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__["_"])('Ranges'),
@@ -4329,7 +5484,7 @@ var getDynamicBackgroundColorEditor = function getDynamicBackgroundColorEditor(_
4329
5484
 
4330
5485
  /***/ }),
4331
5486
 
4332
- /***/ 94:
5487
+ /***/ 98:
4333
5488
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4334
5489
 
4335
5490
  "use strict";
@@ -4380,14 +5535,14 @@ var StaticMajorAndTrendLayout = [[{
4380
5535
 
4381
5536
  /***/ }),
4382
5537
 
4383
- /***/ 95:
5538
+ /***/ 99:
4384
5539
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4385
5540
 
4386
5541
  "use strict";
4387
5542
  __webpack_require__.r(__webpack_exports__);
4388
5543
  /* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
4389
5544
  /* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__);
4390
- /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(19);
5545
+ /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(21);
4391
5546
  /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__);
4392
5547
 
4393
5548
 
@@ -4402,34 +5557,6 @@ var StaticMajorColorEditor = {
4402
5557
  };
4403
5558
  /* harmony default export */ __webpack_exports__["default"] = (StaticMajorColorEditor);
4404
5559
 
4405
- /***/ }),
4406
-
4407
- /***/ 96:
4408
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
4409
-
4410
- "use strict";
4411
- __webpack_require__.r(__webpack_exports__);
4412
- /* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
4413
- /* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__);
4414
- /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(19);
4415
- /* harmony import */ var _splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__);
4416
-
4417
-
4418
- var StaticTrendColorEditor = {
4419
- label: Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__["_"])('Trend value'),
4420
- option: 'trendColor',
4421
- editor: 'editor.color',
4422
- showEditor: function showEditor(_ref) {
4423
- var options = _ref.options;
4424
- return !Object(_splunk_visualizations_shared_configUtils__WEBPACK_IMPORTED_MODULE_1__["isDynamicOption"])(options.trendColor);
4425
- },
4426
- isDisabled: function isDisabled(_ref2) {
4427
- var options = _ref2.options;
4428
- return options.trendDisplay === 'off';
4429
- }
4430
- };
4431
- /* harmony default export */ __webpack_exports__["default"] = (StaticTrendColorEditor);
4432
-
4433
5560
  /***/ })
4434
5561
 
4435
5562
  /******/ });