@splunk/visualizations 25.12.0 → 25.13.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.
- package/Area.js +114 -113
- package/Area.js.map +1 -1
- package/Bar.js +114 -113
- package/Bar.js.map +1 -1
- package/Bubble.js +103 -102
- package/Bubble.js.map +1 -1
- package/ChoroplethSvg.js +207 -123
- package/ChoroplethSvg.js.map +1 -1
- package/Column.js +116 -113
- package/Column.js.map +1 -1
- package/Ellipse.js +72 -69
- package/Ellipse.js.map +1 -1
- package/Events.config.js +1 -1
- package/Events.config.js.map +1 -1
- package/Events.js +167 -133
- package/Events.js.map +1 -1
- package/FillerGauge.js +95 -92
- package/FillerGauge.js.map +1 -1
- package/Image.js +98 -98
- package/Image.js.map +1 -1
- package/Line.js +116 -113
- package/Line.js.map +1 -1
- package/LinkGraph.js +659 -656
- package/LinkGraph.js.map +1 -1
- package/Map.js +341 -332
- package/Map.js.map +1 -1
- package/Markdown.js +104 -104
- package/Markdown.js.map +1 -1
- package/MarkerGauge.js +88 -88
- package/MarkerGauge.js.map +1 -1
- package/ParallelCoordinates.js +110 -110
- package/ParallelCoordinates.js.map +1 -1
- package/Pie.js +125 -125
- package/Pie.js.map +1 -1
- package/Punchcard.js +228 -228
- package/Punchcard.js.map +1 -1
- package/Rectangle.js +111 -111
- package/Rectangle.js.map +1 -1
- package/Sankey.js +178 -177
- package/Sankey.js.map +1 -1
- package/Scatter.js +151 -151
- package/Scatter.js.map +1 -1
- package/SingleValue.js +954 -350
- package/SingleValue.js.map +1 -1
- package/SingleValueBasic.js +43 -27
- package/SingleValueBasic.js.map +1 -1
- package/SingleValueIcon.js +432 -431
- package/SingleValueIcon.js.map +1 -1
- package/SingleValueRadial.js +421 -411
- package/SingleValueRadial.js.map +1 -1
- package/SparkLine.js +754 -0
- package/SparkLine.js.map +1 -0
- package/Table.js +726 -122
- package/Table.js.map +1 -1
- package/common/utils/mapUtils.js +7 -4
- package/common/utils/mapUtils.js.map +1 -1
- package/common/utils/urlUtils.js +118 -0
- package/common/utils/urlUtils.js.map +1 -0
- package/common/withDashboardViz.js +2 -2
- package/package.json +11 -12
package/SingleValueBasic.js
CHANGED
|
@@ -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 =
|
|
90
|
+
/******/ return __webpack_require__(__webpack_require__.s = 79);
|
|
91
91
|
/******/ })
|
|
92
92
|
/************************************************************************/
|
|
93
93
|
/******/ ({
|
|
@@ -95,14 +95,21 @@ module.exports =
|
|
|
95
95
|
/***/ 0:
|
|
96
96
|
/***/ (function(module, exports) {
|
|
97
97
|
|
|
98
|
-
module.exports = require("
|
|
98
|
+
module.exports = require("prop-types");
|
|
99
99
|
|
|
100
100
|
/***/ }),
|
|
101
101
|
|
|
102
102
|
/***/ 1:
|
|
103
103
|
/***/ (function(module, exports) {
|
|
104
104
|
|
|
105
|
-
module.exports = require("
|
|
105
|
+
module.exports = require("react");
|
|
106
|
+
|
|
107
|
+
/***/ }),
|
|
108
|
+
|
|
109
|
+
/***/ 2:
|
|
110
|
+
/***/ (function(module, exports) {
|
|
111
|
+
|
|
112
|
+
module.exports = require("@splunk/ui-utils/i18n");
|
|
106
113
|
|
|
107
114
|
/***/ }),
|
|
108
115
|
|
|
@@ -141,7 +148,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
141
148
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "lighten", function() { return lighten; });
|
|
142
149
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "darken", function() { return darken; });
|
|
143
150
|
/* 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__(
|
|
151
|
+
/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7);
|
|
145
152
|
/* 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
153
|
/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3);
|
|
147
154
|
/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_1__);
|
|
@@ -151,7 +158,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
151
158
|
/* 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
159
|
/* harmony import */ var _splunk_visualizations_shared_propUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(28);
|
|
153
160
|
/* 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__(
|
|
161
|
+
/* harmony import */ var _splunk_visualizations_shared_colorConstants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(50);
|
|
155
162
|
/* 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
163
|
|
|
157
164
|
function ownKeys(object, enumerableOnly) {
|
|
@@ -1109,17 +1116,17 @@ module.exports = require("styled-components");
|
|
|
1109
1116
|
|
|
1110
1117
|
/***/ }),
|
|
1111
1118
|
|
|
1112
|
-
/***/
|
|
1119
|
+
/***/ 48:
|
|
1113
1120
|
/***/ (function(module, exports) {
|
|
1114
1121
|
|
|
1115
|
-
module.exports = require("@
|
|
1122
|
+
module.exports = require("@babel/runtime/helpers/extends");
|
|
1116
1123
|
|
|
1117
1124
|
/***/ }),
|
|
1118
1125
|
|
|
1119
|
-
/***/
|
|
1126
|
+
/***/ 50:
|
|
1120
1127
|
/***/ (function(module, exports) {
|
|
1121
1128
|
|
|
1122
|
-
module.exports = require("@
|
|
1129
|
+
module.exports = require("@splunk/visualizations-shared/colorConstants");
|
|
1123
1130
|
|
|
1124
1131
|
/***/ }),
|
|
1125
1132
|
|
|
@@ -1130,7 +1137,14 @@ module.exports = require("@splunk/visualizations-shared/domUtils");
|
|
|
1130
1137
|
|
|
1131
1138
|
/***/ }),
|
|
1132
1139
|
|
|
1133
|
-
/***/
|
|
1140
|
+
/***/ 7:
|
|
1141
|
+
/***/ (function(module, exports) {
|
|
1142
|
+
|
|
1143
|
+
module.exports = require("@babel/runtime/helpers/defineProperty");
|
|
1144
|
+
|
|
1145
|
+
/***/ }),
|
|
1146
|
+
|
|
1147
|
+
/***/ 79:
|
|
1134
1148
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
1135
1149
|
|
|
1136
1150
|
"use strict";
|
|
@@ -1141,15 +1155,15 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
1141
1155
|
__webpack_require__.d(__webpack_exports__, "SingleValueTrendValue", function() { return /* binding */ SingleValueTrendValue; });
|
|
1142
1156
|
|
|
1143
1157
|
// EXTERNAL MODULE: external "@babel/runtime/helpers/extends"
|
|
1144
|
-
var extends_ = __webpack_require__(
|
|
1158
|
+
var extends_ = __webpack_require__(48);
|
|
1145
1159
|
var extends_default = /*#__PURE__*/__webpack_require__.n(extends_);
|
|
1146
1160
|
|
|
1147
1161
|
// EXTERNAL MODULE: external "react"
|
|
1148
|
-
var external_react_ = __webpack_require__(
|
|
1162
|
+
var external_react_ = __webpack_require__(1);
|
|
1149
1163
|
var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
|
|
1150
1164
|
|
|
1151
1165
|
// EXTERNAL MODULE: external "prop-types"
|
|
1152
|
-
var external_prop_types_ = __webpack_require__(
|
|
1166
|
+
var external_prop_types_ = __webpack_require__(0);
|
|
1153
1167
|
var external_prop_types_default = /*#__PURE__*/__webpack_require__.n(external_prop_types_);
|
|
1154
1168
|
|
|
1155
1169
|
// EXTERNAL MODULE: external "styled-components"
|
|
@@ -1160,13 +1174,16 @@ var external_styled_components_default = /*#__PURE__*/__webpack_require__.n(exte
|
|
|
1160
1174
|
var singleValueUtils = __webpack_require__(24);
|
|
1161
1175
|
|
|
1162
1176
|
// EXTERNAL MODULE: external "@splunk/react-icons/enterprise/ArrowUp"
|
|
1163
|
-
var ArrowUp_ = __webpack_require__(
|
|
1177
|
+
var ArrowUp_ = __webpack_require__(83);
|
|
1164
1178
|
var ArrowUp_default = /*#__PURE__*/__webpack_require__.n(ArrowUp_);
|
|
1165
1179
|
|
|
1166
1180
|
// EXTERNAL MODULE: external "@splunk/react-icons/enterprise/ArrowDown"
|
|
1167
|
-
var ArrowDown_ = __webpack_require__(
|
|
1181
|
+
var ArrowDown_ = __webpack_require__(84);
|
|
1168
1182
|
var ArrowDown_default = /*#__PURE__*/__webpack_require__.n(ArrowDown_);
|
|
1169
1183
|
|
|
1184
|
+
// EXTERNAL MODULE: external "@splunk/ui-utils/i18n"
|
|
1185
|
+
var i18n_ = __webpack_require__(2);
|
|
1186
|
+
|
|
1170
1187
|
// CONCATENATED MODULE: ./src/SingleValueBasic/TrendValue.jsx
|
|
1171
1188
|
|
|
1172
1189
|
|
|
@@ -1174,6 +1191,7 @@ var ArrowDown_default = /*#__PURE__*/__webpack_require__.n(ArrowDown_);
|
|
|
1174
1191
|
|
|
1175
1192
|
|
|
1176
1193
|
|
|
1194
|
+
|
|
1177
1195
|
var Column = external_styled_components_default.a.div.withConfig({
|
|
1178
1196
|
displayName: "TrendValue__Column",
|
|
1179
1197
|
componentId: "yd2lvy-0"
|
|
@@ -1204,10 +1222,13 @@ var TrendValue_SingleValueContent = function SingleValueContent(_ref) {
|
|
|
1204
1222
|
value = _ref.value,
|
|
1205
1223
|
text = _ref.text;
|
|
1206
1224
|
var TrendIndicator = false;
|
|
1225
|
+
var ariaLabel = false;
|
|
1207
1226
|
if (parseFloat(value, 10) > 0) {
|
|
1208
1227
|
TrendIndicator = ArrowUp_default.a;
|
|
1228
|
+
ariaLabel = Object(i18n_["_"])('increase');
|
|
1209
1229
|
} else if (parseFloat(value, 10) < 0) {
|
|
1210
1230
|
TrendIndicator = ArrowDown_default.a;
|
|
1231
|
+
ariaLabel = Object(i18n_["_"])('decrease');
|
|
1211
1232
|
}
|
|
1212
1233
|
return /*#__PURE__*/external_react_default.a.createElement(Column, {
|
|
1213
1234
|
justify: "flex-end",
|
|
@@ -1216,7 +1237,9 @@ var TrendValue_SingleValueContent = function SingleValueContent(_ref) {
|
|
|
1216
1237
|
"data-test": "trendValueIndicator",
|
|
1217
1238
|
size: fontSize,
|
|
1218
1239
|
color: color
|
|
1219
|
-
}, TrendIndicator && /*#__PURE__*/external_react_default.a.createElement(TrendIndicator,
|
|
1240
|
+
}, TrendIndicator && /*#__PURE__*/external_react_default.a.createElement(TrendIndicator, {
|
|
1241
|
+
"aria-label": ariaLabel
|
|
1242
|
+
})), /*#__PURE__*/external_react_default.a.createElement(Text, {
|
|
1220
1243
|
"data-test": "trendValue",
|
|
1221
1244
|
size: fontSize,
|
|
1222
1245
|
color: color
|
|
@@ -1230,7 +1253,7 @@ TrendValue_SingleValueContent.propTypes = {
|
|
|
1230
1253
|
};
|
|
1231
1254
|
/* harmony default export */ var TrendValue = (TrendValue_SingleValueContent);
|
|
1232
1255
|
// EXTERNAL MODULE: external "cssesc"
|
|
1233
|
-
var external_cssesc_ = __webpack_require__(
|
|
1256
|
+
var external_cssesc_ = __webpack_require__(85);
|
|
1234
1257
|
var external_cssesc_default = /*#__PURE__*/__webpack_require__.n(external_cssesc_);
|
|
1235
1258
|
|
|
1236
1259
|
// CONCATENATED MODULE: ./src/SingleValueBasic/MajorValue.jsx
|
|
@@ -1415,28 +1438,21 @@ var SingleValueTrendValue = TrendValue;
|
|
|
1415
1438
|
|
|
1416
1439
|
/***/ }),
|
|
1417
1440
|
|
|
1418
|
-
/***/
|
|
1441
|
+
/***/ 83:
|
|
1419
1442
|
/***/ (function(module, exports) {
|
|
1420
1443
|
|
|
1421
1444
|
module.exports = require("@splunk/react-icons/enterprise/ArrowUp");
|
|
1422
1445
|
|
|
1423
1446
|
/***/ }),
|
|
1424
1447
|
|
|
1425
|
-
/***/
|
|
1426
|
-
/***/ (function(module, exports) {
|
|
1427
|
-
|
|
1428
|
-
module.exports = require("@babel/runtime/helpers/defineProperty");
|
|
1429
|
-
|
|
1430
|
-
/***/ }),
|
|
1431
|
-
|
|
1432
|
-
/***/ 80:
|
|
1448
|
+
/***/ 84:
|
|
1433
1449
|
/***/ (function(module, exports) {
|
|
1434
1450
|
|
|
1435
1451
|
module.exports = require("@splunk/react-icons/enterprise/ArrowDown");
|
|
1436
1452
|
|
|
1437
1453
|
/***/ }),
|
|
1438
1454
|
|
|
1439
|
-
/***/
|
|
1455
|
+
/***/ 85:
|
|
1440
1456
|
/***/ (function(module, exports) {
|
|
1441
1457
|
|
|
1442
1458
|
module.exports = require("cssesc");
|
package/SingleValueBasic.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"react\"","webpack:///external \"prop-types\"","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/enterprise/ArrowUp\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///external \"@splunk/react-icons/enterprise/ArrowDown\"","webpack:///external \"cssesc\""],"names":["DEFAULT_FONT","DEFAULT_FONT_FAMILY","SVR_PADDING","top","bottom","left","right","shouldShowTrend","trendDisplay","isLoadingOrNoColumns","dataSources","loading","data","get","undefined","noColumns","getFormattedColor","color","defaultColor","formatColor","hasBackground","backgroundColor","isIdenticalColor","colorA","colorB","toLowerCase","getDefaultColorWithBg","_ref","defaultFontColor","defaultBlockFontColor","getMajorColor","_ref2","majorColor","getTrendColor","_ref3","trendColor","trendValue","majorValue","customizedBgColor","defaultColors","Number","isNaN","defaultBackgroundColor","isInvalidTrend","parseFloat","DELTA_GREEN","DELTA_RED","computeColors","props","backgroundEnabled","underLabelColor","computeText","_ref4","value","numberPrecision","shouldUseThousandSeparators","shouldAbbreviateTrendValue","text","isNumerial","formatNumber","useThousandSeparators","useTrendUnits","getMajorText","_ref5","getTrendText","_ref6","compute","showPercent","diff","Math","abs","val","round","isFinite","concat","computeFontSize","_ref7","width","height","fontFamily","arguments","length","fontWeight","widthInDefaultFont","computeTextSize","fontSize","min","parseInt","getMajorFontSize","_ref8","unit","majorText","_ref8$spaceRatio","spaceRatio","majorTextCalc","getTrendFontSize","_ref9","trendText","_ref9$spaceRatio","trendFontSize","getUnderLabelHeight","getUnderLabel","_ref10","underLabel","getMajorAndTrend","_ref11","majorFontSize","majorTextSpaceRatio","textContentWidth","textContentHeight","majorTextFontSize","trendTextFontSize","updateVizInSmallSpace","_ref12","toRemoveList","removeIndex","newProps","newMajorAndTrend","newTextSize","toRemove","_objectSpread","_defineProperty","key","truncateValue","toString","slice","updatedProps","computeSingleValueContent","_ref13","contentWidth","contentHeight","containerWidth","containerHeight","_getMajorAndTrend","majorValueTitle","smallVizProps","_updateVizInSmallSpac","minimallyTruncateStringToWidth","_ref14","_ref14$fontSize","_ref14$fontFamily","_ref14$fontWeight","textWidth","modifiedText","ellipsesLength","substring","computeSingleValueRadialContent","_ref15","smallViz","_getMajorAndTrend2","_getMajorAndTrend3","getGraphColors","_ref16","customColorFormatter","none","adjustRGB","rgb","delta","changeColor","ratio","hex","replace","r","substr","g","b","newR","max","floor","newG","newB","padStart","lighten","darken","handleValueClickCallback","ev","majorValueField","onValueClick","trellisEnabled","trellisSplityBy","trellisKey","payload","name","Column","styled","div","withConfig","displayName","componentId","justify","size","Text","SingleValueContent","TrendIndicator","ArrowUp","ArrowDown","React","createElement","propTypes","T","number","string","oneOfType","Row","showUnderline","pseudoContent","pseudoContentPosition","pseudoContentFontSize","validUnitPositions","unitPosition","title","sanitizedUnit","sanitizedUnitPosition","cssesc","wrap","quotes","includes","handleKeyDown","e","keyCode","preventDefault","onClick","tabIndex","role","onKeyDown","oneOf","bool","func","align","SingleValueBasic","_extends","showTrendIndicator","underLabelFontSize","trendIndicatorEnabled","MajorValue","TrendValue","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 = 75);\n","module.exports = require(\"react\");","module.exports = require(\"prop-types\");","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 = majorColor;\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 = (\n ev,\n majorValue,\n majorValueField,\n trendValue,\n onValueClick,\n trellisEnabled = false,\n trellisSplityBy = '',\n trellisKey = ''\n) => {\n let payload = {\n trendValue,\n value: majorValue,\n name: majorValueField,\n };\n if (trellisEnabled) {\n payload = { ...payload, 'trellis.name': trellisSplityBy, 'trellis.value': trellisKey };\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/enterprise/ArrowUp';\nimport ArrowDown from '@splunk/react-icons/enterprise/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-items: flex-end;\n justify-content: left;\n height: ${props => props.size}px;\n line-height: ${props => props.size}px;\n`;\n\nconst Text = styled.div`\n white-space: nowrap;\n height: 100%;\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 position: relative;\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 const handleKeyDown = e => {\n if (e.keyCode !== 13) {\n return;\n }\n e.preventDefault();\n onValueClick(e);\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 tabIndex=\"0\"\n role=\"button\"\n onKeyDown={handleKeyDown}\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.oneOfType([T.bool, 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.oneOfType([T.bool, T.func]),\n};\n\nexport const SingleValueTrendValue = TrendValue;\nexport default SingleValueBasic;\n","module.exports = require(\"@splunk/react-icons/enterprise/ArrowUp\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","module.exports = require(\"@splunk/react-icons/enterprise/ArrowDown\");","module.exports = require(\"cssesc\");"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"prop-types\"","webpack:///external \"react\"","webpack:///external \"@splunk/ui-utils/i18n\"","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 \"@babel/runtime/helpers/extends\"","webpack:///external \"@splunk/visualizations-shared/colorConstants\"","webpack:///external \"@splunk/visualizations-shared/domUtils\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///./src/SingleValueBasic/TrendValue.jsx","webpack:///./src/SingleValueBasic/MajorValue.jsx","webpack:///./src/SingleValueBasic/SingleValueBasic.jsx","webpack:///external \"@splunk/react-icons/enterprise/ArrowUp\"","webpack:///external \"@splunk/react-icons/enterprise/ArrowDown\"","webpack:///external \"cssesc\""],"names":["DEFAULT_FONT","DEFAULT_FONT_FAMILY","SVR_PADDING","top","bottom","left","right","shouldShowTrend","trendDisplay","isLoadingOrNoColumns","dataSources","loading","data","get","undefined","noColumns","getFormattedColor","color","defaultColor","formatColor","hasBackground","backgroundColor","isIdenticalColor","colorA","colorB","toLowerCase","getDefaultColorWithBg","_ref","defaultFontColor","defaultBlockFontColor","getMajorColor","_ref2","majorColor","getTrendColor","_ref3","trendColor","trendValue","majorValue","customizedBgColor","defaultColors","Number","isNaN","defaultBackgroundColor","isInvalidTrend","parseFloat","DELTA_GREEN","DELTA_RED","computeColors","props","backgroundEnabled","underLabelColor","computeText","_ref4","value","numberPrecision","shouldUseThousandSeparators","shouldAbbreviateTrendValue","text","isNumerial","formatNumber","useThousandSeparators","useTrendUnits","getMajorText","_ref5","getTrendText","_ref6","compute","showPercent","diff","Math","abs","val","round","isFinite","concat","computeFontSize","_ref7","width","height","fontFamily","arguments","length","fontWeight","widthInDefaultFont","computeTextSize","fontSize","min","parseInt","getMajorFontSize","_ref8","unit","majorText","_ref8$spaceRatio","spaceRatio","majorTextCalc","getTrendFontSize","_ref9","trendText","_ref9$spaceRatio","trendFontSize","getUnderLabelHeight","getUnderLabel","_ref10","underLabel","getMajorAndTrend","_ref11","majorFontSize","majorTextSpaceRatio","textContentWidth","textContentHeight","majorTextFontSize","trendTextFontSize","updateVizInSmallSpace","_ref12","toRemoveList","removeIndex","newProps","newMajorAndTrend","newTextSize","toRemove","_objectSpread","_defineProperty","key","truncateValue","toString","slice","updatedProps","computeSingleValueContent","_ref13","contentWidth","contentHeight","containerWidth","containerHeight","_getMajorAndTrend","majorValueTitle","smallVizProps","_updateVizInSmallSpac","minimallyTruncateStringToWidth","_ref14","_ref14$fontSize","_ref14$fontFamily","_ref14$fontWeight","textWidth","modifiedText","ellipsesLength","substring","computeSingleValueRadialContent","_ref15","smallViz","_getMajorAndTrend2","_getMajorAndTrend3","getGraphColors","_ref16","customColorFormatter","none","adjustRGB","rgb","delta","changeColor","ratio","hex","replace","r","substr","g","b","newR","max","floor","newG","newB","padStart","lighten","darken","handleValueClickCallback","ev","majorValueField","onValueClick","trellisEnabled","trellisSplityBy","trellisKey","payload","name","Column","styled","div","withConfig","displayName","componentId","justify","size","Text","SingleValueContent","TrendIndicator","ariaLabel","ArrowUp","_","ArrowDown","React","createElement","propTypes","T","number","string","oneOfType","Row","showUnderline","pseudoContent","pseudoContentPosition","pseudoContentFontSize","validUnitPositions","unitPosition","title","sanitizedUnit","sanitizedUnitPosition","cssesc","wrap","quotes","includes","handleKeyDown","e","keyCode","preventDefault","onClick","tabIndex","role","onKeyDown","oneOf","bool","func","align","SingleValueBasic","_extends","showTrendIndicator","underLabelFontSize","trendIndicatorEnabled","MajorValue","TrendValue","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 = 79);\n","module.exports = require(\"prop-types\");","module.exports = require(\"react\");","module.exports = require(\"@splunk/ui-utils/i18n\");","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 = majorColor;\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 = (\n ev,\n majorValue,\n majorValueField,\n trendValue,\n onValueClick,\n trellisEnabled = false,\n trellisSplityBy = '',\n trellisKey = ''\n) => {\n let payload = {\n trendValue,\n value: majorValue,\n name: majorValueField,\n };\n if (trellisEnabled) {\n payload = { ...payload, 'trellis.name': trellisSplityBy, 'trellis.value': trellisKey };\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(\"@babel/runtime/helpers/extends\");","module.exports = require(\"@splunk/visualizations-shared/colorConstants\");","module.exports = require(\"@splunk/visualizations-shared/domUtils\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","import React from 'react';\nimport T from 'prop-types';\nimport styled from 'styled-components';\nimport ArrowUp from '@splunk/react-icons/enterprise/ArrowUp';\nimport ArrowDown from '@splunk/react-icons/enterprise/ArrowDown';\nimport { _ } from '@splunk/ui-utils/i18n';\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 let ariaLabel = false;\n\n if (parseFloat(value, 10) > 0) {\n TrendIndicator = ArrowUp;\n ariaLabel = _('increase');\n } else if (parseFloat(value, 10) < 0) {\n TrendIndicator = ArrowDown;\n ariaLabel = _('decrease');\n }\n\n return (\n <Column justify=\"flex-end\" size={fontSize}>\n <Text data-test=\"trendValueIndicator\" size={fontSize} color={color}>\n {TrendIndicator && <TrendIndicator aria-label={ariaLabel} />}\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-items: flex-end;\n justify-content: left;\n height: ${props => props.size}px;\n line-height: ${props => props.size}px;\n`;\n\nconst Text = styled.div`\n white-space: nowrap;\n height: 100%;\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 position: relative;\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 const handleKeyDown = e => {\n if (e.keyCode !== 13) {\n return;\n }\n e.preventDefault();\n onValueClick(e);\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 tabIndex=\"0\"\n role=\"button\"\n onKeyDown={handleKeyDown}\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.oneOfType([T.bool, 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.oneOfType([T.bool, T.func]),\n};\n\nexport const SingleValueTrendValue = TrendValue;\nexport default SingleValueBasic;\n","module.exports = require(\"@splunk/react-icons/enterprise/ArrowUp\");","module.exports = require(\"@splunk/react-icons/enterprise/ArrowDown\");","module.exports = require(\"cssesc\");"],"sourceRoot":""}
|