@splunk/visualizations 24.2.0 → 24.3.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 (215) hide show
  1. package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Orientation_horizontal_height_90_show_placeholder.png +0 -0
  2. package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Too_Small_to_Render.png +0 -0
  3. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_Tooltip_Dark.png +0 -0
  4. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_Tooltip_Hover.png +0 -0
  5. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_Tooltip_Light.png +0 -0
  6. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_base_map_light.png +0 -0
  7. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_basic.png +0 -0
  8. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_bubble_layer_dynamic_color.png +0 -0
  9. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_bubble_layer_geostats_by.png +0 -0
  10. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_bubble_layer_static_color.png +0 -0
  11. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_bubble_layer_static_color_with_no_seriesColors.png +0 -0
  12. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_center_seattle.png +0 -0
  13. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_marker_layer_dynamic_color.png +0 -0
  14. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_marker_layer_static_color.png +0 -0
  15. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_marker_layer_static_color_with_no_seriesColors.png +0 -0
  16. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_scale_off.png +0 -0
  17. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_scale_unit_metric.png +0 -0
  18. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_zoom_9.png +0 -0
  19. package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Invalid_ranges_duplicate_entries_from.png +0 -0
  20. package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Invalid_ranges_duplicate_entries_to.png +0 -0
  21. package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Invalid_ranges_invalid_entries_discontinuous_ranges.png +0 -0
  22. package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Invalid_ranges_invalid_entries_from_equals_to_to.png +0 -0
  23. package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Invalid_ranges_invalid_entries_from_is_larger_than_to.png +0 -0
  24. package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Invalid_ranges_missing_entries.png +0 -0
  25. package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Orientation_horizontal_width_150_show_placeholder.png +0 -0
  26. package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Too_Small_to_Render.png +0 -0
  27. package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_dimensions_less_than_minWidth_300_and_minHeight_200.png +0 -0
  28. package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_invalid_columns_data.png +0 -0
  29. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Map_Editor.png +0 -0
  30. package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Missing_Props_Message_When_No_Svg.png +0 -0
  31. package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Orientation_horizontal_height_90_show_placeholder.png +0 -0
  32. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Basic_Map.png +0 -0
  33. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer.png +0 -0
  34. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_By_GET.png +0 -0
  35. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_By_GET_Dynamic_Coloring.png +0 -0
  36. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_By_Static_Coloring.png +0 -0
  37. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_Dynamic_Coloring.png +0 -0
  38. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Marker_layer.png +0 -0
  39. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Marker_layer_Dynamic_coloring.png +0 -0
  40. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Marker_layer_Result_Limit_Set_To_3.png +0 -0
  41. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Marker_layer_with_geostats_data_No_render.png +0 -0
  42. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Set_Map_tiles.png +0 -0
  43. package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Missing_Column.png +0 -0
  44. package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Dimension_Too_Small.png +0 -0
  45. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_By_Type_Custom.png +0 -0
  46. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_Default.png +0 -0
  47. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_Kitchen_Sink.png +0 -0
  48. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_Right.png +0 -0
  49. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_Single_Column.png +0 -0
  50. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Background_Color_light_blue.png +0 -0
  51. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Background_No_Stripe.png +0 -0
  52. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Background_Stripe.png +0 -0
  53. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Basic_Table.png +0 -0
  54. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Basic_Table_With_No_Click.png +0 -0
  55. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Cell_Types.png +0 -0
  56. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Column_Gradient.png +0 -0
  57. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Column_Override.png +0 -0
  58. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Column_Width.png +0 -0
  59. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Count_2.png +0 -0
  60. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Custom_Header_Colors.png +0 -0
  61. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Custom_Row_Colors.png +0 -0
  62. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Custom_Stripe.png +0 -0
  63. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Dark_Background_No_Stripe.png +0 -0
  64. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Dark_Background_Stripe.png +0 -0
  65. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Format_Number.png +0 -0
  66. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Format_Number_Adv.png +0 -0
  67. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Header_Visibility_fixed.png +0 -0
  68. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Header_Visibility_none.png +0 -0
  69. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Height_Percentage.png +0 -0
  70. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Height_Percentage_100_no_paginator.png +0 -0
  71. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Invalid_Background_Color.png +0 -0
  72. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Multi_Value_Field.png +0 -0
  73. package/.loki/reference/chrome_docker_Visualizations_Table_Table_No_Stripes.png +0 -0
  74. package/.loki/reference/chrome_docker_Visualizations_Table_Table_No_Stripes_Row_Numbers.png +0 -0
  75. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Show_Internal_Fields_false.png +0 -0
  76. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Show_Internal_Fields_true_default.png +0 -0
  77. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Show_Row_Numbers_true.png +0 -0
  78. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparkline.png +0 -0
  79. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparkline_Custom.png +0 -0
  80. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparkline_Width.png +0 -0
  81. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparklines_Adv.png +0 -0
  82. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Table_Formatting.png +0 -0
  83. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Table_Gradient.png +0 -0
  84. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Time_Formatting.png +0 -0
  85. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Width_Height.png +0 -0
  86. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Width_Percentage.png +0 -0
  87. package/.loki/reference/chrome_docker_Visualizations_Table_Table_Width_Px.png +0 -0
  88. package/Area.config.js +15 -15
  89. package/Area.config.js.map +1 -1
  90. package/Area.js +108 -121
  91. package/Area.js.map +1 -1
  92. package/Bar.config.js +15 -15
  93. package/Bar.config.js.map +1 -1
  94. package/Bar.js +101 -114
  95. package/Bar.js.map +1 -1
  96. package/Bubble.config.js +8 -8
  97. package/Bubble.config.js.map +1 -1
  98. package/Bubble.js +94 -107
  99. package/Bubble.js.map +1 -1
  100. package/ChoroplethSvg.config.js +11 -9
  101. package/ChoroplethSvg.config.js.map +1 -1
  102. package/ChoroplethSvg.js +120 -131
  103. package/ChoroplethSvg.js.map +1 -1
  104. package/Column.config.js +15 -15
  105. package/Column.config.js.map +1 -1
  106. package/Column.js +101 -114
  107. package/Column.js.map +1 -1
  108. package/Ellipse.config.js +22 -2
  109. package/Ellipse.config.js.map +1 -1
  110. package/Ellipse.js +106 -99
  111. package/Ellipse.js.map +1 -1
  112. package/FillerGauge.config.js +8 -8
  113. package/FillerGauge.config.js.map +1 -1
  114. package/FillerGauge.js +107 -120
  115. package/FillerGauge.js.map +1 -1
  116. package/Image.js +81 -97
  117. package/Image.js.map +1 -1
  118. package/Line.config.js +8 -8
  119. package/Line.config.js.map +1 -1
  120. package/Line.js +101 -114
  121. package/Line.js.map +1 -1
  122. package/LinkGraph.config.js +4 -4
  123. package/LinkGraph.js +128 -141
  124. package/LinkGraph.js.map +1 -1
  125. package/Map.config.js +740 -0
  126. package/Map.config.js.map +1 -0
  127. package/Map.js +3137 -0
  128. package/Map.js.map +1 -0
  129. package/Markdown.config.js +12 -12
  130. package/Markdown.config.js.map +1 -1
  131. package/Markdown.js +99 -115
  132. package/Markdown.js.map +1 -1
  133. package/MarkerGauge.config.js +6 -6
  134. package/MarkerGauge.config.js.map +1 -1
  135. package/MarkerGauge.js +2953 -3060
  136. package/MarkerGauge.js.map +1 -1
  137. package/ParallelCoordinates.config.js +11 -11
  138. package/ParallelCoordinates.config.js.map +1 -1
  139. package/ParallelCoordinates.js +137 -139
  140. package/ParallelCoordinates.js.map +1 -1
  141. package/Pie.config.js +13 -13
  142. package/Pie.config.js.map +1 -1
  143. package/Pie.js +912 -1019
  144. package/Pie.js.map +1 -1
  145. package/Punchcard.config.js +11 -11
  146. package/Punchcard.config.js.map +1 -1
  147. package/Punchcard.js +153 -155
  148. package/Punchcard.js.map +1 -1
  149. package/README.internal.md +36 -3
  150. package/README.md +7 -9
  151. package/Rectangle.config.js +32 -12
  152. package/Rectangle.config.js.map +1 -1
  153. package/Rectangle.js +187 -183
  154. package/Rectangle.js.map +1 -1
  155. package/Sankey.config.js +35 -25
  156. package/Sankey.config.js.map +1 -1
  157. package/Sankey.js +2964 -3079
  158. package/Sankey.js.map +1 -1
  159. package/Scatter.config.js +11 -11
  160. package/Scatter.config.js.map +1 -1
  161. package/Scatter.js +231 -247
  162. package/Scatter.js.map +1 -1
  163. package/SingleValue.config.js +23 -22
  164. package/SingleValue.config.js.map +1 -1
  165. package/SingleValue.js +423 -439
  166. package/SingleValue.js.map +1 -1
  167. package/SingleValueBasic.js +20 -20
  168. package/SingleValueBasic.js.map +1 -1
  169. package/SingleValueIcon.config.js +33 -34
  170. package/SingleValueIcon.config.js.map +1 -1
  171. package/SingleValueIcon.js +176 -181
  172. package/SingleValueIcon.js.map +1 -1
  173. package/SingleValueRadial.config.js +22 -22
  174. package/SingleValueRadial.config.js.map +1 -1
  175. package/SingleValueRadial.js +389 -405
  176. package/SingleValueRadial.js.map +1 -1
  177. package/Table.config.js +19 -7
  178. package/Table.config.js.map +1 -1
  179. package/Table.js +522 -383
  180. package/Table.js.map +1 -1
  181. package/common/Charting.js +21 -22
  182. package/common/Charting.js.map +1 -1
  183. package/common/ChartingApi.js +2 -2
  184. package/common/ChartingApi.js.map +1 -1
  185. package/common/EventsDoc.js +14 -15
  186. package/common/EventsDoc.js.map +1 -1
  187. package/common/GaugeMajorTicks.js +2 -2
  188. package/common/GaugeMajorTicks.js.map +1 -1
  189. package/common/GaugeValueMarker.js +2 -2
  190. package/common/GaugeValueMarker.js.map +1 -1
  191. package/common/OptionsDoc.js +7 -8
  192. package/common/OptionsDoc.js.map +1 -1
  193. package/common/OverviewDoc.js +22 -22
  194. package/common/OverviewDoc.js.map +1 -1
  195. package/common/SplunkVisualization.js +4 -4
  196. package/common/SplunkVisualization.js.map +1 -1
  197. package/common/SplunkVisualizationApi.js +2 -2
  198. package/common/SplunkVisualizationApi.js.map +1 -1
  199. package/common/ThemesDoc.js +16 -16
  200. package/common/ThemesDoc.js.map +1 -1
  201. package/common/chartingUtils.js +4 -4
  202. package/common/chartingUtils.js.map +1 -1
  203. package/common/docUtils.js +4 -4
  204. package/common/docUtils.js.map +1 -1
  205. package/common/gaugeUtils.js +13 -13
  206. package/common/gaugeUtils.js.map +1 -1
  207. package/common/shapeUtils.js +8 -8
  208. package/common/shapeUtils.js.map +1 -1
  209. package/common/withDashboardViz.js +53 -68
  210. package/common/withDashboardViz.js.map +1 -1
  211. package/loki.config.js +2 -0
  212. package/package.json +19 -15
  213. package/common/version.js +0 -110
  214. package/common/version.js.map +0 -1
  215. package/scripts/generateVersion.js +0 -13
@@ -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 = 63);
90
+ /******/ return __webpack_require__(__webpack_require__.s = 62);
91
91
  /******/ })
92
92
  /************************************************************************/
93
93
  /******/ ({
@@ -106,7 +106,7 @@ module.exports = require("react");
106
106
 
107
107
  /***/ }),
108
108
 
109
- /***/ 16:
109
+ /***/ 17:
110
110
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
111
111
 
112
112
  "use strict";
@@ -141,17 +141,17 @@ __webpack_require__.r(__webpack_exports__);
141
141
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "lighten", function() { return lighten; });
142
142
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "darken", function() { return darken; });
143
143
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "handleValueClickCallback", function() { return handleValueClickCallback; });
144
- /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7);
144
+ /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8);
145
145
  /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);
146
146
  /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2);
147
147
  /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_1__);
148
148
  /* harmony import */ var _splunk_visualizations_shared_numberUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(22);
149
149
  /* harmony import */ var _splunk_visualizations_shared_numberUtils__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_splunk_visualizations_shared_numberUtils__WEBPACK_IMPORTED_MODULE_2__);
150
- /* harmony import */ var _splunk_visualizations_shared_domUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(45);
150
+ /* harmony import */ var _splunk_visualizations_shared_domUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(44);
151
151
  /* harmony import */ var _splunk_visualizations_shared_domUtils__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_splunk_visualizations_shared_domUtils__WEBPACK_IMPORTED_MODULE_3__);
152
- /* harmony import */ var _splunk_visualizations_shared_propUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(19);
152
+ /* harmony import */ var _splunk_visualizations_shared_propUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(18);
153
153
  /* harmony import */ var _splunk_visualizations_shared_propUtils__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_splunk_visualizations_shared_propUtils__WEBPACK_IMPORTED_MODULE_4__);
154
- /* harmony import */ var _splunk_visualizations_shared_colorConstants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(41);
154
+ /* harmony import */ var _splunk_visualizations_shared_colorConstants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(40);
155
155
  /* harmony import */ var _splunk_visualizations_shared_colorConstants__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_splunk_visualizations_shared_colorConstants__WEBPACK_IMPORTED_MODULE_5__);
156
156
 
157
157
 
@@ -1115,7 +1115,7 @@ var handleValueClickCallback = function handleValueClickCallback(ev, majorValue,
1115
1115
 
1116
1116
  /***/ }),
1117
1117
 
1118
- /***/ 19:
1118
+ /***/ 18:
1119
1119
  /***/ (function(module, exports) {
1120
1120
 
1121
1121
  module.exports = require("@splunk/visualizations-shared/propUtils");
@@ -1143,28 +1143,28 @@ module.exports = require("styled-components");
1143
1143
 
1144
1144
  /***/ }),
1145
1145
 
1146
- /***/ 41:
1146
+ /***/ 40:
1147
1147
  /***/ (function(module, exports) {
1148
1148
 
1149
1149
  module.exports = require("@splunk/visualizations-shared/colorConstants");
1150
1150
 
1151
1151
  /***/ }),
1152
1152
 
1153
- /***/ 44:
1153
+ /***/ 43:
1154
1154
  /***/ (function(module, exports) {
1155
1155
 
1156
1156
  module.exports = require("@babel/runtime/helpers/extends");
1157
1157
 
1158
1158
  /***/ }),
1159
1159
 
1160
- /***/ 45:
1160
+ /***/ 44:
1161
1161
  /***/ (function(module, exports) {
1162
1162
 
1163
1163
  module.exports = require("@splunk/visualizations-shared/domUtils");
1164
1164
 
1165
1165
  /***/ }),
1166
1166
 
1167
- /***/ 63:
1167
+ /***/ 62:
1168
1168
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1169
1169
 
1170
1170
  "use strict";
@@ -1175,7 +1175,7 @@ __webpack_require__.r(__webpack_exports__);
1175
1175
  __webpack_require__.d(__webpack_exports__, "SingleValueTrendValue", function() { return /* binding */ SingleValueTrendValue; });
1176
1176
 
1177
1177
  // EXTERNAL MODULE: external "@babel/runtime/helpers/extends"
1178
- var extends_ = __webpack_require__(44);
1178
+ var extends_ = __webpack_require__(43);
1179
1179
  var extends_default = /*#__PURE__*/__webpack_require__.n(extends_);
1180
1180
 
1181
1181
  // EXTERNAL MODULE: external "react"
@@ -1191,14 +1191,14 @@ var external_styled_components_ = __webpack_require__(4);
1191
1191
  var external_styled_components_default = /*#__PURE__*/__webpack_require__.n(external_styled_components_);
1192
1192
 
1193
1193
  // EXTERNAL MODULE: ./src/common/utils/singleValueUtils.js
1194
- var singleValueUtils = __webpack_require__(16);
1194
+ var singleValueUtils = __webpack_require__(17);
1195
1195
 
1196
1196
  // EXTERNAL MODULE: external "@splunk/react-icons/ArrowUp"
1197
- var ArrowUp_ = __webpack_require__(66);
1197
+ var ArrowUp_ = __webpack_require__(65);
1198
1198
  var ArrowUp_default = /*#__PURE__*/__webpack_require__.n(ArrowUp_);
1199
1199
 
1200
1200
  // EXTERNAL MODULE: external "@splunk/react-icons/ArrowDown"
1201
- var ArrowDown_ = __webpack_require__(67);
1201
+ var ArrowDown_ = __webpack_require__(66);
1202
1202
  var ArrowDown_default = /*#__PURE__*/__webpack_require__.n(ArrowDown_);
1203
1203
 
1204
1204
  // CONCATENATED MODULE: ./src/SingleValueBasic/TrendValue.jsx
@@ -1268,7 +1268,7 @@ TrendValue_SingleValueContent.propTypes = {
1268
1268
  };
1269
1269
  /* harmony default export */ var TrendValue = (TrendValue_SingleValueContent);
1270
1270
  // EXTERNAL MODULE: external "cssesc"
1271
- var external_cssesc_ = __webpack_require__(68);
1271
+ var external_cssesc_ = __webpack_require__(67);
1272
1272
  var external_cssesc_default = /*#__PURE__*/__webpack_require__.n(external_cssesc_);
1273
1273
 
1274
1274
  // CONCATENATED MODULE: ./src/SingleValueBasic/MajorValue.jsx
@@ -1453,28 +1453,28 @@ var SingleValueTrendValue = TrendValue;
1453
1453
 
1454
1454
  /***/ }),
1455
1455
 
1456
- /***/ 66:
1456
+ /***/ 65:
1457
1457
  /***/ (function(module, exports) {
1458
1458
 
1459
1459
  module.exports = require("@splunk/react-icons/ArrowUp");
1460
1460
 
1461
1461
  /***/ }),
1462
1462
 
1463
- /***/ 67:
1463
+ /***/ 66:
1464
1464
  /***/ (function(module, exports) {
1465
1465
 
1466
1466
  module.exports = require("@splunk/react-icons/ArrowDown");
1467
1467
 
1468
1468
  /***/ }),
1469
1469
 
1470
- /***/ 68:
1470
+ /***/ 67:
1471
1471
  /***/ (function(module, exports) {
1472
1472
 
1473
1473
  module.exports = require("cssesc");
1474
1474
 
1475
1475
  /***/ }),
1476
1476
 
1477
- /***/ 7:
1477
+ /***/ 8:
1478
1478
  /***/ (function(module, exports) {
1479
1479
 
1480
1480
  module.exports = require("@babel/runtime/helpers/defineProperty");
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"prop-types\"","webpack:///external \"react\"","webpack:///./src/common/utils/singleValueUtils.js","webpack:///external \"@splunk/visualizations-shared/propUtils\"","webpack:///external \"lodash\"","webpack:///external \"@splunk/visualizations-shared/numberUtils\"","webpack:///external \"styled-components\"","webpack:///external \"@splunk/visualizations-shared/colorConstants\"","webpack:///external \"@babel/runtime/helpers/extends\"","webpack:///external \"@splunk/visualizations-shared/domUtils\"","webpack:///./src/SingleValueBasic/TrendValue.jsx","webpack:///./src/SingleValueBasic/MajorValue.jsx","webpack:///./src/SingleValueBasic/SingleValueBasic.jsx","webpack:///external \"@splunk/react-icons/ArrowUp\"","webpack:///external \"@splunk/react-icons/ArrowDown\"","webpack:///external \"cssesc\"","webpack:///external \"@babel/runtime/helpers/defineProperty\""],"names":["DEFAULT_FONT","DEFAULT_FONT_FAMILY","SVR_PADDING","top","bottom","left","right","shouldShowTrend","trendDisplay","isLoadingOrNoColumns","data","get","noColumns","loading","getFormattedColor","formatColor","hasBackground","backgroundColor","isIdenticalColor","colorA","colorB","getDefaultColorWithBg","defaultFontColor","defaultBlockFontColor","getMajorColor","majorColor","getTrendColor","trendColor","trendValue","majorValue","customizedBgColor","defaultColors","Number","defaultBackgroundColor","isInvalidTrend","parseFloat","computeColors","props","backgroundEnabled","underLabelColor","computeText","value","numberPrecision","shouldUseThousandSeparators","shouldAbbreviateTrendValue","text","formatNumber","useThousandSeparators","useTrendUnits","getMajorText","getTrendText","compute","isNumerial","showPercent","diff","Math","val","computeFontSize","width","height","fontFamily","fontWeight","widthInDefaultFont","computeTextSize","fontSize","parseInt","getMajorFontSize","unit","majorText","spaceRatio","majorTextCalc","getTrendFontSize","trendText","trendFontSize","getUnderLabelHeight","getUnderLabel","underLabel","getMajorAndTrend","majorFontSize","majorTextSpaceRatio","textContentWidth","textContentHeight","majorTextFontSize","trendTextFontSize","updateVizInSmallSpace","toRemoveList","removeIndex","newProps","newMajorAndTrend","newTextSize","toRemove","truncateValue","updatedProps","computeSingleValueContent","contentWidth","contentHeight","containerWidth","containerHeight","majorValueTitle","smallVizProps","minimallyTruncateStringToWidth","textWidth","modifiedText","ellipsesLength","computeSingleValueRadialContent","smallViz","getGraphColors","customColorFormatter","adjustRGB","rgb","changeColor","hex","color","r","g","b","newR","newG","newB","ratio","lighten","darken","handleValueClickCallback","payload","name","majorValueField","onValueClick","Column","styled","Text","SingleValueContent","TrendIndicator","T","string","Row","validUnitPositions","unitPosition","title","sanitizedUnit","cssesc","wrap","quotes","sanitizedUnitPosition","func","SingleValueBasic","showTrendIndicator","underLabelFontSize","trendIndicatorEnabled","SingleValueTrendValue"],"mappings":"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","file":"SingleValueBasic.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 63);\n","module.exports = require(\"prop-types\");","module.exports = require(\"react\");","import { get } from 'lodash';\nimport { isNumerial, formatNumber } from '@splunk/visualizations-shared/numberUtils';\nimport { computeTextSize } from '@splunk/visualizations-shared/domUtils';\nimport { formatColor } from '@splunk/visualizations-shared/propUtils';\nimport { DELTA_GREEN, DELTA_RED } from '@splunk/visualizations-shared/colorConstants';\n\nexport const DEFAULT_FONT = 12;\nexport const DEFAULT_FONT_FAMILY =\n '\"Splunk Platform Sans\", \"Proxima Nova\", \"Helvetica Neue\", Helvetica, Arial, sans-serif';\n\nexport const SVR_PADDING = { top: 12, bottom: 12, left: 16, right: 16 };\n\n/**\n * @method shouldShowTrend\n * @param {String} trendDisplay\n * @returns {Bool}\n */\nexport const shouldShowTrend = trendDisplay => trendDisplay === 'absolute' || trendDisplay === 'percent';\n\n/**\n * @method isLoadingOrNoColumns\n * @param {Object} dataSources\n * @param {Boolean} loading\n * @returns {Boolean} return true if loading or without columns in dataSources\n */\nexport const isLoadingOrNoColumns = (dataSources, loading) => {\n const data = get(dataSources, 'primary.data.columns[0]', undefined);\n const noColumns = data === undefined;\n return loading || noColumns;\n};\n\n/**\n * Retrieve the valid formatted color\n * @method getFormattedColor\n * @param {String} color\n * @param {String} defaultColor\n * @returns {String} the formatted color\n */\nexport const getFormattedColor = (color, defaultColor) => formatColor(color) || formatColor(defaultColor);\n\n/**\n * Determines if there is a background color\n * @method hasBackground\n * @param {String} backgroundColor\n * @returns true for non-transparent background color\n */\nexport const hasBackground = backgroundColor => !!backgroundColor && backgroundColor !== 'transparent';\n\n/**\n * @method isIdenticalColor\n * @param {String} colorA\n * @param {String} colorB\n * @returns {Boolean}\n */\nexport const isIdenticalColor = (colorA, colorB) =>\n !!colorA && !!colorB && formatColor(colorA.toLowerCase()) === formatColor(colorB.toLowerCase());\n\n/*\n * @method getDefaultColorWithBg\n * @param {Object} props\n * @param {String} props.backgroundColor\n * @param {String} props.defaultFontColor\n * @param {String} props.defaultBlockFontColor\n * @returns {String} defaultColor\n */\nexport const getDefaultColorWithBg = ({ backgroundColor, defaultFontColor, defaultBlockFontColor }) =>\n isIdenticalColor(backgroundColor, defaultBlockFontColor) ? defaultFontColor : defaultBlockFontColor;\n\n/*\n * @method getMajorColor\n * return formatted majorColor.\n * @param {Object} props\n * @param {String} props.majorColor\n * @param {String} props.backgroundColor\n * @param {String} props.defaultFontColor\n * @param {String} props.defaultBlockFontColor\n * @returns {String} majorColor\n */\nexport const getMajorColor = ({ majorColor, backgroundColor, defaultFontColor, defaultBlockFontColor }) => {\n // If backgroundColor is set, but no majorColor,\n // the default majorColor will turn to be defaultBlockFontColor.\n // eg: major color will turn to be white in enterprise mode.\n // however, if the bgColor is the same as defaultBlockFontColor, use defaultFontColor.\n if (hasBackground(backgroundColor) && !majorColor) {\n return getDefaultColorWithBg({\n backgroundColor,\n defaultFontColor,\n defaultBlockFontColor,\n });\n }\n\n return getFormattedColor(majorColor, defaultFontColor);\n};\n\n/**\n * Get the color for the trend components\n * @method getTrendColor\n * @param {Object} props\n * @param {String} props.trendColor The trendColor value determined from encoding\n * @param {Number} props.trendValue\n * @param {Number} props.majorValue\n * @param {String} props.customizedBgColor\n * @param {String} props.trendDisplay absolute || percent || off\n * @param {Object} defaultColors\n * @returns {String} trendColor\n */\nexport const getTrendColor = ({\n trendColor,\n trendValue,\n majorValue,\n customizedBgColor,\n trendDisplay,\n defaultColors,\n}) => {\n if (trendColor) {\n return trendColor;\n }\n\n if (Number.isNaN(Number(trendValue))) {\n return undefined;\n }\n\n const { defaultFontColor, defaultBlockFontColor, defaultBackgroundColor } = defaultColors;\n\n // if user defined a backgroundColor, the default trend color will be defaultBlockFontColor\n if (\n hasBackground(customizedBgColor) &&\n !isIdenticalColor(customizedBgColor, defaultBackgroundColor) &&\n !isIdenticalColor(customizedBgColor, defaultBlockFontColor)\n ) {\n return defaultBlockFontColor;\n }\n\n // if trendDisplay is percent, and trendValue === value\n // the trend percent = trendValue / (value - trendValue) will return Infinity\n const isInvalidTrend = trendDisplay === 'percent' && trendValue === parseFloat(majorValue);\n\n if (trendValue === 0 || isInvalidTrend) {\n return defaultFontColor;\n }\n\n return trendValue > 0 ? DELTA_GREEN : DELTA_RED;\n};\n\n/**\n * Computes visualization properties for display component\n * @method computeColors\n * @param {Object} props all viz props\n * @param {Object} defaultColors defaultColors from theme\n * @returns {Object} result\n * @returns {Boolean} backgroundEnabled\n * @returns {String} backgroundColor\n * @returns {String} majorColor\n * @returns {String} trendColor\n * @returns {String} underLabelColor\n */\nexport const computeColors = (props, defaultColors) => {\n const backgroundColor = getFormattedColor(props.backgroundColor, defaultColors.defaultBackgroundColor);\n const backgroundEnabled = hasBackground(backgroundColor);\n const majorColor = getMajorColor({\n majorColor: props.majorColor,\n backgroundColor,\n defaultFontColor: defaultColors.defaultFontColor,\n defaultBlockFontColor: defaultColors.defaultBlockFontColor,\n });\n const trendColor = getTrendColor({\n trendColor: props.trendColor,\n trendValue: props.trendValue,\n majorValue: props.majorValue,\n customizedBgColor: props.backgroundColor,\n trendDisplay: props.trendDisplay,\n defaultColors,\n });\n // todo: need change it to not depend on majorColor\n const underLabelColor = backgroundEnabled ? majorColor : defaultColors.defaultFontColor;\n\n return {\n backgroundColor,\n backgroundEnabled,\n majorColor,\n trendColor,\n underLabelColor,\n };\n};\n\n/**\n * Format and return the value (major/trend)\n * @method computeText\n * @param {Object} props\n * @param {Number} props.value // The major/trend value\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @param {Bool} props.shouldAbbreviateTrendValue\n * @returns {Number} major or trend text\n */\nexport const computeText = ({\n value,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n}) => {\n let text = isNumerial(value)\n ? formatNumber(value, numberPrecision, {\n useThousandSeparators: shouldUseThousandSeparators, // todo: need update formatNumber\n useTrendUnits: shouldAbbreviateTrendValue,\n })\n : value;\n // When text is undefined, return empty string\n text = text || '';\n return text;\n};\n\n/*\n * @method getMajorText\n * @param {Object} props\n * @param {Number} props.majorValue\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @returns {String} majorText\n */\nexport const getMajorText = ({ majorValue, numberPrecision, shouldUseThousandSeparators }) =>\n computeText({\n value: majorValue === null ? 'N/A' : majorValue, // if majorValue is null, use `N/A`.\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue: false,\n });\n\n/*\n * @method getTrendText\n * @param {Object} props\n * @param {Number} props.majorValue\n * @param {Number} props.trendValue\n * @param {String} props.trendDisplay\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @param {Bool} props.shouldAbbreviateTrendValue\n * @returns {String} trendText\n */\nexport const getTrendText = ({\n majorValue,\n trendValue,\n trendDisplay,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n}) => {\n const compute = value =>\n computeText({\n value,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n });\n\n if (trendValue === '' || !isNumerial(trendValue)) {\n return '';\n }\n const showPercent = trendDisplay === 'percent';\n if (!showPercent) {\n return compute(trendValue);\n }\n\n const diff = Math.abs(trendValue - majorValue);\n let val = Math.round((trendValue / diff) * 100);\n if (trendValue === 0 && diff === 0) {\n val = 0;\n }\n\n if (!Number.isFinite(val)) {\n return 'N/A';\n }\n const text = compute(val);\n\n return `${text}%`;\n};\n\n/**\n * Helper to determine the font size for an element\n * @method computeFontSize\n * @param {String} text The string to find a size for\n * @param {Object} dimensions\n * @param {Number} dimensions.width The width of the container\n * @param {Number} dimensions.height The height of the container\n * @param {String} [fontFamily='\"Splunk Platform Sans\" ...'] The font being used\n * @param {String} [fontWeight='normal'] Boldness of font\n * @returns {Number} The size to use for fontSize styles\n */\nexport const computeFontSize = (\n text,\n { width, height },\n fontFamily = DEFAULT_FONT_FAMILY,\n fontWeight = 'normal'\n) => {\n const widthInDefaultFont = computeTextSize(text, `${fontWeight} ${DEFAULT_FONT}px ${fontFamily}`);\n const fontSize = Math.min(\n (width / widthInDefaultFont) * DEFAULT_FONT,\n (height / DEFAULT_FONT) * DEFAULT_FONT\n );\n return parseInt(fontSize, 10);\n};\n\n/*\n * @method getMajorFontSize\n * @param {Object} props\n * @param {Number} props.width\n * @param {Number} props.height\n * @param {String} props.unit\n * @param {String} props.majorText\n * @param {Number} props.spaceRatio\n * @returns {Number} majorFontSize\n */\nexport const getMajorFontSize = ({ width, height, unit, majorText, spaceRatio = 1 }) => {\n const majorTextCalc = unit ? `${unit}${majorText}` : majorText;\n return computeFontSize(majorTextCalc, {\n width: width * spaceRatio,\n height,\n });\n};\n\n/*\n * @method getTrendFontSize\n * @param {Object} props\n * @param {Number} props.width\n * @param {Number} props.height\n * @param {String} props.trendText\n * @param {Number} props.spaceRatio\n * @returns {Number} trendFontSize\n */\nexport const getTrendFontSize = ({ width, height, trendText, spaceRatio = 1 }) => {\n let trendFontSize = 12;\n if (spaceRatio > 0) {\n trendFontSize = computeFontSize(trendText, {\n width: width * spaceRatio,\n height,\n });\n trendFontSize = parseInt(trendFontSize, 10) * spaceRatio;\n }\n return trendFontSize;\n};\n\n/*\n * The height of underLabel should no more than 12px\n * @param {Number} height\n * @return {Number} height || DEFAULT_FONT\n */\nexport const getUnderLabelHeight = height => (height > DEFAULT_FONT ? DEFAULT_FONT : height);\n\n/*\n * @param {Object} config\n * @param {String} underLabel\n * @param {Number} width width of underLabel\n * @param {Number} height height of underLabel\n * @param {Number} fond size of underLabel\n */\nexport const getUnderLabel = ({ underLabel, width, height }) =>\n // todo: may need truncate underLabel later\n computeFontSize(underLabel, {\n width,\n height,\n });\n\n/**\n * Compute value and font size for major and trend\n * @method getMajorAndTrend\n * @param {Object} props\n * @param {Number} props.width // Width of the text container\n * @param {Number} props.height // Height of the text container\n * @param {Number} props.majorValue // Major value\n * @param {Number} props.trendValue // Trend value\n * @param {Number} props.majorFontSize\n * @param {Number} props.trendFontSize\n * @param {String} props.trendDisplay\n * @param {String} props.unit // Unit for the value\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @param {Bool} props.shouldAbbreviateTrendValue\n * @returns {Number, Number, Number, Number} Major text, trend text, major text size, trend text size\n */\nexport const getMajorAndTrend = ({\n width,\n height,\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n trendDisplay,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n}) => {\n const majorTextSpaceRatio = isNumerial(trendValue) && shouldShowTrend(trendDisplay) ? 0.6 : 1;\n const textContentWidth = width * 0.9;\n const textContentHeight = height * 0.9;\n const majorText = getMajorText({ majorValue, numberPrecision, shouldUseThousandSeparators });\n const majorTextFontSize =\n majorFontSize ||\n getMajorFontSize({\n width: textContentWidth,\n height: textContentHeight,\n unit,\n majorText,\n spaceRatio: majorTextSpaceRatio,\n });\n const trendText = getTrendText({\n majorValue,\n trendValue,\n trendDisplay,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n });\n\n const trendTextFontSize =\n trendFontSize ||\n getTrendFontSize({\n width: textContentWidth,\n height: textContentHeight,\n trendText,\n spaceRatio: 1 - majorTextSpaceRatio,\n });\n\n return {\n majorText,\n majorTextFontSize,\n trendText,\n trendTextFontSize,\n };\n};\n\n/*\n * @method updateVizInSmallSpace\n * @param {Object} props\n * @param {Number} props.width // Width of the text container\n * @param {Number} props.height // Height of the text container\n * @param {Object} props.toRemoveList\n * @param {Number} props.majorValue // Major value\n * @param {Number} props.trendValue // Trend value\n * @param {Number} props.majorFontSize\n * @param {Number} props.trendFontSize\n * @param {Number} props.majorTextFontSize\n * @param {String} props.unit // Unit for the value\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @param {Bool} props.shouldAbbreviateTrendValue\n * @returns {Object} results\n * @returns {Object} results.newMajorAndTrend\n * @returns {Object} results.updatedProps\n */\nexport const updateVizInSmallSpace = ({\n width,\n height,\n toRemoveList,\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n majorTextFontSize,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n}) => {\n let removeIndex = 0;\n let newProps = {}; // options need to be updated\n let newMajorAndTrend = {};\n let newTextSize = majorTextFontSize;\n\n // remove info on viz to make textFontSize >= 12px;\n while (newTextSize < 12 && removeIndex < toRemoveList.length) {\n const toRemove = toRemoveList[removeIndex];\n newProps = {\n ...newProps,\n ...{\n [toRemove.key]: toRemove.value,\n },\n };\n\n newMajorAndTrend = getMajorAndTrend({\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n width,\n height,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n ...newProps,\n });\n\n newTextSize = newMajorAndTrend.majorTextFontSize;\n removeIndex += 1;\n }\n\n // truncate text if textFontSize is still less than 12\n if (newTextSize < 12) {\n const truncateValue = `${majorValue.toString().slice(0, 3)}...`;\n newMajorAndTrend = getMajorAndTrend({\n majorValue: truncateValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n width,\n height,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n ...newProps,\n });\n }\n\n return { newMajorAndTrend, updatedProps: newProps };\n};\n\n/*\n * @method computeSingleValueContent\n * @param {Object} props\n * @param {Number} props.contentWidth\n * @param {Number} props.contentHeight\n * @param {Number} props.containerWidth\n * @param {Number} props.containerHeight\n * @param {Number} props.majorValue // Major value\n * @param {Number} props.trendValue // Trend value\n * @param {Number} props.majorFontSize\n * @param {Number} props.trendFontSize\n * @param {String} props.trendDisplay\n * @param {String} props.unit // Unit for the value\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @param {Bool} props.shouldAbbreviateTrendValue\n * @param {Object} props.toRemoveList\n * @returns {Object} results\n * @returns {String} results.majorText\n * @returns {String} results.trendText\n * @returns {Number} results.majorTextFontSize\n * @returns {Number} results.trendTextFontSize\n * @returns {String} results.majorValueTitle\n * @returns {Object} results.smallVizProps\n */\nexport const computeSingleValueContent = ({\n contentWidth,\n contentHeight,\n containerWidth,\n containerHeight,\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n trendDisplay,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n toRemoveList,\n}) => {\n let { majorText, trendText, majorTextFontSize, trendTextFontSize } = getMajorAndTrend({\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n trendDisplay,\n width: contentWidth,\n height: contentHeight,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n });\n const majorValueTitle = majorText;\n let smallVizProps = {};\n\n // update viz in small space\n // if textFontSize is less than 12, remove extra info like sparkline, trendvalue, unit\n // or truncate major value to make the major font size >= 12\n if (majorTextFontSize < 12) {\n const { newMajorAndTrend, updatedProps } = updateVizInSmallSpace({\n width: containerWidth,\n height: containerHeight,\n toRemoveList,\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n majorTextFontSize,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n });\n\n ({ majorText, trendText, majorTextFontSize, trendTextFontSize } = newMajorAndTrend);\n smallVizProps = updatedProps;\n }\n return {\n majorText,\n trendText,\n majorTextFontSize,\n trendTextFontSize,\n majorValueTitle,\n smallVizProps,\n };\n};\n\nexport const minimallyTruncateStringToWidth = ({\n text,\n fontSize = DEFAULT_FONT,\n fontFamily = DEFAULT_FONT_FAMILY,\n fontWeight = 'normal',\n containerWidth,\n}) => {\n let textWidth = computeTextSize(text, `${fontWeight} ${fontSize}px ${fontFamily}`);\n let modifiedText = text;\n\n const ellipsesLength = computeTextSize('...', `${fontWeight} ${fontSize}px ${fontFamily}`);\n // `containerWidth - ellipsesLength > 0` condition ensures space even exists for text.\n if (containerWidth - ellipsesLength > 0 && textWidth > containerWidth) {\n // Truncates the content such that the truncated value + ellipses fit within the allocated space for the ellipses.\n // `textWidth > containerWidth - ellipsesLength` condition checks if text + ellipses exceeds container width.\n // `text.length > 1` condition included to keep at least the first number.\n while (textWidth + ellipsesLength > containerWidth && modifiedText.length > 1) {\n modifiedText = modifiedText.substring(0, modifiedText.length - 1);\n textWidth = computeTextSize(modifiedText, `normal ${fontSize}px ${fontFamily}`);\n }\n\n modifiedText = `${modifiedText}...`;\n }\n\n return modifiedText;\n};\n\n/*\n * @method computeSingleValueRadialContent\n * @param {Object} props\n * @param {Number} props.contentWidth\n * @param {Number} props.contentHeight\n * @param {Number} props.containerWidth\n * @param {Number} props.containerHeight\n * @param {Number} props.majorValue // Major value\n * @param {Number} props.trendValue // Trend value\n * @param {Number} props.majorFontSize\n * @param {Number} props.trendFontSize\n * @param {String} props.trendDisplay\n * @param {String} props.unit // Unit for the value\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @param {Bool} props.shouldAbbreviateTrendValue\n * @param {Object} props.toRemoveList\n * @param {Bool} props.smallViz\n * @returns {Object} results\n * @returns {String} results.majorText\n * @returns {String} results.trendText\n * @returns {Number} results.majorTextFontSize\n * @returns {Number} results.trendTextFontSize\n * @returns {String} results.majorValueTitle\n * @returns {Object} results.smallVizProps\n */\nexport const computeSingleValueRadialContent = ({\n contentWidth,\n contentHeight,\n containerWidth,\n containerHeight,\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n trendDisplay,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n smallViz,\n}) => {\n let { majorText, trendText, majorTextFontSize, trendTextFontSize } = getMajorAndTrend({\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n trendDisplay,\n width: contentWidth,\n height: contentHeight,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n });\n\n const majorValueTitle = majorText;\n let smallVizProps = {};\n\n // custom logic for viz in small space\n // if not showing the radial graph (if `smallViz` is true), then compute truncated major value\n // and font sizes\n if (smallViz) {\n const truncateValue = minimallyTruncateStringToWidth({\n text: majorValue,\n fontWeight: 'bold',\n fontSize: 12,\n containerWidth,\n });\n\n ({ majorText, trendText, majorTextFontSize, trendTextFontSize } = getMajorAndTrend({\n majorValue: truncateValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n width: containerWidth,\n height: containerHeight,\n unit,\n trendDisplay,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n }));\n\n smallVizProps = {\n trendDisplay,\n unit,\n };\n }\n\n return {\n majorText,\n trendText,\n majorTextFontSize,\n trendTextFontSize,\n majorValueTitle,\n smallVizProps,\n };\n};\n\n/**\n * Get the colors for a graph\n *\n * @method getGraphColors\n * @param {Object} options\n * @param {Bool} options.backgroundEnabled // Flag to turn on color mode\n * @param {String} options.backgroundColor // The current background color, overrides trend background color\n * @param {Object} options.defaultColors // Default colors by severity\n * @param {Function} options.customColorFormatter // must return { background, stroke } given a color\n * @returns {Object} { background, stroke } colors\n * @private\n */\nexport const getGraphColors = ({\n backgroundEnabled,\n backgroundColor,\n defaultColors,\n customColorFormatter,\n}) => {\n // Only do custom colors in block mode\n if (backgroundEnabled) {\n // Check if the user defined colors to use\n if (backgroundColor && typeof customColorFormatter === 'function') {\n return customColorFormatter(backgroundColor);\n }\n }\n\n return defaultColors.none;\n};\n\n/**\n * Adjust rgb value if it equals to 0 or 255\n * @method adjustRGB\n * @param {Number} rgb [0 - 255]\n * @param {Number} delta\n * @returns {Number} adjusted rgb\n * @private\n */\nexport const adjustRGB = (rgb, delta) => {\n if (rgb === 255) {\n return rgb - delta;\n }\n\n if (rgb === 0) {\n return rgb + delta;\n }\n\n return rgb;\n};\n\n/**\n * Modifies colors by multiplying by a given ratio\n * @method changeColor\n * @param {String} color // Color to modify\n * @param {Number} ratio // Float to modify color\n * @returns {String} new color\n * @private\n */\nconst changeColor = (color, ratio) => {\n const hex = color.replace(/(0x|#)/, '');\n const r = parseInt(hex.substr(0, 2), 16);\n const g = parseInt(hex.substr(2, 2), 16);\n const b = parseInt(hex.substr(4, 2), 16);\n\n // Multiply by given ratio, make sure is between 0 and 255;\n let newR = Math.max(Math.min(Math.floor(r * ratio), 255), 0);\n let newG = Math.max(Math.min(Math.floor(g * ratio), 255), 0);\n let newB = Math.max(Math.min(Math.floor(b * ratio), 255), 0);\n\n // If the color is not changed\n // case 1: the color is (0, 0 0)\n // lighten color (80, 80, 80)\n // darken color (40, 40, 40)\n // case 2: the color is (255, 255, 255)\n // lighten color (235, 235, 235)\n // darken color (175, 175, 175)\n // case 3: the color is e.g. (0, 255, 0)\n // new color (20, 235, 20)\n if (newR === r && newG === g && newB === b) {\n if (newR === 0 && newG === 0 && newB === 0) {\n if (ratio > 1) {\n newR = adjustRGB(newR, 80);\n newG = adjustRGB(newG, 80);\n newB = adjustRGB(newB, 80);\n } else {\n newR = adjustRGB(newR, 40);\n newG = adjustRGB(newG, 40);\n newB = adjustRGB(newB, 40);\n }\n } else if (newR === 255 && newG === 255 && newB === 255) {\n if (ratio > 1) {\n newR = adjustRGB(newR, 20);\n newG = adjustRGB(newG, 20);\n newB = adjustRGB(newB, 20);\n } else {\n newR = adjustRGB(newR, 80);\n newG = adjustRGB(newG, 80);\n newB = adjustRGB(newB, 80);\n }\n } else {\n newR = adjustRGB(newR, 20);\n newG = adjustRGB(newG, 20);\n newB = adjustRGB(newB, 20);\n }\n }\n\n return (\n `#${newR.toString(16).padStart(2, 0)}` +\n `${newG.toString(16).padStart(2, 0)}` +\n `${newB.toString(16).padStart(2, 0)}`\n );\n};\n\n/**\n * Lighten a given color\n * @method lighten\n * @param {String} color\n * @returns {String}\n * @private\n */\nexport const lighten = color => changeColor(color, 1.3);\n\n/**\n * Darkens a given color\n * @method darken\n * @param {String} color\n * @returns {String}\n * @private\n */\nexport const darken = color => changeColor(color, 0.5);\n\n/** consistent token structure: handle callback to add value and name in event payload\n * @method handleValueClickCallback\n * @param {Object} ev\n * @param {String | Number} majorValue\n * @param {String} majorValueField\n * @param {Number} trendValue\n * @param {Function} onValueClick\n */\nexport const handleValueClickCallback = (ev, majorValue, majorValueField, trendValue, onValueClick) => {\n const payload = {\n trendValue,\n value: majorValue,\n name: majorValueField,\n };\n\n return onValueClick({ ...ev, payload });\n};\n","module.exports = require(\"@splunk/visualizations-shared/propUtils\");","module.exports = require(\"lodash\");","module.exports = require(\"@splunk/visualizations-shared/numberUtils\");","module.exports = require(\"styled-components\");","module.exports = require(\"@splunk/visualizations-shared/colorConstants\");","module.exports = require(\"@babel/runtime/helpers/extends\");","module.exports = require(\"@splunk/visualizations-shared/domUtils\");","import React from 'react';\nimport T from 'prop-types';\nimport styled from 'styled-components';\nimport ArrowUp from '@splunk/react-icons/ArrowUp';\nimport ArrowDown from '@splunk/react-icons/ArrowDown';\nimport { DEFAULT_FONT_FAMILY } from '../common/utils/singleValueUtils';\n\nconst Column = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: ${props => props.justify || 'flex-end'};\n height: ${props => props.size || 12}px;\n ${props => (props.size ? `margin: 0 ${parseInt(props.size, 10) * 0.2 || 5}px;` : '')};\n`;\n\nconst Text = styled.div`\n white-space: nowrap;\n font-size: ${props => props.size || 12}px;\n color: ${props => props.color || '#000'};\n font-family: ${DEFAULT_FONT_FAMILY};\n height: ${props => props.size || 12}px;\n line-height: ${props => props.size || 12}px;\n display: flex;\n align-self: baseline;\n ${props => (props.size ? `margin-left: ${parseInt(props.size, 10) * 0.2 || 5}px;` : '')};\n`;\n\nconst SingleValueContent = ({ fontSize, color, value, text }) => {\n let TrendIndicator = false;\n\n if (parseFloat(value, 10) > 0) {\n TrendIndicator = ArrowUp;\n } else if (parseFloat(value, 10) < 0) {\n TrendIndicator = ArrowDown;\n }\n\n return (\n <Column justify=\"flex-end\" size={fontSize}>\n <Text data-test=\"trendValueIndicator\" size={fontSize} color={color}>\n {TrendIndicator && <TrendIndicator />}\n </Text>\n <Text data-test=\"trendValue\" size={fontSize} color={color}>\n {`${text}`}\n </Text>\n </Column>\n );\n};\n\nSingleValueContent.propTypes = {\n fontSize: T.number,\n color: T.string,\n value: T.oneOfType([T.string, T.number]),\n text: T.string,\n};\n\nexport default SingleValueContent;\n","import React from 'react';\nimport T from 'prop-types';\nimport styled from 'styled-components';\nimport cssesc from 'cssesc';\nimport { DEFAULT_FONT_FAMILY } from '../common/utils/singleValueUtils';\n\nconst Row = styled.div`\n display: flex;\n flex-direction: row;\n align: flex-start;\n align-items: flex-end;\n justify: left;\n justify-content: left;\n line-height: ${props => props.size}px;\n height: ${props => props.size}px;\n`;\n\nconst Text = styled.div`\n white-space: nowrap;\n font-size: ${props => props.size || 12}px;\n color: ${props => props.color};\n font-family: ${DEFAULT_FONT_FAMILY};\n font-weight: bold;\n &:hover {\n text-decoration: ${props => (props.showUnderline ? 'underline' : 'inherit')};\n cursor: ${props => (props.showUnderline ? 'pointer' : 'inherit')};\n }\n ${props => {\n if (!props.pseudoContent || !props.pseudoContentPosition) {\n return '';\n }\n return `&:${props.pseudoContentPosition} {\n // by default this pseudo element would inherit text-decoration from main element\n // and text-decoration could not be overwritten.\n // adding display: inline-block makes text decoration independent from main element.\n // => the unit will not be underlined if a user hovers over the main value\n display: inline-block;\n font-size: ${props.pseudoContentFontSize}px;\n vertical-align: text-top;\n position: relative;\n top: 5px; // magic number to tweak vertical alignment of unit\n font-weight: normal;\n content: ${props.pseudoContent};\n }`;\n }}\n`;\n\nconst validUnitPositions = ['before', 'after'];\n\nconst SingleValueContent = ({ color, fontSize, unitPosition, title, value, onValueClick, unit }) => {\n let sanitizedUnit;\n let sanitizedUnitPosition;\n\n if (typeof unit === 'string') {\n sanitizedUnit = cssesc(unit, { wrap: true, quotes: 'double' });\n if (typeof unitPosition === 'string' && validUnitPositions.includes(unitPosition)) {\n sanitizedUnitPosition = unitPosition;\n } else {\n sanitizedUnitPosition = 'after';\n }\n }\n\n return (\n <Row size={fontSize}>\n <Text\n data-test=\"majorValue\"\n color={color}\n onClick={e => typeof onValueClick === 'function' && onValueClick(e)}\n showUnderline={!!onValueClick}\n size={fontSize}\n title={title}\n pseudoContent={sanitizedUnit}\n pseudoContentPosition={sanitizedUnitPosition}\n pseudoContentFontSize={fontSize * 0.6}\n >\n {value}\n </Text>\n </Row>\n );\n};\n\nSingleValueContent.propTypes = {\n color: T.string,\n fontSize: T.number,\n unit: T.string,\n unitPosition: T.oneOf(validUnitPositions),\n value: T.oneOfType([T.string, T.number]),\n title: T.oneOfType([T.string, T.number]),\n onValueClick: T.func,\n};\n\nexport default SingleValueContent;\n","import React from 'react';\nimport T from 'prop-types';\nimport styled from 'styled-components';\nimport { DEFAULT_FONT_FAMILY } from '../common/utils/singleValueUtils';\nimport TrendValue from './TrendValue';\nimport MajorValue from './MajorValue';\n\nconst Column = styled.div`\n display: flex;\n flex-direction: column;\n align-self: center;\n justify-content: center;\n`;\n\nconst Row = styled.div`\n display: flex;\n flex-direction: row;\n align-items: ${props => props.align || 'center'};\n justify-content: center;\n`;\n\nconst Text = styled.div`\n font-weight: normal;\n white-space: nowrap;\n font-size: ${props => props.size || 12}px;\n color: ${props => props.color || '#000'};\n font-family: ${DEFAULT_FONT_FAMILY};\n height: ${props => props.size || 12}px;\n line-height: 1.2;\n`;\n\nconst SingleValueBasic = ({ ...props }) => {\n const {\n majorColor,\n majorTextFontSize,\n majorText,\n majorValueTitle,\n trendColor,\n trendTextFontSize,\n trendText,\n showTrendIndicator,\n unit,\n unitPosition,\n underLabel,\n underLabelFontSize,\n underLabelColor,\n onValueClick,\n } = props;\n const trendIndicatorEnabled = trendText !== '' && showTrendIndicator;\n\n return (\n <Column>\n <Row align=\"baseline\">\n <MajorValue\n data-test=\"MajorValue\"\n color={majorColor}\n fontSize={majorTextFontSize}\n unit={unit}\n unitPosition={unitPosition}\n value={majorText}\n title={majorValueTitle}\n onValueClick={onValueClick}\n />\n {trendIndicatorEnabled && (\n // Passing the same value for value and text is a temporary hold until completion of https://jira.splunk.com/browse/SCP-21371\n <TrendValue\n data-test=\"TrendIndicator\"\n fontSize={trendTextFontSize}\n color={trendColor}\n value={trendText}\n text={trendText}\n />\n )}\n </Row>\n {underLabel && (\n <Row justify=\"center\">\n <Text data-test=\"underLabel\" size={underLabelFontSize} color={underLabelColor}>\n {underLabel}\n </Text>\n </Row>\n )}\n </Column>\n );\n};\n\nSingleValueBasic.propTypes = {\n majorText: T.string,\n majorColor: T.string,\n majorTextFontSize: T.number,\n majorValueTitle: T.string,\n trendText: T.string,\n trendTextFontSize: T.number,\n trendColor: T.string,\n showTrendIndicator: T.bool,\n unit: T.string,\n unitPosition: T.oneOf(['before', 'after']),\n underLabel: T.string,\n underLabelFontSize: T.number,\n underLabelColor: T.string,\n onValueClick: T.func,\n};\n\nexport const SingleValueTrendValue = TrendValue;\nexport default SingleValueBasic;\n","module.exports = require(\"@splunk/react-icons/ArrowUp\");","module.exports = require(\"@splunk/react-icons/ArrowDown\");","module.exports = require(\"cssesc\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"prop-types\"","webpack:///external \"react\"","webpack:///./src/common/utils/singleValueUtils.js","webpack:///external \"@splunk/visualizations-shared/propUtils\"","webpack:///external \"lodash\"","webpack:///external \"@splunk/visualizations-shared/numberUtils\"","webpack:///external \"styled-components\"","webpack:///external \"@splunk/visualizations-shared/colorConstants\"","webpack:///external \"@babel/runtime/helpers/extends\"","webpack:///external \"@splunk/visualizations-shared/domUtils\"","webpack:///./src/SingleValueBasic/TrendValue.jsx","webpack:///./src/SingleValueBasic/MajorValue.jsx","webpack:///./src/SingleValueBasic/SingleValueBasic.jsx","webpack:///external \"@splunk/react-icons/ArrowUp\"","webpack:///external \"@splunk/react-icons/ArrowDown\"","webpack:///external \"cssesc\"","webpack:///external \"@babel/runtime/helpers/defineProperty\""],"names":["DEFAULT_FONT","DEFAULT_FONT_FAMILY","SVR_PADDING","top","bottom","left","right","shouldShowTrend","trendDisplay","isLoadingOrNoColumns","data","get","noColumns","loading","getFormattedColor","formatColor","hasBackground","backgroundColor","isIdenticalColor","colorA","colorB","getDefaultColorWithBg","defaultFontColor","defaultBlockFontColor","getMajorColor","majorColor","getTrendColor","trendColor","trendValue","majorValue","customizedBgColor","defaultColors","Number","defaultBackgroundColor","isInvalidTrend","parseFloat","computeColors","props","backgroundEnabled","underLabelColor","computeText","value","numberPrecision","shouldUseThousandSeparators","shouldAbbreviateTrendValue","text","formatNumber","useThousandSeparators","useTrendUnits","getMajorText","getTrendText","compute","isNumerial","showPercent","diff","Math","val","computeFontSize","width","height","fontFamily","fontWeight","widthInDefaultFont","computeTextSize","fontSize","parseInt","getMajorFontSize","unit","majorText","spaceRatio","majorTextCalc","getTrendFontSize","trendText","trendFontSize","getUnderLabelHeight","getUnderLabel","underLabel","getMajorAndTrend","majorFontSize","majorTextSpaceRatio","textContentWidth","textContentHeight","majorTextFontSize","trendTextFontSize","updateVizInSmallSpace","toRemoveList","removeIndex","newProps","newMajorAndTrend","newTextSize","toRemove","truncateValue","updatedProps","computeSingleValueContent","contentWidth","contentHeight","containerWidth","containerHeight","majorValueTitle","smallVizProps","minimallyTruncateStringToWidth","textWidth","modifiedText","ellipsesLength","computeSingleValueRadialContent","smallViz","getGraphColors","customColorFormatter","adjustRGB","rgb","changeColor","hex","color","r","g","b","newR","newG","newB","ratio","lighten","darken","handleValueClickCallback","payload","name","majorValueField","onValueClick","Column","styled","Text","SingleValueContent","TrendIndicator","T","string","Row","validUnitPositions","unitPosition","title","sanitizedUnit","cssesc","wrap","quotes","sanitizedUnitPosition","func","SingleValueBasic","showTrendIndicator","underLabelFontSize","trendIndicatorEnabled","SingleValueTrendValue"],"mappings":";;;;;;;QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;AClFA,uC;;;;;;;ACAA,kC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AAEO,IAAMA,YAAY,GAAlB;AACA,IAAMC,mBAAmB,GAAzB;AAGA,IAAMC,WAAW,GAAG;AAAEC,KAAG,EAAL;AAAWC,QAAM,EAAjB;AAAuBC,MAAI,EAA3B;AAAiCC,OAAK,EAAE;AAAxC,CAApB;AAEP;AACA;AACA;AACA;AACA;;AACO,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,eAAY;AAAA,SAAIC,YAAY,KAAZA,cAA+BA,YAAY,KAA/C;AAApC;AAEP;AACA;AACA;AACA;AACA;AACA;;AACO,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,uBAA0B;AAC1D,MAAMC,IAAI,GAAGC,kDAAG,yCAAhB,SAAgB,CAAhB;AACA,MAAMC,SAAS,GAAGF,IAAI,KAAtB;AACA,SAAOG,OAAO,IAAd;AAHG;AAMP;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB;AAAA,SAAyBC,2FAAW,CAAXA,KAAW,CAAXA,IAAsBA,2FAAW,CAA1D,YAA0D,CAA1D;AAA1B;AAEP;AACA;AACA;AACA;AACA;AACA;;AACO,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,kBAAe;AAAA,SAAI,CAAC,CAAD,mBAAqBC,eAAe,KAAxC;AAArC;AAEP;AACA;AACA;AACA;AACA;AACA;;AACO,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB;AAAA,SAC5B,CAAC,CAAD,UAAY,CAAC,CAAb,UAAwBH,2FAAW,CAACI,MAAM,CAAlBJ,WAAYI,EAAD,CAAXJ,KAAsCA,2FAAW,CAACK,MAAM,CADpD,WAC8CA,EAAD,CAD7C;AAAzB;AAGP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAwB;AAAA,MAAGJ,eAAH;AAAA,MAAoBK,gBAApB;AAAA,MAAsCC,qBAAtC;AAAA,SACjCL,gBAAgB,kBAAhBA,qBAAgB,CAAhBA,sBADiC;AAA9B;AAGP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAMM,aAAa,GAAG,SAAhBA,aAAgB,QAA8E;AAAA,MAA3EC,UAA2E,SAA3EA,UAA2E;AAAA,MAA/DR,eAA+D,SAA/DA,eAA+D;AAAA,MAA9CK,gBAA8C,SAA9CA,gBAA8C;AAAA,MAA5BC,qBAA4B,SAA5BA,qBAA4B,EACvG;AACA;AACA;AACA;;AACA,MAAIP,aAAa,CAAbA,eAAa,CAAbA,IAAkC,CAAtC,YAAmD;AAC/C,WAAOK,qBAAqB,CAAC;AACzBJ,qBAAe,EADU;AAEzBK,sBAAgB,EAFS;AAGzBC,2BAAqB,EAArBA;AAHyB,KAAD,CAA5B;AAKH;;AAED,SAAOT,iBAAiB,aAAxB,gBAAwB,CAAxB;AAbG;AAgBP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAMY,aAAa,GAAG,SAAhBA,aAAgB,QAOvB;AAAA,MANFC,UAME,SANFA,UAME;AAAA,MALFC,UAKE,SALFA,UAKE;AAAA,MAJFC,UAIE,SAJFA,UAIE;AAAA,MAHFC,iBAGE,SAHFA,iBAGE;AAAA,MAFFtB,YAEE,SAFFA,YAEE;AAAA,MADFuB,aACE,SADFA,aACE;;AACF,kBAAgB;AACZ;AACH;;AAED,MAAIC,MAAM,CAANA,MAAaA,MAAM,CAAvB,UAAuB,CAAnBA,CAAJ,EAAsC;AAClC;AACH;;AAPC,MASMV,gBATN,GAS0ES,aAT1E;AAAA,MASwBR,qBATxB,GAS0EQ,aAT1E;AAAA,MAS+CE,sBAT/C,GAS0EF,aAT1E,yBAWF;;AACA,MACIf,aAAa,CAAbA,iBAAa,CAAbA,IACA,CAACE,gBAAgB,oBADjBF,sBACiB,CADjBA,IAEA,CAACE,gBAAgB,oBAHrB,qBAGqB,CAHrB,EAIE;AACE;AAjBF,IAoBF;AACA;;;AACA,MAAMgB,cAAc,GAAG1B,YAAY,KAAZA,aAA8BoB,UAAU,KAAKO,UAAU,CAA9E,UAA8E,CAA9E;;AAEA,MAAIP,UAAU,KAAVA,KAAJ,gBAAwC;AACpC;AACH;;AAED,SAAOA,UAAU,GAAVA,+FAAP;AAnCG;AAsCP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAMQ,aAAa,GAAG,SAAhBA,aAAgB,uBAA0B;AACnD,MAAMnB,eAAe,GAAGH,iBAAiB,CAACuB,KAAK,CAAN,iBAAwBN,aAAa,CAA9E,sBAAyC,CAAzC;AACA,MAAMO,iBAAiB,GAAGtB,aAAa,CAAvC,eAAuC,CAAvC;AACA,MAAMS,UAAU,GAAGD,aAAa,CAAC;AAC7BC,cAAU,EAAEY,KAAK,CADY;AAE7BpB,mBAAe,EAFc;AAG7BK,oBAAgB,EAAES,aAAa,CAHF;AAI7BR,yBAAqB,EAAEQ,aAAa,CAACR;AAJR,GAAD,CAAhC;AAMA,MAAMI,UAAU,GAAGD,aAAa,CAAC;AAC7BC,cAAU,EAAEU,KAAK,CADY;AAE7BT,cAAU,EAAES,KAAK,CAFY;AAG7BR,cAAU,EAAEQ,KAAK,CAHY;AAI7BP,qBAAiB,EAAEO,KAAK,CAJK;AAK7B7B,gBAAY,EAAE6B,KAAK,CALU;AAM7BN,iBAAa,EAAbA;AAN6B,GAAD,CAAhC,CATmD,CAiBnD;;AACA,MAAMQ,eAAe,GAAGD,iBAAiB,gBAAgBP,aAAa,CAAtE;AAEA,SAAO;AACHd,mBAAe,EADZ;AAEHqB,qBAAiB,EAFd;AAGHb,cAAU,EAHP;AAIHE,cAAU,EAJP;AAKHY,mBAAe,EAAfA;AALG,GAAP;AApBG;AA6BP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAMC,WAAW,GAAG,SAAdA,WAAc,QAKrB;AAAA,MAJFC,KAIE,SAJFA,KAIE;AAAA,MAHFC,eAGE,SAHFA,eAGE;AAAA,MAFFC,2BAEE,SAFFA,2BAEE;AAAA,MADFC,0BACE,SADFA,0BACE;AACF,MAAIC,IAAI,GAAG,4FAAU,CAAV,KAAU,CAAV,GACLC,8FAAY,yBAAyB;AACjCC,yBAAqB,EADY;AACmB;AACpDC,iBAAa,EAAEJ;AAFkB,GAAzB,CADP,GADT,KACF,CADE,CAOF;;AACAC,MAAI,GAAGA,IAAI,IAAXA;AACA;AAdG;AAiBP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAMI,YAAY,GAAG,SAAfA,YAAe;AAAA,MAAGpB,UAAH;AAAA,MAAea,eAAf;AAAA,MAAgCC,2BAAhC;AAAA,SACxBH,WAAW,CAAC;AACRC,SAAK,EAAEZ,UAAU,KAAVA,eADC;AACyC;AACjDa,mBAAe,EAFP;AAGRC,+BAA2B,EAHnB;AAIRC,8BAA0B,EAAE;AAJpB,GAAD,CADa;AAArB;AAQP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAMM,YAAY,GAAG,SAAfA,YAAe,QAOtB;AAAA,MANFrB,UAME,SANFA,UAME;AAAA,MALFD,UAKE,SALFA,UAKE;AAAA,MAJFpB,YAIE,SAJFA,YAIE;AAAA,MAHFkC,eAGE,SAHFA,eAGE;AAAA,MAFFC,2BAEE,SAFFA,2BAEE;AAAA,MADFC,0BACE,SADFA,0BACE;;AACF,MAAMO,OAAO,GAAG,SAAVA,OAAU,QAAK;AAAA,WACjBX,WAAW,CAAC;AACRC,WAAK,EADG;AAERC,qBAAe,EAFP;AAGRC,iCAA2B,EAHnB;AAIRC,gCAA0B,EAA1BA;AAJQ,KAAD,CADM;AAArB;;AAQA,MAAIhB,UAAU,KAAVA,MAAqB,CAACwB,4FAAU,CAApC,UAAoC,CAApC,EAAkD;AAC9C;AACH;;AACD,MAAMC,WAAW,GAAG7C,YAAY,KAAhC;;AACA,MAAI,CAAJ,aAAkB;AACd,WAAO2C,OAAO,CAAd,UAAc,CAAd;AACH;;AAED,MAAMG,IAAI,GAAGC,IAAI,CAAJA,IAAS3B,UAAU,GAAhC,UAAa2B,CAAb;AACA,MAAIC,GAAG,GAAGD,IAAI,CAAJA,MAAY3B,UAAU,GAAX,IAACA,GAAtB,GAAU2B,CAAV;;AACA,MAAI3B,UAAU,KAAVA,KAAoB0B,IAAI,KAA5B,GAAoC;AAChCE,OAAG,GAAHA;AACH;;AAED,MAAI,CAACxB,MAAM,CAANA,SAAL,GAAKA,CAAL,EAA2B;AACvB;AACH;;AACD,MAAMa,IAAI,GAAGM,OAAO,CAApB,GAAoB,CAApB;AAEA;AAnCG;AAsCP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAMM,eAAe,GAAG,SAAlBA,eAAkB,cAK1B;AAAA,MAHCC,KAGD,SAHCA,KAGD;AAAA,MAHQC,MAGR,SAHQA,MAGR;AAAA,MAFDC,UAEC,uEAFY3D,mBAEZ;AAAA,MADD4D,UACC,uEADY,QACZ;AACD,MAAMC,kBAAkB,GAAGC,8FAAe,qEAA1C,UAA0C,EAA1C;AACA,MAAMC,QAAQ,GAAGT,IAAI,CAAJA,IACZG,KAAK,GAAN,kBAACA,GADYH,cAEZI,MAAM,GAAP,YAACA,GAFL,YAAiBJ,CAAjB;AAIA,SAAOU,QAAQ,WAAf,EAAe,CAAf;AAXG;AAcP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,QAAwD;AAAA,MAArDR,KAAqD,SAArDA,KAAqD;AAAA,MAA9CC,MAA8C,SAA9CA,MAA8C;AAAA,MAAtCQ,IAAsC,SAAtCA,IAAsC;AAAA,MAAhCC,SAAgC,SAAhCA,SAAgC;AAAA,+BAArBC,UAAqB;AAAA,MAArBA,UAAqB,iCAAR,CAAQ;AACpF,MAAMC,aAAa,GAAGH,IAAI,uCAA1B;AACA,SAAOV,eAAe,gBAAgB;AAClCC,SAAK,EAAEA,KAAK,GADsB;AAElCC,UAAM,EAANA;AAFkC,GAAhB,CAAtB;AAFG;AAQP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAMY,gBAAgB,GAAG,SAAnBA,gBAAmB,QAAkD;AAAA,MAA/Cb,KAA+C,SAA/CA,KAA+C;AAAA,MAAxCC,MAAwC,SAAxCA,MAAwC;AAAA,MAAhCa,SAAgC,SAAhCA,SAAgC;AAAA,+BAArBH,UAAqB;AAAA,MAArBA,UAAqB,iCAAR,CAAQ;AAC9E,MAAII,aAAa,GAAjB;;AACA,MAAIJ,UAAU,GAAd,GAAoB;AAChBI,iBAAa,GAAGhB,eAAe,YAAY;AACvCC,WAAK,EAAEA,KAAK,GAD2B;AAEvCC,YAAM,EAANA;AAFuC,KAAZ,CAA/Bc;AAIAA,iBAAa,GAAGR,QAAQ,gBAARA,EAAQ,CAARA,GAAhBQ;AACH;;AACD;AATG;AAYP;AACA;AACA;AACA;AACA;;AACO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,SAAM;AAAA,SAAKf,MAAM,GAANA,8BAAL;AAAlC;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAMgB,aAAa,GAAG,SAAhBA,aAAgB;AAAA,MAAGC,UAAH;AAAA,MAAelB,KAAf;AAAA,MAAsBC,MAAtB;AAAA,SACzB;AACAF,mBAAe,aAAa;AACxBC,WAAK,EADmB;AAExBC,YAAM,EAANA;AAFwB,KAAb;AAFU;AAAtB;AAOP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAMkB,gBAAgB,GAAG,SAAnBA,gBAAmB,SAY1B;AAAA,MAXFnB,KAWE,UAXFA,KAWE;AAAA,MAVFC,MAUE,UAVFA,MAUE;AAAA,MATF9B,UASE,UATFA,UASE;AAAA,MARFD,UAQE,UARFA,UAQE;AAAA,MAPFkD,aAOE,UAPFA,aAOE;AAAA,MANFL,aAME,UANFA,aAME;AAAA,MALFjE,YAKE,UALFA,YAKE;AAAA,MAJF2D,IAIE,UAJFA,IAIE;AAAA,MAHFzB,eAGE,UAHFA,eAGE;AAAA,MAFFC,2BAEE,UAFFA,2BAEE;AAAA,MADFC,0BACE,UADFA,0BACE;AACF,MAAMmC,mBAAmB,GAAG3B,4FAAU,CAAVA,UAAU,CAAVA,IAA0B7C,eAAe,CAAzC6C,YAAyC,CAAzCA,SAA5B;AACA,MAAM4B,gBAAgB,GAAGtB,KAAK,GAA9B;AACA,MAAMuB,iBAAiB,GAAGtB,MAAM,GAAhC;AACA,MAAMS,SAAS,GAAGnB,YAAY,CAAC;AAAEpB,cAAU,EAAZ;AAAca,mBAAe,EAA7B;AAA+BC,+BAA2B,EAA3BA;AAA/B,GAAD,CAA9B;AACA,MAAMuC,iBAAiB,GACnBJ,aAAa,IACbZ,gBAAgB,CAAC;AACbR,SAAK,EADQ;AAEbC,UAAM,EAFO;AAGbQ,QAAI,EAHS;AAIbC,aAAS,EAJI;AAKbC,cAAU,EAAEU;AALC,GAAD,CAFpB;AASA,MAAMP,SAAS,GAAGtB,YAAY,CAAC;AAC3BrB,cAAU,EADiB;AAE3BD,cAAU,EAFiB;AAG3BpB,gBAAY,EAHe;AAI3BkC,mBAAe,EAJY;AAK3BC,+BAA2B,EALA;AAM3BC,8BAA0B,EAA1BA;AAN2B,GAAD,CAA9B;AASA,MAAMuC,iBAAiB,GACnBV,aAAa,IACbF,gBAAgB,CAAC;AACbb,SAAK,EADQ;AAEbC,UAAM,EAFO;AAGba,aAAS,EAHI;AAIbH,cAAU,EAAE,IAAIU;AAJH,GAAD,CAFpB;AASA,SAAO;AACHX,aAAS,EADN;AAEHc,qBAAiB,EAFd;AAGHV,aAAS,EAHN;AAIHW,qBAAiB,EAAjBA;AAJG,GAAP;AA5CG;AAoDP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAwB,SAa/B;AAAA,MAZF1B,KAYE,UAZFA,KAYE;AAAA,MAXFC,MAWE,UAXFA,MAWE;AAAA,MAVF0B,YAUE,UAVFA,YAUE;AAAA,MATFxD,UASE,UATFA,UASE;AAAA,MARFD,UAQE,UARFA,UAQE;AAAA,MAPFkD,aAOE,UAPFA,aAOE;AAAA,MANFL,aAME,UANFA,aAME;AAAA,MALFS,iBAKE,UALFA,iBAKE;AAAA,MAJFf,IAIE,UAJFA,IAIE;AAAA,MAHFzB,eAGE,UAHFA,eAGE;AAAA,MAFFC,2BAEE,UAFFA,2BAEE;AAAA,MADFC,0BACE,UADFA,0BACE;AACF,MAAI0C,WAAW,GAAf;AACA,MAAIC,QAAQ,GAFV,EAEF,CAFE,CAEiB;;AACnB,MAAIC,gBAAgB,GAApB;AACA,MAAIC,WAAW,GAJb,iBAIF,CAJE,CAMF;;AACA,SAAOA,WAAW,GAAXA,MAAoBH,WAAW,GAAGD,YAAY,CAArD,QAA8D;AAC1D,QAAMK,QAAQ,GAAGL,YAAY,CAA7B,WAA6B,CAA7B;AACAE,YAAQ,+HAGCG,QAAQ,CAHT,KAGgBA,QAAQ,CAHhCH,KAAQ,EAARA;AAOAC,oBAAgB,GAAGX,gBAAgB;AAC/BhD,gBAAU,EADqB;AAE/BD,gBAAU,EAFqB;AAG/BkD,mBAAa,EAHkB;AAI/BL,mBAAa,EAJkB;AAK/Bf,WAAK,EAL0B;AAM/BC,YAAM,EANyB;AAO/BQ,UAAI,EAP2B;AAQ/BzB,qBAAe,EARgB;AAS/BC,iCAA2B,EATI;AAU/BC,gCAA0B,EAA1BA;AAV+B,OAAnC4C,QAAmC,EAAnCA;AAcAC,eAAW,GAAGD,gBAAgB,CAA9BC;AACAH,eAAW,IAAXA;AA/BF,IAkCF;;;AACA,MAAIG,WAAW,GAAf,IAAsB;AAClB,QAAME,aAAa,aAAM9D,UAAU,CAAVA,oBAAN,CAAMA,CAAN,EAAnB,KAAmB,CAAnB;AACA2D,oBAAgB,GAAGX,gBAAgB;AAC/BhD,gBAAU,EADqB;AAE/BD,gBAAU,EAFqB;AAG/BkD,mBAAa,EAHkB;AAI/BL,mBAAa,EAJkB;AAK/Bf,WAAK,EAL0B;AAM/BC,YAAM,EANyB;AAO/BQ,UAAI,EAP2B;AAQ/BzB,qBAAe,EARgB;AAS/BC,iCAA2B,EATI;AAU/BC,gCAA0B,EAA1BA;AAV+B,OAAnC4C,QAAmC,EAAnCA;AAaH;;AAED,SAAO;AAAEA,oBAAgB,EAAlB;AAAoBI,gBAAY,EAAEL;AAAlC,GAAP;AAjEG;AAoEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAMM,yBAAyB,GAAG,SAA5BA,yBAA4B,SAenC;AAAA,MAdFC,YAcE,UAdFA,YAcE;AAAA,MAbFC,aAaE,UAbFA,aAaE;AAAA,MAZFC,cAYE,UAZFA,cAYE;AAAA,MAXFC,eAWE,UAXFA,eAWE;AAAA,MAVFpE,UAUE,UAVFA,UAUE;AAAA,MATFD,UASE,UATFA,UASE;AAAA,MARFkD,aAQE,UARFA,aAQE;AAAA,MAPFL,aAOE,UAPFA,aAOE;AAAA,MANFjE,YAME,UANFA,YAME;AAAA,MALF2D,IAKE,UALFA,IAKE;AAAA,MAJFzB,eAIE,UAJFA,eAIE;AAAA,MAHFC,2BAGE,UAHFA,2BAGE;AAAA,MAFFC,0BAEE,UAFFA,0BAEE;AAAA,MADFyC,YACE,UADFA,YACE;;AAAA,0BACmER,gBAAgB,CAAC;AAClFhD,cAAU,EADwE;AAElFD,cAAU,EAFwE;AAGlFkD,iBAAa,EAHqE;AAIlFL,iBAAa,EAJqE;AAKlFjE,gBAAY,EALsE;AAMlFkD,SAAK,EAN6E;AAOlFC,UAAM,EAP4E;AAQlFQ,QAAI,EAR8E;AASlFzB,mBAAe,EATmE;AAUlFC,+BAA2B,EAVuD;AAWlFC,8BAA0B,EAA1BA;AAXkF,GAAD,CADnF;AAAA,MACIwB,SADJ;AAAA,MACeI,SADf;AAAA,MAC0BU,iBAD1B;AAAA,MAC6CC,iBAD7C;;AAcF,MAAMe,eAAe,GAArB;AACA,MAAIC,aAAa,GAff,EAeF,CAfE,CAiBF;AACA;AACA;;AACA,MAAIjB,iBAAiB,GAArB,IAA4B;AAAA,gCACmBE,qBAAqB,CAAC;AAC7D1B,WAAK,EADwD;AAE7DC,YAAM,EAFuD;AAG7D0B,kBAAY,EAHiD;AAI7DxD,gBAAU,EAJmD;AAK7DD,gBAAU,EALmD;AAM7DkD,mBAAa,EANgD;AAO7DL,mBAAa,EAPgD;AAQ7DS,uBAAiB,EAR4C;AAS7Df,UAAI,EATyD;AAU7DzB,qBAAe,EAV8C;AAW7DC,iCAA2B,EAXkC;AAY7DC,gCAA0B,EAA1BA;AAZ6D,KAAD,CADxC;AAAA,QAChB4C,gBADgB;AAAA,QACEI,YADF;;AAgBrBxB,aAhBqB,GAgB0CoB,gBAhB1C,UAgBrBpB;AAAWI,aAhBU,GAgB0CgB,gBAhB1C,UAgBVhB;AAAWU,qBAhBD,GAgB0CM,gBAhB1C,kBAgBCN;AAAmBC,qBAhBpB,GAgB0CK,gBAhB1C,kBAgBoBL;AAC5CgB,iBAAa,GAAbA;AACH;;AACD,SAAO;AACH/B,aAAS,EADN;AAEHI,aAAS,EAFN;AAGHU,qBAAiB,EAHd;AAIHC,qBAAiB,EAJd;AAKHe,mBAAe,EALZ;AAMHC,iBAAa,EAAbA;AANG,GAAP;AAtDG;AAgEA,IAAMC,8BAA8B,GAAG,SAAjCA,8BAAiC,SAMxC;AAAA,MALFvD,IAKE,UALFA,IAKE;AAAA,+BAJFmB,QAIE;AAAA,MAJFA,QAIE,gCAJShE,YAIT;AAAA,iCAHF4D,UAGE;AAAA,MAHFA,UAGE,kCAHW3D,mBAGX;AAAA,iCAFF4D,UAEE;AAAA,MAFFA,UAEE,kCAFW,QAEX;AAAA,MADFmC,cACE,UADFA,cACE;AACF,MAAIK,SAAS,GAAGtC,8FAAe,iEAA/B,UAA+B,EAA/B;AACA,MAAIuC,YAAY,GAAhB;AAEA,MAAMC,cAAc,GAAGxC,8FAAe,kEAJpC,UAIoC,EAAtC,CAJE,CAKF;;AACA,MAAIiC,cAAc,GAAdA,sBAAuCK,SAAS,GAApD,gBAAuE;AACnE;AACA;AACA;AACA,WAAOA,SAAS,GAATA,mCAA+CC,YAAY,CAAZA,SAAtD,GAA+E;AAC3EA,kBAAY,GAAGA,YAAY,CAAZA,aAA0BA,YAAY,CAAZA,SAAzCA,CAAeA,CAAfA;AACAD,eAAS,GAAGtC,8FAAe,wDAA3BsC,UAA2B,EAA3BA;AACH;;AAEDC,gBAAY,2BAAZA,KAAY,CAAZA;AACH;;AAED;AAxBG;AA2BP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAME,+BAA+B,GAAG,SAAlCA,+BAAkC,SAezC;AAAA,MAdFV,YAcE,UAdFA,YAcE;AAAA,MAbFC,aAaE,UAbFA,aAaE;AAAA,MAZFC,cAYE,UAZFA,cAYE;AAAA,MAXFC,eAWE,UAXFA,eAWE;AAAA,MAVFpE,UAUE,UAVFA,UAUE;AAAA,MATFD,UASE,UATFA,UASE;AAAA,MARFkD,aAQE,UARFA,aAQE;AAAA,MAPFL,aAOE,UAPFA,aAOE;AAAA,MANFjE,YAME,UANFA,YAME;AAAA,MALF2D,IAKE,UALFA,IAKE;AAAA,MAJFzB,eAIE,UAJFA,eAIE;AAAA,MAHFC,2BAGE,UAHFA,2BAGE;AAAA,MAFFC,0BAEE,UAFFA,0BAEE;AAAA,MADF6D,QACE,UADFA,QACE;;AAAA,2BACmE5B,gBAAgB,CAAC;AAClFhD,cAAU,EADwE;AAElFD,cAAU,EAFwE;AAGlFkD,iBAAa,EAHqE;AAIlFL,iBAAa,EAJqE;AAKlFjE,gBAAY,EALsE;AAMlFkD,SAAK,EAN6E;AAOlFC,UAAM,EAP4E;AAQlFQ,QAAI,EAR8E;AASlFzB,mBAAe,EATmE;AAUlFC,+BAA2B,EAVuD;AAWlFC,8BAA0B,EAA1BA;AAXkF,GAAD,CADnF;AAAA,MACIwB,SADJ;AAAA,MACeI,SADf;AAAA,MAC0BU,iBAD1B;AAAA,MAC6CC,iBAD7C;;AAeF,MAAMe,eAAe,GAArB;AACA,MAAIC,aAAa,GAhBf,EAgBF,CAhBE,CAkBF;AACA;AACA;;AACA,gBAAc;AACV,QAAMR,aAAa,GAAGS,8BAA8B,CAAC;AACjDvD,UAAI,EAD6C;AAEjDgB,gBAAU,EAFuC;AAGjDG,cAAQ,EAHyC;AAIjDgC,oBAAc,EAAdA;AAJiD,KAAD,CAApD;;AADU,6BAQwDnB,gBAAgB,CAAC;AAC/EhD,gBAAU,EADqE;AAE/ED,gBAAU,EAFqE;AAG/EkD,mBAAa,EAHkE;AAI/EL,mBAAa,EAJkE;AAK/Ef,WAAK,EAL0E;AAM/EC,YAAM,EANyE;AAO/EQ,UAAI,EAP2E;AAQ/E3D,kBAAY,EARmE;AAS/EkC,qBAAe,EATgE;AAU/EC,iCAA2B,EAVoD;AAW/EC,gCAA0B,EAA1BA;AAX+E,KAAD,CARxE;;AAQPwB,aARO,+BAQPA;AAAWI,aARJ,+BAQIA;AAAWU,qBARf,uCAQeA;AAAmBC,qBARlC,uCAQkCA;AAc5CgB,iBAAa,GAAG;AACZ3F,kBAAY,EADA;AAEZ2D,UAAI,EAAJA;AAFY,KAAhBgC;AAIH;;AAED,SAAO;AACH/B,aAAS,EADN;AAEHI,aAAS,EAFN;AAGHU,qBAAiB,EAHd;AAIHC,qBAAiB,EAJd;AAKHe,mBAAe,EALZ;AAMHC,iBAAa,EAAbA;AANG,GAAP;AAhEG;AA0EP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAMO,cAAc,GAAG,SAAjBA,cAAiB,SAKxB;AAAA,MAJFpE,iBAIE,UAJFA,iBAIE;AAAA,MAHFrB,eAGE,UAHFA,eAGE;AAAA,MAFFc,aAEE,UAFFA,aAEE;AAAA,MADF4E,oBACE,UADFA,oBACE,EACF;;AACA,yBAAuB;AACnB;AACA,QAAI1F,eAAe,IAAI,gCAAvB,YAAmE;AAC/D,aAAO0F,oBAAoB,CAA3B,eAA2B,CAA3B;AACH;AACJ;;AAED,SAAO5E,aAAa,CAApB;AAdG;AAiBP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAM6E,SAAS,GAAG,SAAZA,SAAY,aAAgB;AACrC,MAAIC,GAAG,KAAP,KAAiB;AACb,WAAOA,GAAG,GAAV;AACH;;AAED,MAAIA,GAAG,KAAP,GAAe;AACX,WAAOA,GAAG,GAAV;AACH;;AAED;AATG;AAYP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMC,WAAW,GAAG,SAAdA,WAAc,eAAkB;AAClC,MAAMC,GAAG,GAAGC,KAAK,CAALA,kBAAZ,EAAYA,CAAZ;AACA,MAAMC,CAAC,GAAGhD,QAAQ,CAAC8C,GAAG,CAAHA,UAAD,CAACA,CAAD,EAAlB,EAAkB,CAAlB;AACA,MAAMG,CAAC,GAAGjD,QAAQ,CAAC8C,GAAG,CAAHA,UAAD,CAACA,CAAD,EAAlB,EAAkB,CAAlB;AACA,MAAMI,CAAC,GAAGlD,QAAQ,CAAC8C,GAAG,CAAHA,UAAD,CAACA,CAAD,EAJgB,EAIhB,CAAlB,CAJkC,CAMlC;;AACA,MAAIK,IAAI,GAAG7D,IAAI,CAAJA,IAASA,IAAI,CAAJA,IAASA,IAAI,CAAJA,MAAW0D,CAAC,GAArB1D,KAASA,CAATA,EAATA,GAASA,CAATA,EAAX,CAAWA,CAAX;AACA,MAAI8D,IAAI,GAAG9D,IAAI,CAAJA,IAASA,IAAI,CAAJA,IAASA,IAAI,CAAJA,MAAW2D,CAAC,GAArB3D,KAASA,CAATA,EAATA,GAASA,CAATA,EAAX,CAAWA,CAAX;AACA,MAAI+D,IAAI,GAAG/D,IAAI,CAAJA,IAASA,IAAI,CAAJA,IAASA,IAAI,CAAJA,MAAW4D,CAAC,GAArB5D,KAASA,CAATA,EAATA,GAASA,CAATA,EATuB,CASvBA,CAAX,CATkC,CAWlC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAI6D,IAAI,KAAJA,KAAcC,IAAI,KAAlBD,KAA4BE,IAAI,KAApC,GAA4C;AACxC,QAAIF,IAAI,KAAJA,KAAcC,IAAI,KAAlBD,KAA4BE,IAAI,KAApC,GAA4C;AACxC,UAAIC,KAAK,GAAT,GAAe;AACXH,YAAI,GAAGR,SAAS,OAAhBQ,EAAgB,CAAhBA;AACAC,YAAI,GAAGT,SAAS,OAAhBS,EAAgB,CAAhBA;AACAC,YAAI,GAAGV,SAAS,OAAhBU,EAAgB,CAAhBA;AAHJ,aAIO;AACHF,YAAI,GAAGR,SAAS,OAAhBQ,EAAgB,CAAhBA;AACAC,YAAI,GAAGT,SAAS,OAAhBS,EAAgB,CAAhBA;AACAC,YAAI,GAAGV,SAAS,OAAhBU,EAAgB,CAAhBA;AACH;AATL,WAUO,IAAIF,IAAI,KAAJA,OAAgBC,IAAI,KAApBD,OAAgCE,IAAI,KAAxC,KAAkD;AACrD,UAAIC,KAAK,GAAT,GAAe;AACXH,YAAI,GAAGR,SAAS,OAAhBQ,EAAgB,CAAhBA;AACAC,YAAI,GAAGT,SAAS,OAAhBS,EAAgB,CAAhBA;AACAC,YAAI,GAAGV,SAAS,OAAhBU,EAAgB,CAAhBA;AAHJ,aAIO;AACHF,YAAI,GAAGR,SAAS,OAAhBQ,EAAgB,CAAhBA;AACAC,YAAI,GAAGT,SAAS,OAAhBS,EAAgB,CAAhBA;AACAC,YAAI,GAAGV,SAAS,OAAhBU,EAAgB,CAAhBA;AACH;AATE,WAUA;AACHF,UAAI,GAAGR,SAAS,OAAhBQ,EAAgB,CAAhBA;AACAC,UAAI,GAAGT,SAAS,OAAhBS,EAAgB,CAAhBA;AACAC,UAAI,GAAGV,SAAS,OAAhBU,EAAgB,CAAhBA;AACH;AACJ;;AAED,SACI,WAAIF,IAAI,CAAJA,yBAAJ,CAAIA,CAAJ,cACGC,IAAI,CAAJA,yBADH,CACGA,CADH,cAEGC,IAAI,CAAJA,yBAHP,CAGOA,CAFH,CADJ;AAhDJ;AAuDA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,IAAME,OAAO,GAAG,SAAVA,OAAU,QAAK;AAAA,SAAIV,WAAW,QAAf,GAAe,CAAf;AAArB;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAMW,MAAM,GAAG,SAATA,MAAS,QAAK;AAAA,SAAIX,WAAW,QAAf,GAAe,CAAf;AAApB;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAMY,wBAAwB,GAAG,SAA3BA,wBAA2B,4DAA+D;AACnG,MAAMC,OAAO,GAAG;AACZ/F,cAAU,EADE;AAEZa,SAAK,EAFO;AAGZmF,QAAI,EAAEC;AAHM,GAAhB;AAMA,SAAOC,YAAY;AAAUH,WAAO,EAAPA;AAAV,KAAnB;AAPG,E;;;;;;;ACx2BP,oE;;;;;;;ACAA,mC;;;;;;;ACAA,sE;;;;;;;ACAA,8C;;;;;;;ACAA,yE;;;;;;;ACAA,2D;;;;;;;ACAA,mE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AAEA,IAAMI,MAAM,GAAGC,oCAAM,CAAT,GAAGA,CAAH,UAAGA,CAAH;AAAA;AAAA;AAAA,CAAGA,EAAH,4EAAGA,EAGQ,iBAAK;AAAA,SAAI3F,KAAK,CAALA,WAAJ;AAHhB,CAAG2F,EAID,iBAAK;AAAA,SAAI3F,KAAK,CAALA,QAAJ;AAJP,CAAG2F,EAKT,iBAAK;AAAA,SAAK3F,KAAK,CAALA,2BAA0B4B,QAAQ,CAAC5B,KAAK,CAAN,MAAR4B,EAAQ,CAARA,UAA1B5B,YAAL;AALX,CAAe2F,CAAf;AAQA,IAAMC,IAAI,GAAGD,oCAAM,CAAT,GAAGA,CAAH,UAAGA,CAAH;AAAA;AAAA;AAAA,CAAGA,EAAH,2IAAGA,EAEI,iBAAK;AAAA,SAAI3F,KAAK,CAALA,QAAJ;AAFZ,CAAG2F,EAGA,iBAAK;AAAA,SAAI3F,KAAK,CAALA,SAAJ;AAHR,CAAG2F,EAAH,uCAAGA,EAKC,iBAAK;AAAA,SAAI3F,KAAK,CAALA,QAAJ;AALT,CAAG2F,EAMM,iBAAK;AAAA,SAAI3F,KAAK,CAALA,QAAJ;AANd,CAAG2F,EASP,iBAAK;AAAA,SAAK3F,KAAK,CAALA,8BAA6B4B,QAAQ,CAAC5B,KAAK,CAAN,MAAR4B,EAAQ,CAARA,UAA7B5B,YAAL;AATX,CAAa2F,CAAb;;AAYA,IAAME,6BAAkB,GAAG,SAArBA,kBAAqB,OAAsC;AAAA,MAAnClE,QAAmC,QAAnCA,QAAmC;AAAA,MAAzBgD,KAAyB,QAAzBA,KAAyB;AAAA,MAAlBvE,KAAkB,QAAlBA,KAAkB;AAAA,MAAXI,IAAW,QAAXA,IAAW;AAC7D,MAAIsF,cAAc,GAAlB;;AAEA,MAAIhG,UAAU,QAAVA,EAAU,CAAVA,GAAJ,GAA+B;AAC3BgG,kBAAc,GAAdA;AADJ,SAEO,IAAIhG,UAAU,QAAVA,EAAU,CAAVA,GAAJ,GAA+B;AAClCgG,kBAAc,GAAdA;AACH;;AAED,sBACI;AAAQ,WAAO,EAAf;AAA2B,QAAI,EAAEnE;AAAjC,kBACI;AAAM,iBAAN;AAAsC,QAAI,EAA1C;AAAsD,SAAK,EAAEgD;AAA7D,KACKmB,cAAc,iBAAI,uDAF3B,IAE2B,CADvB,CADJ,eAII;AAAM,iBAAN;AAA6B,QAAI,EAAjC;AAA6C,SAAK,EAAEnB;AAApD,eALR,IAKQ,EAJJ,CADJ;AATJ;;AAqBAkB,6BAAkB,CAAlBA,YAA+B;AAC3BlE,UAAQ,EAAEoE,6BAAC,CADgB;AAE3BpB,OAAK,EAAEoB,6BAAC,CAFmB;AAG3B3F,OAAK,EAAE2F,6BAAC,CAADA,UAAY,CAACA,6BAAC,CAAF,QAAWA,6BAAC,CAHJ,MAGR,CAAZA,CAHoB;AAI3BvF,MAAI,EAAEuF,6BAAC,CAACC;AAJmB,CAA/BH;AAOA,8E;;;;;;ACvDA;AACA;AACA;AACA;AACA;AAEA,IAAMI,GAAG,GAAGN,oCAAM,CAAT,GAAGA,CAAH,UAAGA,CAAH;AAAA;AAAA;AAAA,CAAGA,EAAH,6IAAGA,EAOO,iBAAK;AAAA,SAAI3F,KAAK,CAAT;AAPf,CAAG2F,EAQE,iBAAK;AAAA,SAAI3F,KAAK,CAAT;AARnB,CAAY2F,CAAZ;AAWA,IAAMC,eAAI,GAAGD,oCAAM,CAAT,GAAGA,CAAH,UAAGA,CAAH;AAAA;AAAA;AAAA,CAAGA,EAAH,mIAAGA,EAEI,iBAAK;AAAA,SAAI3F,KAAK,CAALA,QAAJ;AAFZ,CAAG2F,EAGA,iBAAK;AAAA,SAAI3F,KAAK,CAAT;AAHR,CAAG2F,EAAH,uCAAGA,EAOc,iBAAK;AAAA,SAAK3F,KAAK,CAALA,8BAAL;AAPtB,CAAG2F,EAQK,iBAAK;AAAA,SAAK3F,KAAK,CAALA,4BAAL;AARb,CAAG2F,EAUP,iBAAS;AACP,MAAI,CAAC3F,KAAK,CAAN,iBAAwB,CAACA,KAAK,CAAlC,uBAA0D;AACtD;AACH;;AACD,qBAAYA,KAAK,CAAjB,wbAMiBA,KAAK,CANtB,iPAWeA,KAAK,CAXpB;AAdR,CAAa2F,CAAb;AA8BA,IAAMO,kBAAkB,GAAG,WAA3B,OAA2B,CAA3B;;AAEA,IAAML,6BAAkB,GAAG,SAArBA,kBAAqB,OAAyE;AAAA,MAAtElB,KAAsE,QAAtEA,KAAsE;AAAA,MAA/DhD,QAA+D,QAA/DA,QAA+D;AAAA,MAArDwE,YAAqD,QAArDA,YAAqD;AAAA,MAAvCC,KAAuC,QAAvCA,KAAuC;AAAA,MAAhChG,KAAgC,QAAhCA,KAAgC;AAAA,MAAzBqF,YAAyB,QAAzBA,YAAyB;AAAA,MAAX3D,IAAW,QAAXA,IAAW;AAChG;AACA;;AAEA,MAAI,gBAAJ,UAA8B;AAC1BuE,iBAAa,GAAGC,yBAAM,OAAO;AAAEC,UAAI,EAAN;AAAcC,YAAM,EAAE;AAAtB,KAAP,CAAtBH;;AACA,QAAI,oCAAoCH,kBAAkB,CAAlBA,SAAxC,YAAwCA,CAAxC,EAAmF;AAC/EO,2BAAqB,GAArBA;AADJ,WAEO;AACHA,2BAAqB,GAArBA;AACH;AACJ;;AAED,sBACI;AAAK,QAAI,EAAE9E;AAAX,kBACI;AACI,iBADJ;AAEI,SAAK,EAFT;AAGI,WAAO,EAAE,oBAAC;AAAA,aAAI,sCAAsC8D,YAAY,CAAtD,CAAsD,CAAtD;AAHd;AAII,iBAAa,EAAE,CAAC,CAJpB;AAKI,QAAI,EALR;AAMI,SAAK,EANT;AAOI,iBAAa,EAPjB;AAQI,yBAAqB,EARzB;AASI,yBAAqB,EAAE9D,QAAQ,GAAG;AATtC,KAFR,KAEQ,CADJ,CADJ;AAbJ;;AAgCAkE,6BAAkB,CAAlBA,YAA+B;AAC3BlB,OAAK,EAAEoB,6BAAC,CADmB;AAE3BpE,UAAQ,EAAEoE,6BAAC,CAFgB;AAG3BjE,MAAI,EAAEiE,6BAAC,CAHoB;AAI3BI,cAAY,EAAEJ,6BAAC,CAADA,MAJa,kBAIbA,CAJa;AAK3B3F,OAAK,EAAE2F,6BAAC,CAADA,UAAY,CAACA,6BAAC,CAAF,QAAWA,6BAAC,CALJ,MAKR,CAAZA,CALoB;AAM3BK,OAAK,EAAEL,6BAAC,CAADA,UAAY,CAACA,6BAAC,CAAF,QAAWA,6BAAC,CANJ,MAMR,CAAZA,CANoB;AAO3BN,cAAY,EAAEM,6BAAC,CAACW;AAPW,CAA/Bb;AAUA,8E;;;AC3FA;AACA;AACA;AACA;AACA;AACA;AAEA,IAAMH,uBAAM,GAAGC,oCAAM,CAAT,GAAGA,CAAH,UAAGA,CAAH;AAAA;AAAA;AAAA,CAAGA,EAAH,CAAZ,8EAAY,CAAGA,CAAf;AAOA,IAAMM,oBAAG,GAAGN,oCAAM,CAAT,GAAGA,CAAH,UAAGA,CAAH;AAAA;AAAA;AAAA,CAAGA,EAAH,4EAAGA,EAGO,iBAAK;AAAA,SAAI3F,KAAK,CAALA,SAAJ;AAHxB,CAAY2F,CAAZ;AAOA,IAAMC,qBAAI,GAAGD,oCAAM,CAAT,GAAGA,CAAH,UAAGA,CAAH;AAAA;AAAA;AAAA,CAAGA,EAAH,qHAAGA,EAGI,iBAAK;AAAA,SAAI3F,KAAK,CAALA,QAAJ;AAHZ,CAAG2F,EAIA,iBAAK;AAAA,SAAI3F,KAAK,CAALA,SAAJ;AAJR,CAAG2F,EAAH,uCAAGA,EAMC,iBAAK;AAAA,SAAI3F,KAAK,CAALA,QAAJ;AANnB,CAAa2F,CAAb;;AAUA,IAAMgB,iCAAgB,GAAG,SAAnBA,gBAAmB,OAAkB;AAAA,MAAZ3G,KAAY;;AAAA,MAEnCZ,UAFmC,GAgBnCY,KAhBmC;AAAA,MAGnC6C,iBAHmC,GAgBnC7C,KAhBmC;AAAA,MAInC+B,SAJmC,GAgBnC/B,KAhBmC;AAAA,MAKnC6D,eALmC,GAgBnC7D,KAhBmC;AAAA,MAMnCV,UANmC,GAgBnCU,KAhBmC;AAAA,MAOnC8C,iBAPmC,GAgBnC9C,KAhBmC;AAAA,MAQnCmC,SARmC,GAgBnCnC,KAhBmC;AAAA,MASnC4G,kBATmC,GAgBnC5G,KAhBmC;AAAA,MAUnC8B,IAVmC,GAgBnC9B,KAhBmC;AAAA,MAWnCmG,YAXmC,GAgBnCnG,KAhBmC;AAAA,MAYnCuC,UAZmC,GAgBnCvC,KAhBmC;AAAA,MAanC6G,kBAbmC,GAgBnC7G,KAhBmC;AAAA,MAcnCE,eAdmC,GAgBnCF,KAhBmC;AAAA,MAenCyF,YAfmC,GAgBnCzF,KAhBmC;AAiBvC,MAAM8G,qBAAqB,GAAG3E,SAAS,KAATA,MAA9B;AAEA,sBACI,mFACI;AAAK,SAAK,EAAC;AAAX,kBACI;AACI,iBADJ;AAEI,SAAK,EAFT;AAGI,YAAQ,EAHZ;AAII,QAAI,EAJR;AAKI,gBAAY,EALhB;AAMI,SAAK,EANT;AAOI,SAAK,EAPT;AAQI,gBAAY,EAAEsD;AARlB,IADJ,EAWKqB,qBAAqB;AAAA;AAClB;AACA;AACI,iBADJ;AAEI,YAAQ,EAFZ;AAGI,SAAK,EAHT;AAII,SAAK,EAJT;AAKI,QAAI,EAAE3E;AALV,IAbR,CADJ,EAuBKI,UAAU,iBACP;AAAK,WAAO,EAAC;AAAb,kBACI;AAAM,iBAAN;AAA6B,QAAI,EAAjC;AAAuD,SAAK,EAAErC;AAA9D,KA1BhB,UA0BgB,CADJ,CAxBR,CADJ;AAnBJ;;AAsDAyG,iCAAgB,CAAhBA,YAA6B;AACzB5E,WAAS,EAAEgE,6BAAC,CADa;AAEzB3G,YAAU,EAAE2G,6BAAC,CAFY;AAGzBlD,mBAAiB,EAAEkD,6BAAC,CAHK;AAIzBlC,iBAAe,EAAEkC,6BAAC,CAJO;AAKzB5D,WAAS,EAAE4D,6BAAC,CALa;AAMzBjD,mBAAiB,EAAEiD,6BAAC,CANK;AAOzBzG,YAAU,EAAEyG,6BAAC,CAPY;AAQzBa,oBAAkB,EAAEb,6BAAC,CARI;AASzBjE,MAAI,EAAEiE,6BAAC,CATkB;AAUzBI,cAAY,EAAEJ,6BAAC,CAADA,MAAQ,WAVG,OAUH,CAARA,CAVW;AAWzBxD,YAAU,EAAEwD,6BAAC,CAXY;AAYzBc,oBAAkB,EAAEd,6BAAC,CAZI;AAazB7F,iBAAe,EAAE6F,6BAAC,CAbO;AAczBN,cAAY,EAAEM,6BAAC,CAACW;AAdS,CAA7BC;AAiBO,IAAMI,qBAAqB,GAA3B;AACP,8I;;;;;;;ACvGA,wD;;;;;;;ACAA,0D;;;;;;;ACAA,mC;;;;;;;ACAA,kE","file":"SingleValueBasic.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 62);\n","module.exports = require(\"prop-types\");","module.exports = require(\"react\");","import { get } from 'lodash';\nimport { isNumerial, formatNumber } from '@splunk/visualizations-shared/numberUtils';\nimport { computeTextSize } from '@splunk/visualizations-shared/domUtils';\nimport { formatColor } from '@splunk/visualizations-shared/propUtils';\nimport { DELTA_GREEN, DELTA_RED } from '@splunk/visualizations-shared/colorConstants';\n\nexport const DEFAULT_FONT = 12;\nexport const DEFAULT_FONT_FAMILY =\n '\"Splunk Platform Sans\", \"Proxima Nova\", \"Helvetica Neue\", Helvetica, Arial, sans-serif';\n\nexport const SVR_PADDING = { top: 12, bottom: 12, left: 16, right: 16 };\n\n/**\n * @method shouldShowTrend\n * @param {String} trendDisplay\n * @returns {Bool}\n */\nexport const shouldShowTrend = trendDisplay => trendDisplay === 'absolute' || trendDisplay === 'percent';\n\n/**\n * @method isLoadingOrNoColumns\n * @param {Object} dataSources\n * @param {Boolean} loading\n * @returns {Boolean} return true if loading or without columns in dataSources\n */\nexport const isLoadingOrNoColumns = (dataSources, loading) => {\n const data = get(dataSources, 'primary.data.columns[0]', undefined);\n const noColumns = data === undefined;\n return loading || noColumns;\n};\n\n/**\n * Retrieve the valid formatted color\n * @method getFormattedColor\n * @param {String} color\n * @param {String} defaultColor\n * @returns {String} the formatted color\n */\nexport const getFormattedColor = (color, defaultColor) => formatColor(color) || formatColor(defaultColor);\n\n/**\n * Determines if there is a background color\n * @method hasBackground\n * @param {String} backgroundColor\n * @returns true for non-transparent background color\n */\nexport const hasBackground = backgroundColor => !!backgroundColor && backgroundColor !== 'transparent';\n\n/**\n * @method isIdenticalColor\n * @param {String} colorA\n * @param {String} colorB\n * @returns {Boolean}\n */\nexport const isIdenticalColor = (colorA, colorB) =>\n !!colorA && !!colorB && formatColor(colorA.toLowerCase()) === formatColor(colorB.toLowerCase());\n\n/*\n * @method getDefaultColorWithBg\n * @param {Object} props\n * @param {String} props.backgroundColor\n * @param {String} props.defaultFontColor\n * @param {String} props.defaultBlockFontColor\n * @returns {String} defaultColor\n */\nexport const getDefaultColorWithBg = ({ backgroundColor, defaultFontColor, defaultBlockFontColor }) =>\n isIdenticalColor(backgroundColor, defaultBlockFontColor) ? defaultFontColor : defaultBlockFontColor;\n\n/*\n * @method getMajorColor\n * return formatted majorColor.\n * @param {Object} props\n * @param {String} props.majorColor\n * @param {String} props.backgroundColor\n * @param {String} props.defaultFontColor\n * @param {String} props.defaultBlockFontColor\n * @returns {String} majorColor\n */\nexport const getMajorColor = ({ majorColor, backgroundColor, defaultFontColor, defaultBlockFontColor }) => {\n // If backgroundColor is set, but no majorColor,\n // the default majorColor will turn to be defaultBlockFontColor.\n // eg: major color will turn to be white in enterprise mode.\n // however, if the bgColor is the same as defaultBlockFontColor, use defaultFontColor.\n if (hasBackground(backgroundColor) && !majorColor) {\n return getDefaultColorWithBg({\n backgroundColor,\n defaultFontColor,\n defaultBlockFontColor,\n });\n }\n\n return getFormattedColor(majorColor, defaultFontColor);\n};\n\n/**\n * Get the color for the trend components\n * @method getTrendColor\n * @param {Object} props\n * @param {String} props.trendColor The trendColor value determined from encoding\n * @param {Number} props.trendValue\n * @param {Number} props.majorValue\n * @param {String} props.customizedBgColor\n * @param {String} props.trendDisplay absolute || percent || off\n * @param {Object} defaultColors\n * @returns {String} trendColor\n */\nexport const getTrendColor = ({\n trendColor,\n trendValue,\n majorValue,\n customizedBgColor,\n trendDisplay,\n defaultColors,\n}) => {\n if (trendColor) {\n return trendColor;\n }\n\n if (Number.isNaN(Number(trendValue))) {\n return undefined;\n }\n\n const { defaultFontColor, defaultBlockFontColor, defaultBackgroundColor } = defaultColors;\n\n // if user defined a backgroundColor, the default trend color will be defaultBlockFontColor\n if (\n hasBackground(customizedBgColor) &&\n !isIdenticalColor(customizedBgColor, defaultBackgroundColor) &&\n !isIdenticalColor(customizedBgColor, defaultBlockFontColor)\n ) {\n return defaultBlockFontColor;\n }\n\n // if trendDisplay is percent, and trendValue === value\n // the trend percent = trendValue / (value - trendValue) will return Infinity\n const isInvalidTrend = trendDisplay === 'percent' && trendValue === parseFloat(majorValue);\n\n if (trendValue === 0 || isInvalidTrend) {\n return defaultFontColor;\n }\n\n return trendValue > 0 ? DELTA_GREEN : DELTA_RED;\n};\n\n/**\n * Computes visualization properties for display component\n * @method computeColors\n * @param {Object} props all viz props\n * @param {Object} defaultColors defaultColors from theme\n * @returns {Object} result\n * @returns {Boolean} backgroundEnabled\n * @returns {String} backgroundColor\n * @returns {String} majorColor\n * @returns {String} trendColor\n * @returns {String} underLabelColor\n */\nexport const computeColors = (props, defaultColors) => {\n const backgroundColor = getFormattedColor(props.backgroundColor, defaultColors.defaultBackgroundColor);\n const backgroundEnabled = hasBackground(backgroundColor);\n const majorColor = getMajorColor({\n majorColor: props.majorColor,\n backgroundColor,\n defaultFontColor: defaultColors.defaultFontColor,\n defaultBlockFontColor: defaultColors.defaultBlockFontColor,\n });\n const trendColor = getTrendColor({\n trendColor: props.trendColor,\n trendValue: props.trendValue,\n majorValue: props.majorValue,\n customizedBgColor: props.backgroundColor,\n trendDisplay: props.trendDisplay,\n defaultColors,\n });\n // todo: need change it to not depend on majorColor\n const underLabelColor = backgroundEnabled ? majorColor : defaultColors.defaultFontColor;\n\n return {\n backgroundColor,\n backgroundEnabled,\n majorColor,\n trendColor,\n underLabelColor,\n };\n};\n\n/**\n * Format and return the value (major/trend)\n * @method computeText\n * @param {Object} props\n * @param {Number} props.value // The major/trend value\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @param {Bool} props.shouldAbbreviateTrendValue\n * @returns {Number} major or trend text\n */\nexport const computeText = ({\n value,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n}) => {\n let text = isNumerial(value)\n ? formatNumber(value, numberPrecision, {\n useThousandSeparators: shouldUseThousandSeparators, // todo: need update formatNumber\n useTrendUnits: shouldAbbreviateTrendValue,\n })\n : value;\n // When text is undefined, return empty string\n text = text || '';\n return text;\n};\n\n/*\n * @method getMajorText\n * @param {Object} props\n * @param {Number} props.majorValue\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @returns {String} majorText\n */\nexport const getMajorText = ({ majorValue, numberPrecision, shouldUseThousandSeparators }) =>\n computeText({\n value: majorValue === null ? 'N/A' : majorValue, // if majorValue is null, use `N/A`.\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue: false,\n });\n\n/*\n * @method getTrendText\n * @param {Object} props\n * @param {Number} props.majorValue\n * @param {Number} props.trendValue\n * @param {String} props.trendDisplay\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @param {Bool} props.shouldAbbreviateTrendValue\n * @returns {String} trendText\n */\nexport const getTrendText = ({\n majorValue,\n trendValue,\n trendDisplay,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n}) => {\n const compute = value =>\n computeText({\n value,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n });\n\n if (trendValue === '' || !isNumerial(trendValue)) {\n return '';\n }\n const showPercent = trendDisplay === 'percent';\n if (!showPercent) {\n return compute(trendValue);\n }\n\n const diff = Math.abs(trendValue - majorValue);\n let val = Math.round((trendValue / diff) * 100);\n if (trendValue === 0 && diff === 0) {\n val = 0;\n }\n\n if (!Number.isFinite(val)) {\n return 'N/A';\n }\n const text = compute(val);\n\n return `${text}%`;\n};\n\n/**\n * Helper to determine the font size for an element\n * @method computeFontSize\n * @param {String} text The string to find a size for\n * @param {Object} dimensions\n * @param {Number} dimensions.width The width of the container\n * @param {Number} dimensions.height The height of the container\n * @param {String} [fontFamily='\"Splunk Platform Sans\" ...'] The font being used\n * @param {String} [fontWeight='normal'] Boldness of font\n * @returns {Number} The size to use for fontSize styles\n */\nexport const computeFontSize = (\n text,\n { width, height },\n fontFamily = DEFAULT_FONT_FAMILY,\n fontWeight = 'normal'\n) => {\n const widthInDefaultFont = computeTextSize(text, `${fontWeight} ${DEFAULT_FONT}px ${fontFamily}`);\n const fontSize = Math.min(\n (width / widthInDefaultFont) * DEFAULT_FONT,\n (height / DEFAULT_FONT) * DEFAULT_FONT\n );\n return parseInt(fontSize, 10);\n};\n\n/*\n * @method getMajorFontSize\n * @param {Object} props\n * @param {Number} props.width\n * @param {Number} props.height\n * @param {String} props.unit\n * @param {String} props.majorText\n * @param {Number} props.spaceRatio\n * @returns {Number} majorFontSize\n */\nexport const getMajorFontSize = ({ width, height, unit, majorText, spaceRatio = 1 }) => {\n const majorTextCalc = unit ? `${unit}${majorText}` : majorText;\n return computeFontSize(majorTextCalc, {\n width: width * spaceRatio,\n height,\n });\n};\n\n/*\n * @method getTrendFontSize\n * @param {Object} props\n * @param {Number} props.width\n * @param {Number} props.height\n * @param {String} props.trendText\n * @param {Number} props.spaceRatio\n * @returns {Number} trendFontSize\n */\nexport const getTrendFontSize = ({ width, height, trendText, spaceRatio = 1 }) => {\n let trendFontSize = 12;\n if (spaceRatio > 0) {\n trendFontSize = computeFontSize(trendText, {\n width: width * spaceRatio,\n height,\n });\n trendFontSize = parseInt(trendFontSize, 10) * spaceRatio;\n }\n return trendFontSize;\n};\n\n/*\n * The height of underLabel should no more than 12px\n * @param {Number} height\n * @return {Number} height || DEFAULT_FONT\n */\nexport const getUnderLabelHeight = height => (height > DEFAULT_FONT ? DEFAULT_FONT : height);\n\n/*\n * @param {Object} config\n * @param {String} underLabel\n * @param {Number} width width of underLabel\n * @param {Number} height height of underLabel\n * @param {Number} fond size of underLabel\n */\nexport const getUnderLabel = ({ underLabel, width, height }) =>\n // todo: may need truncate underLabel later\n computeFontSize(underLabel, {\n width,\n height,\n });\n\n/**\n * Compute value and font size for major and trend\n * @method getMajorAndTrend\n * @param {Object} props\n * @param {Number} props.width // Width of the text container\n * @param {Number} props.height // Height of the text container\n * @param {Number} props.majorValue // Major value\n * @param {Number} props.trendValue // Trend value\n * @param {Number} props.majorFontSize\n * @param {Number} props.trendFontSize\n * @param {String} props.trendDisplay\n * @param {String} props.unit // Unit for the value\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @param {Bool} props.shouldAbbreviateTrendValue\n * @returns {Number, Number, Number, Number} Major text, trend text, major text size, trend text size\n */\nexport const getMajorAndTrend = ({\n width,\n height,\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n trendDisplay,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n}) => {\n const majorTextSpaceRatio = isNumerial(trendValue) && shouldShowTrend(trendDisplay) ? 0.6 : 1;\n const textContentWidth = width * 0.9;\n const textContentHeight = height * 0.9;\n const majorText = getMajorText({ majorValue, numberPrecision, shouldUseThousandSeparators });\n const majorTextFontSize =\n majorFontSize ||\n getMajorFontSize({\n width: textContentWidth,\n height: textContentHeight,\n unit,\n majorText,\n spaceRatio: majorTextSpaceRatio,\n });\n const trendText = getTrendText({\n majorValue,\n trendValue,\n trendDisplay,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n });\n\n const trendTextFontSize =\n trendFontSize ||\n getTrendFontSize({\n width: textContentWidth,\n height: textContentHeight,\n trendText,\n spaceRatio: 1 - majorTextSpaceRatio,\n });\n\n return {\n majorText,\n majorTextFontSize,\n trendText,\n trendTextFontSize,\n };\n};\n\n/*\n * @method updateVizInSmallSpace\n * @param {Object} props\n * @param {Number} props.width // Width of the text container\n * @param {Number} props.height // Height of the text container\n * @param {Object} props.toRemoveList\n * @param {Number} props.majorValue // Major value\n * @param {Number} props.trendValue // Trend value\n * @param {Number} props.majorFontSize\n * @param {Number} props.trendFontSize\n * @param {Number} props.majorTextFontSize\n * @param {String} props.unit // Unit for the value\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @param {Bool} props.shouldAbbreviateTrendValue\n * @returns {Object} results\n * @returns {Object} results.newMajorAndTrend\n * @returns {Object} results.updatedProps\n */\nexport const updateVizInSmallSpace = ({\n width,\n height,\n toRemoveList,\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n majorTextFontSize,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n}) => {\n let removeIndex = 0;\n let newProps = {}; // options need to be updated\n let newMajorAndTrend = {};\n let newTextSize = majorTextFontSize;\n\n // remove info on viz to make textFontSize >= 12px;\n while (newTextSize < 12 && removeIndex < toRemoveList.length) {\n const toRemove = toRemoveList[removeIndex];\n newProps = {\n ...newProps,\n ...{\n [toRemove.key]: toRemove.value,\n },\n };\n\n newMajorAndTrend = getMajorAndTrend({\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n width,\n height,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n ...newProps,\n });\n\n newTextSize = newMajorAndTrend.majorTextFontSize;\n removeIndex += 1;\n }\n\n // truncate text if textFontSize is still less than 12\n if (newTextSize < 12) {\n const truncateValue = `${majorValue.toString().slice(0, 3)}...`;\n newMajorAndTrend = getMajorAndTrend({\n majorValue: truncateValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n width,\n height,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n ...newProps,\n });\n }\n\n return { newMajorAndTrend, updatedProps: newProps };\n};\n\n/*\n * @method computeSingleValueContent\n * @param {Object} props\n * @param {Number} props.contentWidth\n * @param {Number} props.contentHeight\n * @param {Number} props.containerWidth\n * @param {Number} props.containerHeight\n * @param {Number} props.majorValue // Major value\n * @param {Number} props.trendValue // Trend value\n * @param {Number} props.majorFontSize\n * @param {Number} props.trendFontSize\n * @param {String} props.trendDisplay\n * @param {String} props.unit // Unit for the value\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @param {Bool} props.shouldAbbreviateTrendValue\n * @param {Object} props.toRemoveList\n * @returns {Object} results\n * @returns {String} results.majorText\n * @returns {String} results.trendText\n * @returns {Number} results.majorTextFontSize\n * @returns {Number} results.trendTextFontSize\n * @returns {String} results.majorValueTitle\n * @returns {Object} results.smallVizProps\n */\nexport const computeSingleValueContent = ({\n contentWidth,\n contentHeight,\n containerWidth,\n containerHeight,\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n trendDisplay,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n toRemoveList,\n}) => {\n let { majorText, trendText, majorTextFontSize, trendTextFontSize } = getMajorAndTrend({\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n trendDisplay,\n width: contentWidth,\n height: contentHeight,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n });\n const majorValueTitle = majorText;\n let smallVizProps = {};\n\n // update viz in small space\n // if textFontSize is less than 12, remove extra info like sparkline, trendvalue, unit\n // or truncate major value to make the major font size >= 12\n if (majorTextFontSize < 12) {\n const { newMajorAndTrend, updatedProps } = updateVizInSmallSpace({\n width: containerWidth,\n height: containerHeight,\n toRemoveList,\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n majorTextFontSize,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n });\n\n ({ majorText, trendText, majorTextFontSize, trendTextFontSize } = newMajorAndTrend);\n smallVizProps = updatedProps;\n }\n return {\n majorText,\n trendText,\n majorTextFontSize,\n trendTextFontSize,\n majorValueTitle,\n smallVizProps,\n };\n};\n\nexport const minimallyTruncateStringToWidth = ({\n text,\n fontSize = DEFAULT_FONT,\n fontFamily = DEFAULT_FONT_FAMILY,\n fontWeight = 'normal',\n containerWidth,\n}) => {\n let textWidth = computeTextSize(text, `${fontWeight} ${fontSize}px ${fontFamily}`);\n let modifiedText = text;\n\n const ellipsesLength = computeTextSize('...', `${fontWeight} ${fontSize}px ${fontFamily}`);\n // `containerWidth - ellipsesLength > 0` condition ensures space even exists for text.\n if (containerWidth - ellipsesLength > 0 && textWidth > containerWidth) {\n // Truncates the content such that the truncated value + ellipses fit within the allocated space for the ellipses.\n // `textWidth > containerWidth - ellipsesLength` condition checks if text + ellipses exceeds container width.\n // `text.length > 1` condition included to keep at least the first number.\n while (textWidth + ellipsesLength > containerWidth && modifiedText.length > 1) {\n modifiedText = modifiedText.substring(0, modifiedText.length - 1);\n textWidth = computeTextSize(modifiedText, `normal ${fontSize}px ${fontFamily}`);\n }\n\n modifiedText = `${modifiedText}...`;\n }\n\n return modifiedText;\n};\n\n/*\n * @method computeSingleValueRadialContent\n * @param {Object} props\n * @param {Number} props.contentWidth\n * @param {Number} props.contentHeight\n * @param {Number} props.containerWidth\n * @param {Number} props.containerHeight\n * @param {Number} props.majorValue // Major value\n * @param {Number} props.trendValue // Trend value\n * @param {Number} props.majorFontSize\n * @param {Number} props.trendFontSize\n * @param {String} props.trendDisplay\n * @param {String} props.unit // Unit for the value\n * @param {Number} props.numberPrecision\n * @param {Bool} props.shouldUseThousandSeparators\n * @param {Bool} props.shouldAbbreviateTrendValue\n * @param {Object} props.toRemoveList\n * @param {Bool} props.smallViz\n * @returns {Object} results\n * @returns {String} results.majorText\n * @returns {String} results.trendText\n * @returns {Number} results.majorTextFontSize\n * @returns {Number} results.trendTextFontSize\n * @returns {String} results.majorValueTitle\n * @returns {Object} results.smallVizProps\n */\nexport const computeSingleValueRadialContent = ({\n contentWidth,\n contentHeight,\n containerWidth,\n containerHeight,\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n trendDisplay,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n smallViz,\n}) => {\n let { majorText, trendText, majorTextFontSize, trendTextFontSize } = getMajorAndTrend({\n majorValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n trendDisplay,\n width: contentWidth,\n height: contentHeight,\n unit,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n });\n\n const majorValueTitle = majorText;\n let smallVizProps = {};\n\n // custom logic for viz in small space\n // if not showing the radial graph (if `smallViz` is true), then compute truncated major value\n // and font sizes\n if (smallViz) {\n const truncateValue = minimallyTruncateStringToWidth({\n text: majorValue,\n fontWeight: 'bold',\n fontSize: 12,\n containerWidth,\n });\n\n ({ majorText, trendText, majorTextFontSize, trendTextFontSize } = getMajorAndTrend({\n majorValue: truncateValue,\n trendValue,\n majorFontSize,\n trendFontSize,\n width: containerWidth,\n height: containerHeight,\n unit,\n trendDisplay,\n numberPrecision,\n shouldUseThousandSeparators,\n shouldAbbreviateTrendValue,\n }));\n\n smallVizProps = {\n trendDisplay,\n unit,\n };\n }\n\n return {\n majorText,\n trendText,\n majorTextFontSize,\n trendTextFontSize,\n majorValueTitle,\n smallVizProps,\n };\n};\n\n/**\n * Get the colors for a graph\n *\n * @method getGraphColors\n * @param {Object} options\n * @param {Bool} options.backgroundEnabled // Flag to turn on color mode\n * @param {String} options.backgroundColor // The current background color, overrides trend background color\n * @param {Object} options.defaultColors // Default colors by severity\n * @param {Function} options.customColorFormatter // must return { background, stroke } given a color\n * @returns {Object} { background, stroke } colors\n * @private\n */\nexport const getGraphColors = ({\n backgroundEnabled,\n backgroundColor,\n defaultColors,\n customColorFormatter,\n}) => {\n // Only do custom colors in block mode\n if (backgroundEnabled) {\n // Check if the user defined colors to use\n if (backgroundColor && typeof customColorFormatter === 'function') {\n return customColorFormatter(backgroundColor);\n }\n }\n\n return defaultColors.none;\n};\n\n/**\n * Adjust rgb value if it equals to 0 or 255\n * @method adjustRGB\n * @param {Number} rgb [0 - 255]\n * @param {Number} delta\n * @returns {Number} adjusted rgb\n * @private\n */\nexport const adjustRGB = (rgb, delta) => {\n if (rgb === 255) {\n return rgb - delta;\n }\n\n if (rgb === 0) {\n return rgb + delta;\n }\n\n return rgb;\n};\n\n/**\n * Modifies colors by multiplying by a given ratio\n * @method changeColor\n * @param {String} color // Color to modify\n * @param {Number} ratio // Float to modify color\n * @returns {String} new color\n * @private\n */\nconst changeColor = (color, ratio) => {\n const hex = color.replace(/(0x|#)/, '');\n const r = parseInt(hex.substr(0, 2), 16);\n const g = parseInt(hex.substr(2, 2), 16);\n const b = parseInt(hex.substr(4, 2), 16);\n\n // Multiply by given ratio, make sure is between 0 and 255;\n let newR = Math.max(Math.min(Math.floor(r * ratio), 255), 0);\n let newG = Math.max(Math.min(Math.floor(g * ratio), 255), 0);\n let newB = Math.max(Math.min(Math.floor(b * ratio), 255), 0);\n\n // If the color is not changed\n // case 1: the color is (0, 0 0)\n // lighten color (80, 80, 80)\n // darken color (40, 40, 40)\n // case 2: the color is (255, 255, 255)\n // lighten color (235, 235, 235)\n // darken color (175, 175, 175)\n // case 3: the color is e.g. (0, 255, 0)\n // new color (20, 235, 20)\n if (newR === r && newG === g && newB === b) {\n if (newR === 0 && newG === 0 && newB === 0) {\n if (ratio > 1) {\n newR = adjustRGB(newR, 80);\n newG = adjustRGB(newG, 80);\n newB = adjustRGB(newB, 80);\n } else {\n newR = adjustRGB(newR, 40);\n newG = adjustRGB(newG, 40);\n newB = adjustRGB(newB, 40);\n }\n } else if (newR === 255 && newG === 255 && newB === 255) {\n if (ratio > 1) {\n newR = adjustRGB(newR, 20);\n newG = adjustRGB(newG, 20);\n newB = adjustRGB(newB, 20);\n } else {\n newR = adjustRGB(newR, 80);\n newG = adjustRGB(newG, 80);\n newB = adjustRGB(newB, 80);\n }\n } else {\n newR = adjustRGB(newR, 20);\n newG = adjustRGB(newG, 20);\n newB = adjustRGB(newB, 20);\n }\n }\n\n return (\n `#${newR.toString(16).padStart(2, 0)}` +\n `${newG.toString(16).padStart(2, 0)}` +\n `${newB.toString(16).padStart(2, 0)}`\n );\n};\n\n/**\n * Lighten a given color\n * @method lighten\n * @param {String} color\n * @returns {String}\n * @private\n */\nexport const lighten = color => changeColor(color, 1.3);\n\n/**\n * Darkens a given color\n * @method darken\n * @param {String} color\n * @returns {String}\n * @private\n */\nexport const darken = color => changeColor(color, 0.5);\n\n/** consistent token structure: handle callback to add value and name in event payload\n * @method handleValueClickCallback\n * @param {Object} ev\n * @param {String | Number} majorValue\n * @param {String} majorValueField\n * @param {Number} trendValue\n * @param {Function} onValueClick\n */\nexport const handleValueClickCallback = (ev, majorValue, majorValueField, trendValue, onValueClick) => {\n const payload = {\n trendValue,\n value: majorValue,\n name: majorValueField,\n };\n\n return onValueClick({ ...ev, payload });\n};\n","module.exports = require(\"@splunk/visualizations-shared/propUtils\");","module.exports = require(\"lodash\");","module.exports = require(\"@splunk/visualizations-shared/numberUtils\");","module.exports = require(\"styled-components\");","module.exports = require(\"@splunk/visualizations-shared/colorConstants\");","module.exports = require(\"@babel/runtime/helpers/extends\");","module.exports = require(\"@splunk/visualizations-shared/domUtils\");","import React from 'react';\nimport T from 'prop-types';\nimport styled from 'styled-components';\nimport ArrowUp from '@splunk/react-icons/ArrowUp';\nimport ArrowDown from '@splunk/react-icons/ArrowDown';\nimport { DEFAULT_FONT_FAMILY } from '../common/utils/singleValueUtils';\n\nconst Column = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: ${props => props.justify || 'flex-end'};\n height: ${props => props.size || 12}px;\n ${props => (props.size ? `margin: 0 ${parseInt(props.size, 10) * 0.2 || 5}px;` : '')};\n`;\n\nconst Text = styled.div`\n white-space: nowrap;\n font-size: ${props => props.size || 12}px;\n color: ${props => props.color || '#000'};\n font-family: ${DEFAULT_FONT_FAMILY};\n height: ${props => props.size || 12}px;\n line-height: ${props => props.size || 12}px;\n display: flex;\n align-self: baseline;\n ${props => (props.size ? `margin-left: ${parseInt(props.size, 10) * 0.2 || 5}px;` : '')};\n`;\n\nconst SingleValueContent = ({ fontSize, color, value, text }) => {\n let TrendIndicator = false;\n\n if (parseFloat(value, 10) > 0) {\n TrendIndicator = ArrowUp;\n } else if (parseFloat(value, 10) < 0) {\n TrendIndicator = ArrowDown;\n }\n\n return (\n <Column justify=\"flex-end\" size={fontSize}>\n <Text data-test=\"trendValueIndicator\" size={fontSize} color={color}>\n {TrendIndicator && <TrendIndicator />}\n </Text>\n <Text data-test=\"trendValue\" size={fontSize} color={color}>\n {`${text}`}\n </Text>\n </Column>\n );\n};\n\nSingleValueContent.propTypes = {\n fontSize: T.number,\n color: T.string,\n value: T.oneOfType([T.string, T.number]),\n text: T.string,\n};\n\nexport default SingleValueContent;\n","import React from 'react';\nimport T from 'prop-types';\nimport styled from 'styled-components';\nimport cssesc from 'cssesc';\nimport { DEFAULT_FONT_FAMILY } from '../common/utils/singleValueUtils';\n\nconst Row = styled.div`\n display: flex;\n flex-direction: row;\n align: flex-start;\n align-items: flex-end;\n justify: left;\n justify-content: left;\n line-height: ${props => props.size}px;\n height: ${props => props.size}px;\n`;\n\nconst Text = styled.div`\n white-space: nowrap;\n font-size: ${props => props.size || 12}px;\n color: ${props => props.color};\n font-family: ${DEFAULT_FONT_FAMILY};\n font-weight: bold;\n &:hover {\n text-decoration: ${props => (props.showUnderline ? 'underline' : 'inherit')};\n cursor: ${props => (props.showUnderline ? 'pointer' : 'inherit')};\n }\n ${props => {\n if (!props.pseudoContent || !props.pseudoContentPosition) {\n return '';\n }\n return `&:${props.pseudoContentPosition} {\n // by default this pseudo element would inherit text-decoration from main element\n // and text-decoration could not be overwritten.\n // adding display: inline-block makes text decoration independent from main element.\n // => the unit will not be underlined if a user hovers over the main value\n display: inline-block;\n font-size: ${props.pseudoContentFontSize}px;\n vertical-align: text-top;\n position: relative;\n top: 5px; // magic number to tweak vertical alignment of unit\n font-weight: normal;\n content: ${props.pseudoContent};\n }`;\n }}\n`;\n\nconst validUnitPositions = ['before', 'after'];\n\nconst SingleValueContent = ({ color, fontSize, unitPosition, title, value, onValueClick, unit }) => {\n let sanitizedUnit;\n let sanitizedUnitPosition;\n\n if (typeof unit === 'string') {\n sanitizedUnit = cssesc(unit, { wrap: true, quotes: 'double' });\n if (typeof unitPosition === 'string' && validUnitPositions.includes(unitPosition)) {\n sanitizedUnitPosition = unitPosition;\n } else {\n sanitizedUnitPosition = 'after';\n }\n }\n\n return (\n <Row size={fontSize}>\n <Text\n data-test=\"majorValue\"\n color={color}\n onClick={e => typeof onValueClick === 'function' && onValueClick(e)}\n showUnderline={!!onValueClick}\n size={fontSize}\n title={title}\n pseudoContent={sanitizedUnit}\n pseudoContentPosition={sanitizedUnitPosition}\n pseudoContentFontSize={fontSize * 0.6}\n >\n {value}\n </Text>\n </Row>\n );\n};\n\nSingleValueContent.propTypes = {\n color: T.string,\n fontSize: T.number,\n unit: T.string,\n unitPosition: T.oneOf(validUnitPositions),\n value: T.oneOfType([T.string, T.number]),\n title: T.oneOfType([T.string, T.number]),\n onValueClick: T.func,\n};\n\nexport default SingleValueContent;\n","import React from 'react';\nimport T from 'prop-types';\nimport styled from 'styled-components';\nimport { DEFAULT_FONT_FAMILY } from '../common/utils/singleValueUtils';\nimport TrendValue from './TrendValue';\nimport MajorValue from './MajorValue';\n\nconst Column = styled.div`\n display: flex;\n flex-direction: column;\n align-self: center;\n justify-content: center;\n`;\n\nconst Row = styled.div`\n display: flex;\n flex-direction: row;\n align-items: ${props => props.align || 'center'};\n justify-content: center;\n`;\n\nconst Text = styled.div`\n font-weight: normal;\n white-space: nowrap;\n font-size: ${props => props.size || 12}px;\n color: ${props => props.color || '#000'};\n font-family: ${DEFAULT_FONT_FAMILY};\n height: ${props => props.size || 12}px;\n line-height: 1.2;\n`;\n\nconst SingleValueBasic = ({ ...props }) => {\n const {\n majorColor,\n majorTextFontSize,\n majorText,\n majorValueTitle,\n trendColor,\n trendTextFontSize,\n trendText,\n showTrendIndicator,\n unit,\n unitPosition,\n underLabel,\n underLabelFontSize,\n underLabelColor,\n onValueClick,\n } = props;\n const trendIndicatorEnabled = trendText !== '' && showTrendIndicator;\n\n return (\n <Column>\n <Row align=\"baseline\">\n <MajorValue\n data-test=\"MajorValue\"\n color={majorColor}\n fontSize={majorTextFontSize}\n unit={unit}\n unitPosition={unitPosition}\n value={majorText}\n title={majorValueTitle}\n onValueClick={onValueClick}\n />\n {trendIndicatorEnabled && (\n // Passing the same value for value and text is a temporary hold until completion of https://jira.splunk.com/browse/SCP-21371\n <TrendValue\n data-test=\"TrendIndicator\"\n fontSize={trendTextFontSize}\n color={trendColor}\n value={trendText}\n text={trendText}\n />\n )}\n </Row>\n {underLabel && (\n <Row justify=\"center\">\n <Text data-test=\"underLabel\" size={underLabelFontSize} color={underLabelColor}>\n {underLabel}\n </Text>\n </Row>\n )}\n </Column>\n );\n};\n\nSingleValueBasic.propTypes = {\n majorText: T.string,\n majorColor: T.string,\n majorTextFontSize: T.number,\n majorValueTitle: T.string,\n trendText: T.string,\n trendTextFontSize: T.number,\n trendColor: T.string,\n showTrendIndicator: T.bool,\n unit: T.string,\n unitPosition: T.oneOf(['before', 'after']),\n underLabel: T.string,\n underLabelFontSize: T.number,\n underLabelColor: T.string,\n onValueClick: T.func,\n};\n\nexport const SingleValueTrendValue = TrendValue;\nexport default SingleValueBasic;\n","module.exports = require(\"@splunk/react-icons/ArrowUp\");","module.exports = require(\"@splunk/react-icons/ArrowDown\");","module.exports = require(\"cssesc\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");"],"sourceRoot":""}
@@ -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 = 63);
90
+ /******/ return __webpack_require__(__webpack_require__.s = 64);
91
91
  /******/ })
92
92
  /************************************************************************/
93
93
  /******/ ([
@@ -423,13 +423,13 @@ var StaticBackgroundColorEditor = {
423
423
  /* harmony default export */ __webpack_exports__["default"] = (StaticBackgroundColorEditor);
424
424
 
425
425
  /***/ }),
426
- /* 17 */
426
+ /* 17 */,
427
+ /* 18 */
427
428
  /***/ (function(module, exports) {
428
429
 
429
430
  module.exports = require("@splunk/visualizations-shared/colorConstants");
430
431
 
431
432
  /***/ }),
432
- /* 18 */,
433
433
  /* 19 */,
434
434
  /* 20 */,
435
435
  /* 21 */,
@@ -466,15 +466,13 @@ var getDynamicMajorColorEditor = function getDynamicMajorColorEditor(_ref) {
466
466
  defaults: {
467
467
  majorValue: defaultContext.majorColorConfig
468
468
  }
469
- } // TODO(fkurniawan): add back in when FormatterEditor supports full MatchValue editor
470
- // {
471
- // label: _('Matches'),
472
- // value: 'matchValue',
473
- // defaults: {
474
- // majorValue: [{ match: 'foo', value: '#f00' }],
475
- // },
476
- // },
477
- ],
469
+ }, {
470
+ label: Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__["_"])('Matches'),
471
+ value: 'matchValue',
472
+ defaults: {
473
+ majorValue: defaultContext.majorColorMatchConfig
474
+ }
475
+ }],
478
476
  dataSelectors: [{
479
477
  label: Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__["_"])('Major Value'),
480
478
  value: 'majorValue'
@@ -563,15 +561,13 @@ var getDynamicBackgroundColorEditor = function getDynamicBackgroundColorEditor(_
563
561
  majorValue: defaultContext.majorColorConfig,
564
562
  trendValue: defaultContext.trendColorConfig
565
563
  }
566
- } // TODO(fkurniawan): add back in when FormatterEditor supports full MatchValue editor
567
- // {
568
- // label: _('Matches'),
569
- // value: 'matchValue',
570
- // defaults: {
571
- // majorValue: [{ match: 'foo', value: '#f00' }],
572
- // },
573
- // },
574
- ],
564
+ }, {
565
+ label: Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__["_"])('Matches'),
566
+ value: 'matchValue',
567
+ defaults: {
568
+ majorValue: defaultContext.majorColorMatchConfig
569
+ }
570
+ }],
575
571
  dataSelectors: [{
576
572
  label: Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__["_"])('Major Value'),
577
573
  value: 'majorValue'
@@ -679,6 +675,10 @@ exports.defaultContext = {
679
675
  }, {
680
676
  from: 80,
681
677
  value: '#118832'
678
+ }],
679
+ majorColorMatchConfig: [{
680
+ match: '',
681
+ value: '#5C33FF'
682
682
  }]
683
683
  };
684
684
 
@@ -807,7 +807,8 @@ var StaticMajorAndTrendLayout = [[{
807
807
  /* 60 */,
808
808
  /* 61 */,
809
809
  /* 62 */,
810
- /* 63 */
810
+ /* 63 */,
811
+ /* 64 */
811
812
  /***/ (function(module, exports, __webpack_require__) {
812
813
 
813
814
  "use strict";
@@ -835,7 +836,7 @@ var StaticMajorAndTrendLayout_1 = __webpack_require__(36);
835
836
 
836
837
  var StaticBackgroundColorEditor_1 = __webpack_require__(16);
837
838
 
838
- var StaticIconColorEditor_1 = __webpack_require__(64);
839
+ var StaticIconColorEditor_1 = __webpack_require__(65);
839
840
 
840
841
  var StaticMajorColorEditor_1 = __webpack_require__(25);
841
842
 
@@ -1118,15 +1119,13 @@ var editorConfig = [{
1118
1119
  trendValue: singleValueContext_1.defaultContext.trendColorConfig,
1119
1120
  majorValue: singleValueContext_1.defaultContext.majorColorConfig
1120
1121
  }
1121
- } // TODO(fkurniawan): add back in when FormatterEditor supports full MatchValue editor
1122
- // {
1123
- // label: _('Matches'),
1124
- // value: 'matchValue',
1125
- // defaults: {
1126
- // majorValue: [{ match: 'foo', value: '#f00' }],
1127
- // },
1128
- // },
1129
- ],
1122
+ }, {
1123
+ label: i18n_1._('Matches'),
1124
+ value: 'matchValue',
1125
+ defaults: {
1126
+ majorValue: singleValueContext_1.defaultContext.majorColorMatchConfig
1127
+ }
1128
+ }],
1130
1129
  dataSelectors: [{
1131
1130
  label: i18n_1._('Major Value'),
1132
1131
  value: 'majorValue'
@@ -1199,7 +1198,7 @@ var config = {
1199
1198
  exports.default = configUtils_1.enhanceConfig(config);
1200
1199
 
1201
1200
  /***/ }),
1202
- /* 64 */
1201
+ /* 65 */
1203
1202
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1204
1203
 
1205
1204
  "use strict";
@@ -1208,7 +1207,7 @@ __webpack_require__.r(__webpack_exports__);
1208
1207
  /* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__);
1209
1208
  /* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(0);
1210
1209
  /* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_1__);
1211
- /* harmony import */ var _splunk_visualizations_shared_colorConstants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(17);
1210
+ /* harmony import */ var _splunk_visualizations_shared_colorConstants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(18);
1212
1211
  /* harmony import */ var _splunk_visualizations_shared_colorConstants__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_splunk_visualizations_shared_colorConstants__WEBPACK_IMPORTED_MODULE_2__);
1213
1212
  /* harmony import */ var _utils_configUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1);
1214
1213
  /* harmony import */ var _utils_configUtils__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_utils_configUtils__WEBPACK_IMPORTED_MODULE_3__);