@splunk/visualizations 25.13.0 → 26.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/Area.config.js +216 -216
  2. package/Area.config.js.map +1 -1
  3. package/Area.js +529 -561
  4. package/Area.js.map +1 -1
  5. package/Bar.config.js +213 -213
  6. package/Bar.config.js.map +1 -1
  7. package/Bar.js +394 -386
  8. package/Bar.js.map +1 -1
  9. package/Bubble.config.js +140 -140
  10. package/Bubble.config.js.map +1 -1
  11. package/Bubble.js +313 -305
  12. package/Bubble.js.map +1 -1
  13. package/ChoroplethSvg.config.js +15 -15
  14. package/ChoroplethSvg.config.js.map +1 -1
  15. package/ChoroplethSvg.js +149 -144
  16. package/ChoroplethSvg.js.map +1 -1
  17. package/Column.config.js +205 -205
  18. package/Column.config.js.map +1 -1
  19. package/Column.js +387 -379
  20. package/Column.js.map +1 -1
  21. package/Ellipse.config.js +45 -45
  22. package/Ellipse.config.js.map +1 -1
  23. package/Ellipse.js +157 -144
  24. package/Ellipse.js.map +1 -1
  25. package/Events.config.js +11 -11
  26. package/Events.config.js.map +1 -1
  27. package/Events.js +274 -262
  28. package/Events.js.map +1 -1
  29. package/FillerGauge.config.js +46 -46
  30. package/FillerGauge.config.js.map +1 -1
  31. package/FillerGauge.js +267 -262
  32. package/FillerGauge.js.map +1 -1
  33. package/Image.config.js +8 -8
  34. package/Image.config.js.map +1 -1
  35. package/Image.js +110 -104
  36. package/Image.js.map +1 -1
  37. package/Line.config.js +220 -220
  38. package/Line.config.js.map +1 -1
  39. package/Line.js +404 -396
  40. package/Line.js.map +1 -1
  41. package/LinkGraph.config.js +27 -27
  42. package/LinkGraph.config.js.map +1 -1
  43. package/LinkGraph.js +557 -548
  44. package/LinkGraph.js.map +1 -1
  45. package/Map.config.js +71 -71
  46. package/Map.config.js.map +1 -1
  47. package/Map.js +472 -466
  48. package/Map.js.map +1 -1
  49. package/Markdown.config.js +23 -23
  50. package/Markdown.config.js.map +1 -1
  51. package/Markdown.js +151 -145
  52. package/Markdown.js.map +1 -1
  53. package/MarkerGauge.config.js +84 -84
  54. package/MarkerGauge.config.js.map +1 -1
  55. package/MarkerGauge.js +295 -289
  56. package/MarkerGauge.js.map +1 -1
  57. package/ParallelCoordinates.config.js +23 -23
  58. package/ParallelCoordinates.config.js.map +1 -1
  59. package/ParallelCoordinates.js +164 -162
  60. package/ParallelCoordinates.js.map +1 -1
  61. package/Pie.config.js +24 -24
  62. package/Pie.config.js.map +1 -1
  63. package/Pie.js +233 -228
  64. package/Pie.js.map +1 -1
  65. package/Punchcard.config.js +33 -33
  66. package/Punchcard.config.js.map +1 -1
  67. package/Punchcard.js +278 -279
  68. package/Punchcard.js.map +1 -1
  69. package/Rectangle.config.js +46 -46
  70. package/Rectangle.config.js.map +1 -1
  71. package/Rectangle.js +154 -142
  72. package/Rectangle.js.map +1 -1
  73. package/Sankey.config.js +19 -19
  74. package/Sankey.config.js.map +1 -1
  75. package/Sankey.js +281 -275
  76. package/Sankey.js.map +1 -1
  77. package/Scatter.config.js +135 -135
  78. package/Scatter.config.js.map +1 -1
  79. package/Scatter.js +304 -299
  80. package/Scatter.js.map +1 -1
  81. package/SingleValue.config.js +119 -119
  82. package/SingleValue.config.js.map +1 -1
  83. package/SingleValue.js +359 -341
  84. package/SingleValue.js.map +1 -1
  85. package/SingleValueBasic.js +14 -14
  86. package/SingleValueBasic.js.map +1 -1
  87. package/SingleValueIcon.config.js +117 -117
  88. package/SingleValueIcon.config.js.map +1 -1
  89. package/SingleValueIcon.js +373 -371
  90. package/SingleValueIcon.js.map +1 -1
  91. package/SingleValueRadial.config.js +157 -115
  92. package/SingleValueRadial.config.js.map +1 -1
  93. package/SingleValueRadial.js +1114 -540
  94. package/SingleValueRadial.js.map +1 -1
  95. package/SparkLine.js +50 -20
  96. package/SparkLine.js.map +1 -1
  97. package/Table.config.js +54 -54
  98. package/Table.config.js.map +1 -1
  99. package/Table.js +302 -286
  100. package/Table.js.map +1 -1
  101. package/common/Charting.js +41 -41
  102. package/common/Charting.js.map +1 -1
  103. package/common/EventsDoc.js +15 -14
  104. package/common/EventsDoc.js.map +1 -1
  105. package/common/GaugeMajorTicks.js +2 -2
  106. package/common/GaugeMajorTicks.js.map +1 -1
  107. package/common/GaugeValueMarker.js +2 -2
  108. package/common/GaugeValueMarker.js.map +1 -1
  109. package/common/OptionsDoc.js +22 -22
  110. package/common/OptionsDoc.js.map +1 -1
  111. package/common/OverviewDoc.js +32 -27
  112. package/common/OverviewDoc.js.map +1 -1
  113. package/common/SplunkVisualization.js +4 -4
  114. package/common/SplunkVisualization.js.map +1 -1
  115. package/common/SplunkVisualizationApi.js +2 -2
  116. package/common/SplunkVisualizationApi.js.map +1 -1
  117. package/common/ThemesDoc.js +14 -14
  118. package/common/ThemesDoc.js.map +1 -1
  119. package/common/chartingUtils.js +12 -12
  120. package/common/chartingUtils.js.map +1 -1
  121. package/common/docUtils.js +4 -4
  122. package/common/docUtils.js.map +1 -1
  123. package/common/gaugeUtils.js +112 -112
  124. package/common/gaugeUtils.js.map +1 -1
  125. package/common/shapeUtils.js +21 -15
  126. package/common/shapeUtils.js.map +1 -1
  127. package/common/utils/configUtils.js +10 -9
  128. package/common/utils/configUtils.js.map +1 -1
  129. package/common/utils/dataUtils.js +3 -3
  130. package/common/utils/dataUtils.js.map +1 -1
  131. package/common/utils/hocUtils.js +2 -2
  132. package/common/utils/hocUtils.js.map +1 -1
  133. package/common/utils/layoutUtils.js +2 -2
  134. package/common/utils/layoutUtils.js.map +1 -1
  135. package/common/utils/mapUtils.js +84 -80
  136. package/common/utils/mapUtils.js.map +1 -1
  137. package/common/utils/singleValueUtils.js +2 -2
  138. package/common/utils/singleValueUtils.js.map +1 -1
  139. package/common/utils/testHelper.js +27 -9
  140. package/common/utils/testHelper.js.map +1 -1
  141. package/common/utils/trellisUtils.js +26 -26
  142. package/common/utils/trellisUtils.js.map +1 -1
  143. package/common/utils/urlUtils.js +2 -2
  144. package/common/utils/urlUtils.js.map +1 -1
  145. package/common/withDashboardViz.js +107 -104
  146. package/common/withDashboardViz.js.map +1 -1
  147. package/package.json +19 -19
@@ -87,12 +87,12 @@ module.exports =
87
87
  /******/
88
88
  /******/
89
89
  /******/ // Load entry module and return exports
90
- /******/ return __webpack_require__(__webpack_require__.s = 69);
90
+ /******/ return __webpack_require__(__webpack_require__.s = 70);
91
91
  /******/ })
92
92
  /************************************************************************/
93
93
  /******/ ({
94
94
 
95
- /***/ 25:
95
+ /***/ 26:
96
96
  /***/ (function(module, exports) {
97
97
 
98
98
  module.exports = require("@babel/runtime/helpers/toConsumableArray");
@@ -106,19 +106,26 @@ module.exports = require("lodash");
106
106
 
107
107
  /***/ }),
108
108
 
109
- /***/ 69:
109
+ /***/ 7:
110
+ /***/ (function(module, exports) {
111
+
112
+ module.exports = require("@splunk/ui-utils/i18n");
113
+
114
+ /***/ }),
115
+
116
+ /***/ 70:
110
117
  /***/ (function(module, exports, __webpack_require__) {
111
118
 
112
119
  "use strict";
113
120
 
114
121
 
115
- var _toConsumableArray = __webpack_require__(25);
122
+ var _toConsumableArray = __webpack_require__(26);
116
123
  Object.defineProperty(exports, "__esModule", {
117
124
  value: true
118
125
  });
119
126
  exports.convertToGaugeProperties = exports.mapValueLabelDisplay = exports.mapToOldKey = exports.getGradientDimensions = exports.getGradientStops = exports.getGradientStopColors = exports.getGradientStopOffsets = exports.getGaugeRange = exports.validateRanges = exports.getSortedRanges = exports.getMarkerGaugeValueMarkerPositions = exports.getMarkerBarDimensions = exports.getFillerGaugeValueMarkerPositions = exports.getFillBarDimensions = exports.getGaugeBarHeight = exports.getGaugeBarWidth = exports.getGaugeBarStartPositions = exports.getGaugeBarLength = exports.assignGaugeColor = exports.getGaugeDimensions = exports.getGaugeStartPosition = exports.getGaugeLength = exports.getGaugeHeight = exports.getGaugeWidth = exports.FILL_THICKNESS = exports.GAUGE_THICKNESS = void 0;
120
127
  var lodash_1 = __webpack_require__(3);
121
- var colorConstants_1 = __webpack_require__(70);
128
+ var colorConstants_1 = __webpack_require__(71);
122
129
  var i18n_1 = __webpack_require__(7);
123
130
  exports.GAUGE_THICKNESS = 50;
124
131
  exports.FILL_THICKNESS = 38;
@@ -166,10 +173,10 @@ var getGaugeLength = function getGaugeLength(_ref3) {
166
173
  var containerWidth = _ref3.containerWidth,
167
174
  containerHeight = _ref3.containerHeight,
168
175
  orientation = _ref3.orientation;
169
- return orientation === 'vertical' ? exports.getGaugeHeight({
176
+ return orientation === 'vertical' ? (0, exports.getGaugeHeight)({
170
177
  containerHeight: containerHeight,
171
178
  orientation: orientation
172
- }) : exports.getGaugeWidth({
179
+ }) : (0, exports.getGaugeWidth)({
173
180
  containerWidth: containerWidth,
174
181
  orientation: orientation
175
182
  });
@@ -224,24 +231,24 @@ var getGaugeDimensions = function getGaugeDimensions(_ref5) {
224
231
  var containerWidth = _ref5.containerWidth,
225
232
  containerHeight = _ref5.containerHeight,
226
233
  orientation = _ref5.orientation;
227
- var gaugeLength = exports.getGaugeLength({
234
+ var gaugeLength = (0, exports.getGaugeLength)({
228
235
  containerWidth: containerWidth,
229
236
  containerHeight: containerHeight,
230
237
  orientation: orientation
231
238
  });
232
- var _exports$getGaugeStar = exports.getGaugeStartPosition({
239
+ var _ref6 = (0, exports.getGaugeStartPosition)({
233
240
  containerWidth: containerWidth,
234
241
  containerHeight: containerHeight,
235
242
  gaugeLength: gaugeLength,
236
243
  orientation: orientation
237
244
  }),
238
- gaugeStartX = _exports$getGaugeStar.gaugeStartX,
239
- gaugeStartY = _exports$getGaugeStar.gaugeStartY;
240
- var gaugeWidth = exports.getGaugeWidth({
245
+ gaugeStartX = _ref6.gaugeStartX,
246
+ gaugeStartY = _ref6.gaugeStartY;
247
+ var gaugeWidth = (0, exports.getGaugeWidth)({
241
248
  containerWidth: containerWidth,
242
249
  orientation: orientation
243
250
  });
244
- var gaugeHeight = exports.getGaugeHeight({
251
+ var gaugeHeight = (0, exports.getGaugeHeight)({
245
252
  containerHeight: containerHeight,
246
253
  orientation: orientation
247
254
  });
@@ -260,10 +267,10 @@ exports.getGaugeDimensions = getGaugeDimensions;
260
267
  * @method assignGaugeColor
261
268
  * @params
262
269
  * */
263
- var assignGaugeColor = function assignGaugeColor(_ref6) {
264
- var value = _ref6.value,
265
- min = _ref6.min,
266
- max = _ref6.max;
270
+ var assignGaugeColor = function assignGaugeColor(_ref7) {
271
+ var value = _ref7.value,
272
+ min = _ref7.min,
273
+ max = _ref7.max;
267
274
  var rate = (value - min) / (max - min);
268
275
  if (rate <= 0.3) {
269
276
  return colorConstants_1.SEMANTIC_SUCCESS;
@@ -284,11 +291,11 @@ exports.assignGaugeColor = assignGaugeColor;
284
291
  * @param {Number} input.max
285
292
  * @return {Number} gaugeBarLength
286
293
  */
287
- var getGaugeBarLength = function getGaugeBarLength(_ref7) {
288
- var gaugeLength = _ref7.gaugeLength,
289
- value = _ref7.value,
290
- min = _ref7.min,
291
- max = _ref7.max;
294
+ var getGaugeBarLength = function getGaugeBarLength(_ref8) {
295
+ var gaugeLength = _ref8.gaugeLength,
296
+ value = _ref8.value,
297
+ min = _ref8.min,
298
+ max = _ref8.max;
292
299
  if (max < min) {
293
300
  return null;
294
301
  }
@@ -315,13 +322,13 @@ exports.getGaugeBarLength = getGaugeBarLength;
315
322
  * @return {Number} position.gaugeBarX
316
323
  * @return {Number} position.gaugeBarY
317
324
  */
318
- var getGaugeBarStartPositions = function getGaugeBarStartPositions(_ref8) {
319
- var gaugeStartX = _ref8.gaugeStartX,
320
- gaugeStartY = _ref8.gaugeStartY,
321
- gaugeWidth = _ref8.gaugeWidth,
322
- gaugeHeight = _ref8.gaugeHeight,
323
- gaugeBarLength = _ref8.gaugeBarLength,
324
- orientation = _ref8.orientation;
325
+ var getGaugeBarStartPositions = function getGaugeBarStartPositions(_ref9) {
326
+ var gaugeStartX = _ref9.gaugeStartX,
327
+ gaugeStartY = _ref9.gaugeStartY,
328
+ gaugeWidth = _ref9.gaugeWidth,
329
+ gaugeHeight = _ref9.gaugeHeight,
330
+ gaugeBarLength = _ref9.gaugeBarLength,
331
+ orientation = _ref9.orientation;
325
332
  var gaugeBarX = gaugeStartX;
326
333
  var gaugeBarY = gaugeStartY;
327
334
  if (orientation === 'vertical') {
@@ -344,9 +351,9 @@ exports.getGaugeBarStartPositions = getGaugeBarStartPositions;
344
351
  * @param {String} orientation
345
352
  * @return {Number} gaugeBarWidth
346
353
  */
347
- var getGaugeBarWidth = function getGaugeBarWidth(_ref9) {
348
- var gaugeBarLength = _ref9.gaugeBarLength,
349
- orientation = _ref9.orientation;
354
+ var getGaugeBarWidth = function getGaugeBarWidth(_ref10) {
355
+ var gaugeBarLength = _ref10.gaugeBarLength,
356
+ orientation = _ref10.orientation;
350
357
  return orientation === 'vertical' ? exports.FILL_THICKNESS : gaugeBarLength;
351
358
  };
352
359
  exports.getGaugeBarWidth = getGaugeBarWidth;
@@ -358,9 +365,9 @@ exports.getGaugeBarWidth = getGaugeBarWidth;
358
365
  * @param {String} orientation
359
366
  * @return {Number} gaugeBarHeight
360
367
  */
361
- var getGaugeBarHeight = function getGaugeBarHeight(_ref10) {
362
- var gaugeBarLength = _ref10.gaugeBarLength,
363
- orientation = _ref10.orientation;
368
+ var getGaugeBarHeight = function getGaugeBarHeight(_ref11) {
369
+ var gaugeBarLength = _ref11.gaugeBarLength,
370
+ orientation = _ref11.orientation;
364
371
  return orientation === 'vertical' ? gaugeBarLength : exports.FILL_THICKNESS;
365
372
  };
366
373
  exports.getGaugeBarHeight = getGaugeBarHeight;
@@ -384,23 +391,23 @@ exports.getGaugeBarHeight = getGaugeBarHeight;
384
391
  * @return {Number} fillBarDimensions.fillBarWidth
385
392
  * @return {Number} fillBarDimensions.fillBarHeight
386
393
  */
387
- var getFillBarDimensions = function getFillBarDimensions(_ref11) {
388
- var gaugeLength = _ref11.gaugeLength,
389
- gaugeStartX = _ref11.gaugeStartX,
390
- gaugeStartY = _ref11.gaugeStartY,
391
- gaugeWidth = _ref11.gaugeWidth,
392
- gaugeHeight = _ref11.gaugeHeight,
393
- value = _ref11.value,
394
- min = _ref11.min,
395
- max = _ref11.max,
396
- orientation = _ref11.orientation;
397
- var gaugeBarLength = exports.getGaugeBarLength({
394
+ var getFillBarDimensions = function getFillBarDimensions(_ref12) {
395
+ var gaugeLength = _ref12.gaugeLength,
396
+ gaugeStartX = _ref12.gaugeStartX,
397
+ gaugeStartY = _ref12.gaugeStartY,
398
+ gaugeWidth = _ref12.gaugeWidth,
399
+ gaugeHeight = _ref12.gaugeHeight,
400
+ value = _ref12.value,
401
+ min = _ref12.min,
402
+ max = _ref12.max,
403
+ orientation = _ref12.orientation;
404
+ var gaugeBarLength = (0, exports.getGaugeBarLength)({
398
405
  gaugeLength: gaugeLength,
399
406
  value: value,
400
407
  max: max,
401
408
  min: min
402
409
  });
403
- var _exports$getGaugeBarS = exports.getGaugeBarStartPositions({
410
+ var _ref13 = (0, exports.getGaugeBarStartPositions)({
404
411
  gaugeStartX: gaugeStartX,
405
412
  gaugeStartY: gaugeStartY,
406
413
  gaugeWidth: gaugeWidth,
@@ -408,13 +415,13 @@ var getFillBarDimensions = function getFillBarDimensions(_ref11) {
408
415
  gaugeBarLength: gaugeBarLength,
409
416
  orientation: orientation
410
417
  }),
411
- fillBarX = _exports$getGaugeBarS.gaugeBarX,
412
- fillBarY = _exports$getGaugeBarS.gaugeBarY;
413
- var fillBarWidth = exports.getGaugeBarWidth({
418
+ fillBarX = _ref13.gaugeBarX,
419
+ fillBarY = _ref13.gaugeBarY;
420
+ var fillBarWidth = (0, exports.getGaugeBarWidth)({
414
421
  gaugeBarLength: gaugeBarLength,
415
422
  orientation: orientation
416
423
  });
417
- var fillBarHeight = exports.getGaugeBarHeight({
424
+ var fillBarHeight = (0, exports.getGaugeBarHeight)({
418
425
  gaugeBarLength: gaugeBarLength,
419
426
  orientation: orientation
420
427
  });
@@ -439,11 +446,11 @@ exports.getFillBarDimensions = getFillBarDimensions;
439
446
  * @return {Number} position.valueMarkerX
440
447
  * @return {Number} position.valueMarkerY
441
448
  */
442
- var getFillerGaugeValueMarkerPositions = function getFillerGaugeValueMarkerPositions(_ref12) {
443
- var fillBarX = _ref12.fillBarX,
444
- fillBarY = _ref12.fillBarY,
445
- fillBarLength = _ref12.fillBarLength,
446
- orientation = _ref12.orientation;
449
+ var getFillerGaugeValueMarkerPositions = function getFillerGaugeValueMarkerPositions(_ref14) {
450
+ var fillBarX = _ref14.fillBarX,
451
+ fillBarY = _ref14.fillBarY,
452
+ fillBarLength = _ref14.fillBarLength,
453
+ orientation = _ref14.orientation;
447
454
  var valueMarkerX = fillBarX;
448
455
  var valueMarkerY = fillBarY;
449
456
  if (orientation === 'vertical') {
@@ -475,15 +482,15 @@ exports.getFillerGaugeValueMarkerPositions = getFillerGaugeValueMarkerPositions;
475
482
  * @return {Number} markerBarDimensions.markerBarWidth
476
483
  * @return {Number} markerBarDimensions.markerBarHeight
477
484
  */
478
- var getMarkerBarDimensions = function getMarkerBarDimensions(_ref13) {
479
- var gaugeLength = _ref13.gaugeLength,
480
- gaugeStartX = _ref13.gaugeStartX,
481
- gaugeStartY = _ref13.gaugeStartY,
482
- gaugeWidth = _ref13.gaugeWidth,
483
- gaugeHeight = _ref13.gaugeHeight,
484
- orientation = _ref13.orientation;
485
+ var getMarkerBarDimensions = function getMarkerBarDimensions(_ref15) {
486
+ var gaugeLength = _ref15.gaugeLength,
487
+ gaugeStartX = _ref15.gaugeStartX,
488
+ gaugeStartY = _ref15.gaugeStartY,
489
+ gaugeWidth = _ref15.gaugeWidth,
490
+ gaugeHeight = _ref15.gaugeHeight,
491
+ orientation = _ref15.orientation;
485
492
  var gaugeBarLength = gaugeLength; // For marker gauge, inner marker bar spans the entire gauge
486
- var _exports$getGaugeBarS2 = exports.getGaugeBarStartPositions({
493
+ var _ref16 = (0, exports.getGaugeBarStartPositions)({
487
494
  gaugeStartX: gaugeStartX,
488
495
  gaugeStartY: gaugeStartY,
489
496
  gaugeWidth: gaugeWidth,
@@ -491,13 +498,13 @@ var getMarkerBarDimensions = function getMarkerBarDimensions(_ref13) {
491
498
  gaugeBarLength: gaugeBarLength,
492
499
  orientation: orientation
493
500
  }),
494
- markerBarX = _exports$getGaugeBarS2.gaugeBarX,
495
- markerBarY = _exports$getGaugeBarS2.gaugeBarY;
496
- var markerBarWidth = exports.getGaugeBarWidth({
501
+ markerBarX = _ref16.gaugeBarX,
502
+ markerBarY = _ref16.gaugeBarY;
503
+ var markerBarWidth = (0, exports.getGaugeBarWidth)({
497
504
  gaugeBarLength: gaugeBarLength,
498
505
  orientation: orientation
499
506
  });
500
- var markerBarHeight = exports.getGaugeBarHeight({
507
+ var markerBarHeight = (0, exports.getGaugeBarHeight)({
501
508
  gaugeBarLength: gaugeBarLength,
502
509
  orientation: orientation
503
510
  });
@@ -526,19 +533,19 @@ exports.getMarkerBarDimensions = getMarkerBarDimensions;
526
533
  * @return {Number} position.valueMarkerX
527
534
  * @return {Number} position.valueMarkerY
528
535
  */
529
- var getMarkerGaugeValueMarkerPositions = function getMarkerGaugeValueMarkerPositions(_ref14) {
530
- var markerBarX = _ref14.markerBarX,
531
- markerBarY = _ref14.markerBarY,
532
- markerBarHeight = _ref14.markerBarHeight,
533
- gaugeLength = _ref14.markerBarLength,
534
- orientation = _ref14.orientation,
535
- value = _ref14.value,
536
- min = _ref14.min,
537
- max = _ref14.max;
536
+ var getMarkerGaugeValueMarkerPositions = function getMarkerGaugeValueMarkerPositions(_ref17) {
537
+ var markerBarX = _ref17.markerBarX,
538
+ markerBarY = _ref17.markerBarY,
539
+ markerBarHeight = _ref17.markerBarHeight,
540
+ gaugeLength = _ref17.markerBarLength,
541
+ orientation = _ref17.orientation,
542
+ value = _ref17.value,
543
+ min = _ref17.min,
544
+ max = _ref17.max;
538
545
  var valueMarkerX = markerBarX;
539
546
  var valueMarkerY = markerBarY;
540
547
  if (orientation === 'vertical') {
541
- valueMarkerY += markerBarHeight - exports.getGaugeBarLength({
548
+ valueMarkerY += markerBarHeight - (0, exports.getGaugeBarLength)({
542
549
  gaugeLength: gaugeLength,
543
550
  value: value,
544
551
  max: max,
@@ -546,7 +553,7 @@ var getMarkerGaugeValueMarkerPositions = function getMarkerGaugeValueMarkerPosit
546
553
  });
547
554
  valueMarkerX -= (exports.GAUGE_THICKNESS - exports.FILL_THICKNESS) / 4;
548
555
  } else {
549
- valueMarkerX += exports.getGaugeBarLength({
556
+ valueMarkerX += (0, exports.getGaugeBarLength)({
550
557
  gaugeLength: gaugeLength,
551
558
  value: value,
552
559
  max: max,
@@ -580,23 +587,23 @@ exports.getSortedRanges = getSortedRanges;
580
587
  */
581
588
  var validateRanges = function validateRanges(ranges) {
582
589
  if (!ranges.length) {
583
- return i18n_1._('Prop "ranges" is missing entries');
590
+ return (0, i18n_1._)('Prop "ranges" is missing entries');
584
591
  }
585
592
  // check whether a range has "from" >= "to" eg: 10 - 10, 100 - 10, -20 - -10 are invalid
586
593
  if (ranges.some(function (range) {
587
594
  return range.from >= range.to;
588
595
  })) {
589
- return i18n_1._('Prop "ranges" has invalid entries: invalid range');
596
+ return (0, i18n_1._)('Prop "ranges" has invalid entries: invalid range');
590
597
  }
591
598
  // check whether ranges have duplicate "from/to" eg: 0 - 50, 25 - 50
592
- if (ranges.length !== lodash_1.uniqBy(ranges, 'to').length || ranges.length !== lodash_1.uniqBy(ranges, 'from').length) {
593
- return i18n_1._('Prop "ranges" has invalid entries: duplicate values');
599
+ if (ranges.length !== (0, lodash_1.uniqBy)(ranges, 'to').length || ranges.length !== (0, lodash_1.uniqBy)(ranges, 'from').length) {
600
+ return (0, i18n_1._)('Prop "ranges" has invalid entries: duplicate values');
594
601
  }
595
- var sortedRanges = exports.getSortedRanges(ranges);
602
+ var sortedRanges = (0, exports.getSortedRanges)(ranges);
596
603
  // check whether ranges are continuous eg: 0 - 10, 10 - 20, 20 - 30
597
604
  for (var i = 1; i < sortedRanges.length; i += 1) {
598
605
  if (sortedRanges[i].from !== sortedRanges[i - 1].to) {
599
- return i18n_1._('Prop "ranges" has invalid entries: discontinuous ranges');
606
+ return (0, i18n_1._)('Prop "ranges" has invalid entries: discontinuous ranges');
600
607
  }
601
608
  }
602
609
  return null;
@@ -630,12 +637,12 @@ exports.getGaugeRange = getGaugeRange;
630
637
  * @param {String} orientation
631
638
  * @return {Array} cumulativeOffsets
632
639
  */
633
- var getGradientStopOffsets = function getGradientStopOffsets(_ref15) {
634
- var ranges = _ref15.ranges,
635
- orientation = _ref15.orientation;
636
- var _exports$getGaugeRang = exports.getGaugeRange(ranges),
637
- min = _exports$getGaugeRang.min,
638
- max = _exports$getGaugeRang.max;
640
+ var getGradientStopOffsets = function getGradientStopOffsets(_ref18) {
641
+ var ranges = _ref18.ranges,
642
+ orientation = _ref18.orientation;
643
+ var _ref19 = (0, exports.getGaugeRange)(ranges),
644
+ min = _ref19.min,
645
+ max = _ref19.max;
639
646
  var offsetScale = (GRADIENT_STOP_OFFSET_MAX - GRADIENT_STOP_OFFSET_MIN) / (max - min);
640
647
  var offsets = ranges.map(function (range) {
641
648
  return Math.abs(range.from - range.to) * offsetScale;
@@ -657,9 +664,9 @@ exports.getGradientStopOffsets = getGradientStopOffsets;
657
664
  * @param {String} orientation
658
665
  * @return {Array} stopColors
659
666
  */
660
- var getGradientStopColors = function getGradientStopColors(_ref16) {
661
- var ranges = _ref16.ranges,
662
- orientation = _ref16.orientation;
667
+ var getGradientStopColors = function getGradientStopColors(_ref20) {
668
+ var ranges = _ref20.ranges,
669
+ orientation = _ref20.orientation;
663
670
  var stopColors = ranges.map(function (range) {
664
671
  return range.value;
665
672
  });
@@ -675,15 +682,15 @@ exports.getGradientStopColors = getGradientStopColors;
675
682
  * @param {String} orientation
676
683
  * @return {Array} stops
677
684
  */
678
- var getGradientStops = function getGradientStops(_ref17) {
679
- var ranges = _ref17.ranges,
680
- orientation = _ref17.orientation;
685
+ var getGradientStops = function getGradientStops(_ref21) {
686
+ var ranges = _ref21.ranges,
687
+ orientation = _ref21.orientation;
681
688
  var stops = [];
682
- var offsets = exports.getGradientStopOffsets({
689
+ var offsets = (0, exports.getGradientStopOffsets)({
683
690
  ranges: ranges,
684
691
  orientation: orientation
685
692
  });
686
- var stopColors = exports.getGradientStopColors({
693
+ var stopColors = (0, exports.getGradientStopColors)({
687
694
  ranges: ranges,
688
695
  orientation: orientation
689
696
  });
@@ -741,7 +748,7 @@ var gaugeOptionsMapping = {
741
748
  * @returns {Object}
742
749
  */
743
750
  var mapToOldKey = function mapToOldKey(options) {
744
- return lodash_1.mapKeys(options, function (val, key) {
751
+ return (0, lodash_1.mapKeys)(options, function (val, key) {
745
752
  return gaugeOptionsMapping[key] ? gaugeOptionsMapping[key] : key;
746
753
  });
747
754
  };
@@ -771,7 +778,7 @@ var mapValueLabelDisplay = function mapValueLabelDisplay(labelOrValue, options)
771
778
  newOptions[percentKey] = false;
772
779
  }
773
780
  }
774
- return lodash_1.omit(newOptions, [optionString]);
781
+ return (0, lodash_1.omit)(newOptions, [optionString]);
775
782
  };
776
783
  exports.mapValueLabelDisplay = mapValueLabelDisplay;
777
784
  /**
@@ -782,24 +789,17 @@ exports.mapValueLabelDisplay = mapValueLabelDisplay;
782
789
  * @returns {Object}
783
790
  */
784
791
  var convertToGaugeProperties = function convertToGaugeProperties(originalOptions) {
785
- return lodash_1.chain(exports.mapToOldKey(originalOptions)).thru(function (options) {
786
- return exports.mapValueLabelDisplay('label', options);
792
+ return (0, lodash_1.chain)((0, exports.mapToOldKey)(originalOptions)).thru(function (options) {
793
+ return (0, exports.mapValueLabelDisplay)('label', options);
787
794
  }).thru(function (options) {
788
- return exports.mapValueLabelDisplay('value', options);
795
+ return (0, exports.mapValueLabelDisplay)('value', options);
789
796
  }).value();
790
797
  };
791
798
  exports.convertToGaugeProperties = convertToGaugeProperties;
792
799
 
793
800
  /***/ }),
794
801
 
795
- /***/ 7:
796
- /***/ (function(module, exports) {
797
-
798
- module.exports = require("@splunk/ui-utils/i18n");
799
-
800
- /***/ }),
801
-
802
- /***/ 70:
802
+ /***/ 71:
803
803
  /***/ (function(module, exports) {
804
804
 
805
805
  module.exports = require("@splunk/visualizations-shared/colorConstants");
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"lodash\"","webpack:///./src/common/gaugeUtils.ts","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"@splunk/visualizations-shared/colorConstants\""],"names":["lodash_1","require","colorConstants_1","i18n_1","exports","GAUGE_THICKNESS","FILL_THICKNESS","GRADIENT_STOP_OFFSET_MIN","GRADIENT_STOP_OFFSET_MAX","getGaugeWidth","_ref","containerWidth","orientation","getGaugeHeight","_ref2","containerHeight","getGaugeLength","_ref3","getGaugeStartPosition","_ref4","gaugeLength","gaugeStartX","gaugeStartY","getGaugeDimensions","_ref5","_exports$getGaugeStar","gaugeWidth","gaugeHeight","assignGaugeColor","_ref6","value","min","max","rate","SEMANTIC_SUCCESS","SEMANTIC_WARNING","SEMANTIC_ERROR","getGaugeBarLength","_ref7","getGaugeBarStartPositions","_ref8","gaugeBarLength","gaugeBarX","gaugeBarY","getGaugeBarWidth","_ref9","getGaugeBarHeight","_ref10","getFillBarDimensions","_ref11","_exports$getGaugeBarS","fillBarX","fillBarY","fillBarWidth","fillBarHeight","fillBarLength","getFillerGaugeValueMarkerPositions","_ref12","valueMarkerX","valueMarkerY","getMarkerBarDimensions","_ref13","_exports$getGaugeBarS2","markerBarX","markerBarY","markerBarWidth","markerBarHeight","markerBarLength","getMarkerGaugeValueMarkerPositions","_ref14","getSortedRanges","ranges","sort","a","b","from","validateRanges","length","_","some","range","to","uniqBy","sortedRanges","i","getGaugeRange","Math","apply","_toConsumableArray","map","getGradientStopOffsets","_ref15","_exports$getGaugeRang","offsetScale","offsets","abs","reverse","cumulativeOffsets","reduce","accumulator","currentValue","idx","getGradientStopColors","_ref16","stopColors","getGradientStops","_ref17","stops","push","offset","concat","stopColor","getGradientDimensions","x1","y1","x2","y2","gaugeOptionsMapping","majorTickInterval","gaugeRanges","mapToOldKey","options","mapKeys","val","key","mapValueLabelDisplay","labelOrValue","rangeOrValue","showKey","percentKey","optionString","newOptions","Object","assign","omit","convertToGaugeProperties","originalOptions","chain","thru"],"mappings":";;;;;;;QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;AClFA,qE;;;;;;;ACAA,mC;;;;;;;;;;;;;;;ACAA,IAAAA,QAAA,GAAAC,mBAAA;AACA,IAAAC,gBAAA,GAAAD,mBAAA;AAKA,IAAAE,MAAA,GAAAF,mBAAA;AAEaG,OAAA,CAAAC,eAAe,GAAG,EAAE;AACpBD,OAAA,CAAAE,cAAc,GAAG,EAAE;AAChC,IAAMC,wBAAwB,GAAG,CAAC;AAClC,IAAMC,wBAAwB,GAAG,GAAG;AAEpC;;;;;;;;AAQO,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,IAAA;EAAA,IAAMC,cAAc,GAAAD,IAAA,CAAdC,cAAc;IAAEC,WAAW,GAAAF,IAAA,CAAXE,WAAW;EAAA,OACvDA,WAAW,KAAK,UAAU,GAAGR,OAAA,CAAAC,eAAe,GAAGM,cAAc,GAAG,GAAG;AAAA;AAD1DP,OAAA,CAAAK,aAAa,GAAAA,aAAA;AAG1B;;;;;;;;AAQO,IAAMI,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,KAAA;EAAA,IAAMC,eAAe,GAAAD,KAAA,CAAfC,eAAe;IAAEH,WAAW,GAAAE,KAAA,CAAXF,WAAW;EAAA,OACzDA,WAAW,KAAK,UAAU,GAAGG,eAAe,GAAG,GAAG,GAAGX,OAAA,CAAAC,eAAe;AAAA;AAD3DD,OAAA,CAAAS,cAAc,GAAAA,cAAA;AAG3B;;;;;;;;;;AAUO,IAAMG,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,KAAA;EAAA,IAAMN,cAAc,GAAAM,KAAA,CAAdN,cAAc;IAAEI,eAAe,GAAAE,KAAA,CAAfF,eAAe;IAAEH,WAAW,GAAAK,KAAA,CAAXL,WAAW;EAAA,OACzEA,WAAW,KAAK,UAAU,GACpBR,OAAA,CAAAS,cAAc,CAAC;IAAEE,eAAe,EAAfA,eAAe;IAAEH,WAAW,EAAXA;EAAW,CAAE,CAAC,GAChDR,OAAA,CAAAK,aAAa,CAAC;IAAEE,cAAc,EAAdA,cAAc;IAAEC,WAAW,EAAXA;EAAW,CAAE,CAAC;AAAA;AAH3CR,OAAA,CAAAY,cAAc,GAAAA,cAAA;AAK3B;;;;;;;;;;;;AAYO,IAAME,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAAC,KAAA,EAAqE;EAAA,IAA/DR,cAAc,GAAAQ,KAAA,CAAdR,cAAc;IAAEI,eAAe,GAAAI,KAAA,CAAfJ,eAAe;IAAEK,WAAW,GAAAD,KAAA,CAAXC,WAAW;IAAER,WAAW,GAAAO,KAAA,CAAXP,WAAW;EAC7F;EACA,IAAIS,WAAW,GAAG,CAACV,cAAc,GAAGS,WAAW,IAAI,GAAG;EACtD,IAAIE,WAAW,GAAG,CAACP,eAAe,GAAGX,OAAA,CAAAC,eAAe,IAAI,GAAG;EAE3D,IAAIO,WAAW,KAAK,UAAU,EAAE;IAC5BS,WAAW,GAAG,CAACV,cAAc,GAAGP,OAAA,CAAAC,eAAe,IAAI,GAAG;IACtDiB,WAAW,GAAG,CAACP,eAAe,GAAGK,WAAW,IAAI,GAAG;;EAGvD,OAAO;IAAEC,WAAW,EAAXA,WAAW;IAAEC,WAAW,EAAXA;EAAW,CAAE;AACvC,CAAC;AAXYlB,OAAA,CAAAc,qBAAqB,GAAAA,qBAAA;AAalC;;;;;;;;;;;;;;;AAeO,IAAMK,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAC,KAAA,EAAwD;EAAA,IAAlDb,cAAc,GAAAa,KAAA,CAAdb,cAAc;IAAEI,eAAe,GAAAS,KAAA,CAAfT,eAAe;IAAEH,WAAW,GAAAY,KAAA,CAAXZ,WAAW;EAC7E,IAAMQ,WAAW,GAAGhB,OAAA,CAAAY,cAAc,CAAC;IAAEL,cAAc,EAAdA,cAAc;IAAEI,eAAe,EAAfA,eAAe;IAAEH,WAAW,EAAXA;EAAW,CAAE,CAAC;EAAC,IAAAa,qBAAA,GAChDrB,OAAA,CAAAc,qBAAqB,CAAC;MACvDP,cAAc,EAAdA,cAAc;MACdI,eAAe,EAAfA,eAAe;MACfK,WAAW,EAAXA,WAAW;MACXR,WAAW,EAAXA;KACH,CAAC;IALMS,WAAW,GAAAI,qBAAA,CAAXJ,WAAW;IAAEC,WAAW,GAAAG,qBAAA,CAAXH,WAAW;EAMhC,IAAMI,UAAU,GAAGtB,OAAA,CAAAK,aAAa,CAAC;IAAEE,cAAc,EAAdA,cAAc;IAAEC,WAAW,EAAXA;EAAW,CAAE,CAAC;EACjE,IAAMe,WAAW,GAAGvB,OAAA,CAAAS,cAAc,CAAC;IAAEE,eAAe,EAAfA,eAAe;IAAEH,WAAW,EAAXA;EAAW,CAAE,CAAC;EAEpE,OAAO;IACHQ,WAAW,EAAXA,WAAW;IACXC,WAAW,EAAXA,WAAW;IACXC,WAAW,EAAXA,WAAW;IACXI,UAAU,EAAVA,UAAU;IACVC,WAAW,EAAXA;GACH;AACL,CAAC;AAlBYvB,OAAA,CAAAmB,kBAAkB,GAAAA,kBAAA;AAoB/B;;;;;;AAMO,IAAMK,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,KAAA,EAA2B;EAAA,IAArBC,KAAK,GAAAD,KAAA,CAALC,KAAK;IAAEC,GAAG,GAAAF,KAAA,CAAHE,GAAG;IAAEC,GAAG,GAAAH,KAAA,CAAHG,GAAG;EAC9C,IAAMC,IAAI,GAAG,CAACH,KAAK,GAAGC,GAAG,KAAKC,GAAG,GAAGD,GAAG,CAAC;EAExC,IAAIE,IAAI,IAAI,GAAG,EAAE;IACb,OAAO/B,gBAAA,CAAAgC,gBAAgB;;EAE3B,IAAID,IAAI,GAAG,GAAG,IAAIA,IAAI,IAAI,GAAG,EAAE;IAC3B,OAAO/B,gBAAA,CAAAiC,gBAAgB;;EAG3B,OAAOjC,gBAAA,CAAAkC,cAAc;AACzB,CAAC;AAXYhC,OAAA,CAAAwB,gBAAgB,GAAAA,gBAAA;AAa7B;;;;;;;;;;AAUO,IAAMS,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAC,KAAA,EAAwC;EAAA,IAAlClB,WAAW,GAAAkB,KAAA,CAAXlB,WAAW;IAAEU,KAAK,GAAAQ,KAAA,CAALR,KAAK;IAAEC,GAAG,GAAAO,KAAA,CAAHP,GAAG;IAAEC,GAAG,GAAAM,KAAA,CAAHN,GAAG;EAC5D,IAAIA,GAAG,GAAGD,GAAG,EAAE;IACX,OAAO,IAAI;;EAGf,IAAID,KAAK,IAAIE,GAAG,EAAE;IACd,OAAOZ,WAAW;;EAGtB,IAAIU,KAAK,GAAGC,GAAG,EAAE;IACb,OAAO,CAAC;;EAGZ,OAAQX,WAAW,IAAIU,KAAK,GAAGC,GAAG,CAAC,IAAKC,GAAG,GAAGD,GAAG,CAAC;AACtD,CAAC;AAdY3B,OAAA,CAAAiC,iBAAiB,GAAAA,iBAAA;AAgB9B;;;;;;;;;;;;;;AAcO,IAAME,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAAC,KAAA,EAOjC;EAAA,IANDnB,WAAW,GAAAmB,KAAA,CAAXnB,WAAW;IACXC,WAAW,GAAAkB,KAAA,CAAXlB,WAAW;IACXI,UAAU,GAAAc,KAAA,CAAVd,UAAU;IACVC,WAAW,GAAAa,KAAA,CAAXb,WAAW;IACXc,cAAc,GAAAD,KAAA,CAAdC,cAAc;IACd7B,WAAW,GAAA4B,KAAA,CAAX5B,WAAW;EAEX,IAAI8B,SAAS,GAAGrB,WAAW;EAC3B,IAAIsB,SAAS,GAAGrB,WAAW;EAE3B,IAAIV,WAAW,KAAK,UAAU,EAAE;IAC5B8B,SAAS,IAAI,CAAChB,UAAU,GAAGtB,OAAA,CAAAE,cAAc,IAAI,CAAC;IAC9CqC,SAAS,IAAIhB,WAAW,GAAGc,cAAc;GAC5C,MAAM;IACHE,SAAS,IAAI,CAAChB,WAAW,GAAGvB,OAAA,CAAAE,cAAc,IAAI,CAAC;;EAGnD,OAAO;IACHoC,SAAS,EAATA,SAAS;IACTC,SAAS,EAATA;GACH;AACL,CAAC;AAtBYvC,OAAA,CAAAmC,yBAAyB,GAAAA,yBAAA;AAwBtC;;;;;;;;AAQO,IAAMK,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,KAAA;EAAA,IAAMJ,cAAc,GAAAI,KAAA,CAAdJ,cAAc;IAAE7B,WAAW,GAAAiC,KAAA,CAAXjC,WAAW;EAAA,OAC1DA,WAAW,KAAK,UAAU,GAAGR,OAAA,CAAAE,cAAc,GAAGmC,cAAc;AAAA;AADnDrC,OAAA,CAAAwC,gBAAgB,GAAAA,gBAAA;AAG7B;;;;;;;;AAQO,IAAME,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAC,MAAA;EAAA,IAAMN,cAAc,GAAAM,MAAA,CAAdN,cAAc;IAAE7B,WAAW,GAAAmC,MAAA,CAAXnC,WAAW;EAAA,OAC3DA,WAAW,KAAK,UAAU,GAAG6B,cAAc,GAAGrC,OAAA,CAAAE,cAAc;AAAA;AADnDF,OAAA,CAAA0C,iBAAiB,GAAAA,iBAAA;AAG9B;;;;;;;;;;;;;;;;;;;;AAoBO,IAAME,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,MAAA,EAU5B;EAAA,IATD7B,WAAW,GAAA6B,MAAA,CAAX7B,WAAW;IACXC,WAAW,GAAA4B,MAAA,CAAX5B,WAAW;IACXC,WAAW,GAAA2B,MAAA,CAAX3B,WAAW;IACXI,UAAU,GAAAuB,MAAA,CAAVvB,UAAU;IACVC,WAAW,GAAAsB,MAAA,CAAXtB,WAAW;IACXG,KAAK,GAAAmB,MAAA,CAALnB,KAAK;IACLC,GAAG,GAAAkB,MAAA,CAAHlB,GAAG;IACHC,GAAG,GAAAiB,MAAA,CAAHjB,GAAG;IACHpB,WAAW,GAAAqC,MAAA,CAAXrC,WAAW;EAEX,IAAM6B,cAAc,GAAGrC,OAAA,CAAAiC,iBAAiB,CAAC;IAAEjB,WAAW,EAAXA,WAAW;IAAEU,KAAK,EAALA,KAAK;IAAEE,GAAG,EAAHA,GAAG;IAAED,GAAG,EAAHA;EAAG,CAAE,CAAC;EAAC,IAAAmB,qBAAA,GACtB9C,OAAA,CAAAmC,yBAAyB,CAAC;MAC3ElB,WAAW,EAAXA,WAAW;MACXC,WAAW,EAAXA,WAAW;MACXI,UAAU,EAAVA,UAAU;MACVC,WAAW,EAAXA,WAAW;MACXc,cAAc,EAAdA,cAAc;MACd7B,WAAW,EAAXA;KACH,CAAC;IAPiBuC,QAAQ,GAAAD,qBAAA,CAAnBR,SAAS;IAAuBU,QAAQ,GAAAF,qBAAA,CAAnBP,SAAS;EAQtC,IAAMU,YAAY,GAAGjD,OAAA,CAAAwC,gBAAgB,CAAC;IAAEH,cAAc,EAAdA,cAAc;IAAE7B,WAAW,EAAXA;EAAW,CAAE,CAAC;EACtE,IAAM0C,aAAa,GAAGlD,OAAA,CAAA0C,iBAAiB,CAAC;IAAEL,cAAc,EAAdA,cAAc;IAAE7B,WAAW,EAAXA;EAAW,CAAE,CAAC;EAExE,OAAO;IACH2C,aAAa,EAAEd,cAAc;IAC7BU,QAAQ,EAARA,QAAQ;IACRC,QAAQ,EAARA,QAAQ;IACRC,YAAY,EAAZA,YAAY;IACZC,aAAa,EAAbA;GACH;AACL,CAAC;AA9BYlD,OAAA,CAAA4C,oBAAoB,GAAAA,oBAAA;AAgCjC;;;;;;;;;;;;AAYO,IAAMQ,kCAAkC,GAAG,SAArCA,kCAAkCA,CAAAC,MAAA,EAA0D;EAAA,IAApDN,QAAQ,GAAAM,MAAA,CAARN,QAAQ;IAAEC,QAAQ,GAAAK,MAAA,CAARL,QAAQ;IAAEG,aAAa,GAAAE,MAAA,CAAbF,aAAa;IAAE3C,WAAW,GAAA6C,MAAA,CAAX7C,WAAW;EAC/F,IAAI8C,YAAY,GAAGP,QAAQ;EAC3B,IAAIQ,YAAY,GAAGP,QAAQ;EAE3B,IAAIxC,WAAW,KAAK,UAAU,EAAE;IAC5B8C,YAAY,IAAI,CAACtD,OAAA,CAAAC,eAAe,GAAGD,OAAA,CAAAE,cAAc,IAAI,CAAC;GACzD,MAAM;IACHoD,YAAY,IAAIH,aAAa;IAC7BI,YAAY,IAAI,CAACvD,OAAA,CAAAC,eAAe,GAAGD,OAAA,CAAAE,cAAc,IAAI,CAAC;;EAG1D,OAAO;IACHoD,YAAY,EAAZA,YAAY;IACZC,YAAY,EAAZA;GACH;AACL,CAAC;AAfYvD,OAAA,CAAAoD,kCAAkC,GAAAA,kCAAA;AAiB/C;;;;;;;;;;;;;;;;;AAiBO,IAAMI,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAAC,MAAA,EAO9B;EAAA,IANDzC,WAAW,GAAAyC,MAAA,CAAXzC,WAAW;IACXC,WAAW,GAAAwC,MAAA,CAAXxC,WAAW;IACXC,WAAW,GAAAuC,MAAA,CAAXvC,WAAW;IACXI,UAAU,GAAAmC,MAAA,CAAVnC,UAAU;IACVC,WAAW,GAAAkC,MAAA,CAAXlC,WAAW;IACXf,WAAW,GAAAiD,MAAA,CAAXjD,WAAW;EAEX,IAAM6B,cAAc,GAAGrB,WAAW,CAAC,CAAC;EAAA,IAAA0C,sBAAA,GACqB1D,OAAA,CAAAmC,yBAAyB,CAAC;MAC/ElB,WAAW,EAAXA,WAAW;MACXC,WAAW,EAAXA,WAAW;MACXI,UAAU,EAAVA,UAAU;MACVC,WAAW,EAAXA,WAAW;MACXc,cAAc,EAAdA,cAAc;MACd7B,WAAW,EAAXA;KACH,CAAC;IAPiBmD,UAAU,GAAAD,sBAAA,CAArBpB,SAAS;IAAyBsB,UAAU,GAAAF,sBAAA,CAArBnB,SAAS;EAQxC,IAAMsB,cAAc,GAAG7D,OAAA,CAAAwC,gBAAgB,CAAC;IAAEH,cAAc,EAAdA,cAAc;IAAE7B,WAAW,EAAXA;EAAW,CAAE,CAAC;EACxE,IAAMsD,eAAe,GAAG9D,OAAA,CAAA0C,iBAAiB,CAAC;IAAEL,cAAc,EAAdA,cAAc;IAAE7B,WAAW,EAAXA;EAAW,CAAE,CAAC;EAE1E,OAAO;IACHuD,eAAe,EAAE1B,cAAc;IAC/BsB,UAAU,EAAVA,UAAU;IACVC,UAAU,EAAVA,UAAU;IACVC,cAAc,EAAdA,cAAc;IACdC,eAAe,EAAfA;GACH;AACL,CAAC;AA3BY9D,OAAA,CAAAwD,sBAAsB,GAAAA,sBAAA;AA6BnC;;;;;;;;;;;;;;;;AAgBO,IAAMQ,kCAAkC,GAAG,SAArCA,kCAAkCA,CAAAC,MAAA,EAS1C;EAAA,IARDN,UAAU,GAAAM,MAAA,CAAVN,UAAU;IACVC,UAAU,GAAAK,MAAA,CAAVL,UAAU;IACVE,eAAe,GAAAG,MAAA,CAAfH,eAAe;IACE9C,WAAW,GAAAiD,MAAA,CAA5BF,eAAe;IACfvD,WAAW,GAAAyD,MAAA,CAAXzD,WAAW;IACXkB,KAAK,GAAAuC,MAAA,CAALvC,KAAK;IACLC,GAAG,GAAAsC,MAAA,CAAHtC,GAAG;IACHC,GAAG,GAAAqC,MAAA,CAAHrC,GAAG;EAEH,IAAI0B,YAAY,GAAGK,UAAU;EAC7B,IAAIJ,YAAY,GAAGK,UAAU;EAC7B,IAAIpD,WAAW,KAAK,UAAU,EAAE;IAC5B+C,YAAY,IAAIO,eAAe,GAAG9D,OAAA,CAAAiC,iBAAiB,CAAC;MAAEjB,WAAW,EAAXA,WAAW;MAAEU,KAAK,EAALA,KAAK;MAAEE,GAAG,EAAHA,GAAG;MAAED,GAAG,EAAHA;IAAG,CAAE,CAAC;IACrF2B,YAAY,IAAI,CAACtD,OAAA,CAAAC,eAAe,GAAGD,OAAA,CAAAE,cAAc,IAAI,CAAC;GACzD,MAAM;IACHoD,YAAY,IAAItD,OAAA,CAAAiC,iBAAiB,CAAC;MAAEjB,WAAW,EAAXA,WAAW;MAAEU,KAAK,EAALA,KAAK;MAAEE,GAAG,EAAHA,GAAG;MAAED,GAAG,EAAHA;IAAG,CAAE,CAAC;IACnE4B,YAAY,IAAI,CAACvD,OAAA,CAAAC,eAAe,GAAGD,OAAA,CAAAE,cAAc,IAAI,CAAC;;EAG1D,OAAO;IACHoD,YAAY,EAAZA,YAAY;IACZC,YAAY,EAAZA;GACH;AACL,CAAC;AAxBYvD,OAAA,CAAAgE,kCAAkC,GAAAA,kCAAA;AA0B/C;;;;;;AAMO,IAAME,eAAe,GAAG,SAAlBA,eAAeA,CAAGC,MAAM;EAAA,OAAIA,MAAM,CAACC,IAAI,CAAC,UAACC,CAAC,EAAEC,CAAC;IAAA,OAAKD,CAAC,CAACE,IAAI,GAAGD,CAAC,CAACC,IAAI;EAAA,EAAC;AAAA;AAAlEvE,OAAA,CAAAkE,eAAe,GAAAA,eAAA;AAE5B;;;;;;AAMO,IAAMM,cAAc,GAAG,SAAjBA,cAAcA,CAAGL,MAAM,EAAG;EACnC,IAAI,CAACA,MAAM,CAACM,MAAM,EAAE;IAChB,OAAO1E,MAAA,CAAA2E,CAAC,CAAC,kCAAkC,CAAC;;EAGhD;EACA,IAAIP,MAAM,CAACQ,IAAI,CAAC,UAAAC,KAAK;IAAA,OAAIA,KAAK,CAACL,IAAI,IAAIK,KAAK,CAACC,EAAE;EAAA,EAAC,EAAE;IAC9C,OAAO9E,MAAA,CAAA2E,CAAC,CAAC,kDAAkD,CAAC;;EAGhE;EACA,IAAIP,MAAM,CAACM,MAAM,KAAK7E,QAAA,CAAAkF,MAAM,CAACX,MAAM,EAAE,IAAI,CAAC,CAACM,MAAM,IAAIN,MAAM,CAACM,MAAM,KAAK7E,QAAA,CAAAkF,MAAM,CAACX,MAAM,EAAE,MAAM,CAAC,CAACM,MAAM,EAAE;IAClG,OAAO1E,MAAA,CAAA2E,CAAC,CAAC,qDAAqD,CAAC;;EAGnE,IAAMK,YAAY,GAAG/E,OAAA,CAAAkE,eAAe,CAACC,MAAM,CAAC;EAE5C;EACA,KAAK,IAAIa,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,YAAY,CAACN,MAAM,EAAEO,CAAC,IAAI,CAAC,EAAE;IAC7C,IAAID,YAAY,CAACC,CAAC,CAAC,CAACT,IAAI,KAAKQ,YAAY,CAACC,CAAC,GAAG,CAAC,CAAC,CAACH,EAAE,EAAE;MACjD,OAAO9E,MAAA,CAAA2E,CAAC,CAAC,yDAAyD,CAAC;;;EAI3E,OAAO,IAAI;AACf,CAAC;AAzBY1E,OAAA,CAAAwE,cAAc,GAAAA,cAAA;AA2B3B;;;;;;;;AAQO,IAAMS,aAAa,GAAG,SAAhBA,aAAaA,CAAGd,MAAM,EAAG;EAClC,IAAMxC,GAAG,GAAGuD,IAAI,CAACvD,GAAG,CAAAwD,KAAA,CAARD,IAAI,EAAAE,kBAAA,CAAQjB,MAAM,CAACkB,GAAG,CAAC,UAAAT,KAAK;IAAA,OAAIA,KAAK,CAACL,IAAI;EAAA,EAAC,EAAC;EACxD,IAAM3C,GAAG,GAAGsD,IAAI,CAACtD,GAAG,CAAAuD,KAAA,CAARD,IAAI,EAAAE,kBAAA,CAAQjB,MAAM,CAACkB,GAAG,CAAC,UAAAT,KAAK;IAAA,OAAIA,KAAK,CAACC,EAAE;EAAA,EAAC,EAAC;EACtD,OAAO;IAAElD,GAAG,EAAHA,GAAG;IAAEC,GAAG,EAAHA;EAAG,CAAE;AACvB,CAAC;AAJY5B,OAAA,CAAAiF,aAAa,GAAAA,aAAA;AAM1B;;;;;;;AAOO,IAAMK,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAAC,MAAA,EAA+B;EAAA,IAAzBpB,MAAM,GAAAoB,MAAA,CAANpB,MAAM;IAAE3D,WAAW,GAAA+E,MAAA,CAAX/E,WAAW;EAAA,IAAAgF,qBAAA,GACnCxF,OAAA,CAAAiF,aAAa,CAACd,MAAM,CAAC;IAAlCxC,GAAG,GAAA6D,qBAAA,CAAH7D,GAAG;IAAEC,GAAG,GAAA4D,qBAAA,CAAH5D,GAAG;EAChB,IAAM6D,WAAW,GAAG,CAACrF,wBAAwB,GAAGD,wBAAwB,KAAKyB,GAAG,GAAGD,GAAG,CAAC;EACvF,IAAI+D,OAAO,GAAGvB,MAAM,CAACkB,GAAG,CAAC,UAAAT,KAAK;IAAA,OAAIM,IAAI,CAACS,GAAG,CAACf,KAAK,CAACL,IAAI,GAAGK,KAAK,CAACC,EAAE,CAAC,GAAGY,WAAW;EAAA,EAAC;EAChF;EACAC,OAAO,GAAGlF,WAAW,KAAK,UAAU,GAAGkF,OAAO,CAACE,OAAO,EAAE,GAAGF,OAAO;EAClE,IAAMG,iBAAiB,GAAG,EAAE;EAC5BH,OAAO,CAACI,MAAM,CAAC,UAACC,WAAW,EAAEC,YAAY,EAAEC,GAAG,EAAI;IAC9CJ,iBAAiB,CAACI,GAAG,CAAC,GAAGF,WAAW,GAAGC,YAAY;IACnD,OAAOH,iBAAiB,CAACI,GAAG,CAAC;EACjC,CAAC,EAAE,CAAC,CAAC;EACL,OAAOJ,iBAAiB;AAC5B,CAAC;AAZY7F,OAAA,CAAAsF,sBAAsB,GAAAA,sBAAA;AAcnC;;;;;;;AAOO,IAAMY,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAAC,MAAA,EAA+B;EAAA,IAAzBhC,MAAM,GAAAgC,MAAA,CAANhC,MAAM;IAAE3D,WAAW,GAAA2F,MAAA,CAAX3F,WAAW;EACvD,IAAM4F,UAAU,GAAGjC,MAAM,CAACkB,GAAG,CAAC,UAAAT,KAAK;IAAA,OAAIA,KAAK,CAAClD,KAAK;EAAA,EAAC;EACnD;EACA,OAAOlB,WAAW,KAAK,UAAU,GAAG4F,UAAU,CAACR,OAAO,EAAE,GAAGQ,UAAU;AACzE,CAAC;AAJYpG,OAAA,CAAAkG,qBAAqB,GAAAA,qBAAA;AAMlC;;;;;;;;AAQO,IAAMG,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,MAAA,EAA+B;EAAA,IAAzBnC,MAAM,GAAAmC,MAAA,CAANnC,MAAM;IAAE3D,WAAW,GAAA8F,MAAA,CAAX9F,WAAW;EAClD,IAAM+F,KAAK,GAAG,EAAE;EAChB,IAAMb,OAAO,GAAG1F,OAAA,CAAAsF,sBAAsB,CAAC;IAAEnB,MAAM,EAANA,MAAM;IAAE3D,WAAW,EAAXA;EAAW,CAAE,CAAC;EAC/D,IAAM4F,UAAU,GAAGpG,OAAA,CAAAkG,qBAAqB,CAAC;IAAE/B,MAAM,EAANA,MAAM;IAAE3D,WAAW,EAAXA;EAAW,CAAE,CAAC;EACjE;EACA+F,KAAK,CAACC,IAAI,CAAC;IAAEC,MAAM,KAAAC,MAAA,CAAKhB,OAAO,CAAC,CAAC,CAAC,MAAG;IAAEiB,SAAS,EAAEP,UAAU,CAAC,CAAC;EAAC,CAAE,CAAC;EAClE;EACA,KAAK,IAAIpB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGb,MAAM,CAACM,MAAM,EAAEO,CAAC,IAAI,CAAC,EAAE;IACvCuB,KAAK,CAACC,IAAI,CAAC;MAAEC,MAAM,KAAAC,MAAA,CAAKhB,OAAO,CAACV,CAAC,GAAG,CAAC,CAAC,MAAG;MAAE2B,SAAS,EAAEP,UAAU,CAACpB,CAAC;IAAC,CAAE,CAAC;IACtEuB,KAAK,CAACC,IAAI,CAAC;MAAEC,MAAM,KAAAC,MAAA,CAAKhB,OAAO,CAACV,CAAC,CAAC,MAAG;MAAE2B,SAAS,EAAEP,UAAU,CAACpB,CAAC;IAAC,CAAE,CAAC;;EAEtE,OAAOuB,KAAK;AAChB,CAAC;AAZYvG,OAAA,CAAAqG,gBAAgB,GAAAA,gBAAA;AAc7B;;;;;;;;;;AAUO,IAAMO,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAGpG,WAAW,EAAG;EAC/C,IAAMqG,EAAE,GAAG,IAAI;EACf,IAAMC,EAAE,GAAG,IAAI;EACf,IAAMC,EAAE,GAAGvG,WAAW,KAAK,YAAY,GAAG,MAAM,GAAG,IAAI;EACvD,IAAMwG,EAAE,GAAGxG,WAAW,KAAK,YAAY,GAAG,IAAI,GAAG,MAAM;EACvD,OAAO;IAAEqG,EAAE,EAAFA,EAAE;IAAEC,EAAE,EAAFA,EAAE;IAAEC,EAAE,EAAFA,EAAE;IAAEC,EAAE,EAAFA;EAAE,CAAE;AAC7B,CAAC;AANYhH,OAAA,CAAA4G,qBAAqB,GAAAA,qBAAA;AAYlC;AACA,IAAMK,mBAAmB,GAAG;EACxBC,iBAAiB,EAAE,WAAW;EAC9BC,WAAW,EAAE;CAChB;AAED;;;;;;AAMO,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAIC,OAAqB;EAAA,OAC7CzH,QAAA,CAAA0H,OAAO,CAACD,OAAO,EAAE,UAACE,GAAG,EAAEC,GAAG;IAAA,OAAMP,mBAAmB,CAACO,GAAG,CAAC,GAAGP,mBAAmB,CAACO,GAAG,CAAC,GAAGA,GAAG;EAAA,CAAC,CAAC;AAAA;AADlFxH,OAAA,CAAAoH,WAAW,GAAAA,WAAA;AAKxB;;;;;;;AAOO,IAAMK,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIC,YAA0B,EAAEL,OAAqB,EAAkB;EACpG,IAAMM,YAAY,GAAWD,YAAY,KAAK,OAAO,GAAG,OAAO,GAAG,OAAO;EACzE,IAAME,OAAO,GAAWF,YAAY,KAAK,OAAO,GAAG,WAAW,GAAG,YAAY;EAC7E,IAAMG,UAAU,mBAAAnB,MAAA,CAAmBiB,YAAY,CAAE;EACjD,IAAMG,YAAY,MAAApB,MAAA,CAAMgB,YAAY,YAAS;EAC7C,IAAMK,UAAU,GAAAC,MAAA,CAAAC,MAAA,KAAQZ,OAAO,CAAE;EACjC,IAAIU,UAAU,CAACD,YAAY,CAAC,EAAE;IAC1B,IAAIC,UAAU,CAACD,YAAY,CAAC,KAAK,QAAQ,EAAE;MACvCC,UAAU,CAACH,OAAO,CAAC,GAAG,IAAI;MAC1BG,UAAU,CAACF,UAAU,CAAC,GAAG,KAAK;KACjC,MAAM,IAAIE,UAAU,CAACD,YAAY,CAAC,KAAK,YAAY,EAAE;MAClDC,UAAU,CAACH,OAAO,CAAC,GAAG,IAAI;MAC1BG,UAAU,CAACF,UAAU,CAAC,GAAG,IAAI;KAChC,MAAM;MACHE,UAAU,CAACH,OAAO,CAAC,GAAG,KAAK;MAC3BG,UAAU,CAACF,UAAU,CAAC,GAAG,KAAK;;;EAGtC,OAAOjI,QAAA,CAAAsI,IAAI,CAACH,UAAU,EAAE,CAACD,YAAY,CAAC,CAAC;AAC3C,CAAC;AAnBY9H,OAAA,CAAAyH,oBAAoB,GAAAA,oBAAA;AAqBjC;;;;;;;AAOO,IAAMU,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAIC,eAA6B;EAAA,OAClExI,QAAA,CAAAyI,KAAK,CAACrI,OAAA,CAAAoH,WAAW,CAACgB,eAAe,CAAC,CAAC,CAC9BE,IAAI,CAAC,UAAAjB,OAAO;IAAA,OAAIrH,OAAA,CAAAyH,oBAAoB,CAAC,OAAO,EAAEJ,OAAO,CAAC;EAAA,EAAC,CACvDiB,IAAI,CAAC,UAAAjB,OAAO;IAAA,OAAIrH,OAAA,CAAAyH,oBAAoB,CAAC,OAAO,EAAEJ,OAAO,CAAC;EAAA,EAAC,CACvD3F,KAAK,EAAE;AAAA;AAJH1B,OAAA,CAAAmI,wBAAwB,GAAAA,wBAAA,C;;;;;;;ACzjBrC,kD;;;;;;;ACAA,yE","file":"gaugeUtils.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 = 69);\n","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"lodash\");","import { chain, mapKeys, omit, uniqBy } from 'lodash';\nimport {\n SEMANTIC_SUCCESS,\n SEMANTIC_WARNING,\n SEMANTIC_ERROR,\n} from '@splunk/visualizations-shared/colorConstants';\nimport { _ } from '@splunk/ui-utils/i18n';\n\nexport const GAUGE_THICKNESS = 50;\nexport const FILL_THICKNESS = 38;\nconst GRADIENT_STOP_OFFSET_MIN = 0;\nconst GRADIENT_STOP_OFFSET_MAX = 100;\n\n/**\n * get width for the whole gauge viz for horizontal or vertical view\n * @method getGaugeWidth\n * @param {Object} input\n * @param {Number} containerWidth\n * @param {String} orientation\n * @return {Number} width\n */\nexport const getGaugeWidth = ({ containerWidth, orientation }) =>\n orientation === 'vertical' ? GAUGE_THICKNESS : containerWidth * 0.8;\n\n/**\n * get height for the whole gauge viz for horizontal or vertical view\n * @method getGaugeHeight\n * @param {Object} input\n * @param {Number} containerHeight\n * @param {String} orientation\n * @return {Number} height\n */\nexport const getGaugeHeight = ({ containerHeight, orientation }) =>\n orientation === 'vertical' ? containerHeight * 0.8 : GAUGE_THICKNESS;\n\n/**\n * get how long the gauge shoud be.\n * In horizontal view, gauge length equals to gauge width. In vertical view, it equals to gauge height.\n * @method getGaugeLength\n * @param {Object} input\n * @param {Number} input.containerWidth\n * @param {Number} input.containerHeight\n * @param {String} input.orientation\n * @return {Number} gaugeLength\n */\nexport const getGaugeLength = ({ containerWidth, containerHeight, orientation }) =>\n orientation === 'vertical'\n ? getGaugeHeight({ containerHeight, orientation })\n : getGaugeWidth({ containerWidth, orientation });\n\n/**\n * get start x and y for rendering gauge\n * @method getGaugeStartPosition\n * @param {Object} input\n * @param {Number} containerWidth\n * @param {Number} containerHeight\n * @param {Number} gaugeLength\n * @param {String} orientation\n * @return {Object} position\n * @return {Number} position.gaugeStartX\n * @return {Number} position.gaugeStartY\n */\nexport const getGaugeStartPosition = ({ containerWidth, containerHeight, gaugeLength, orientation }) => {\n // for horizontal view\n let gaugeStartX = (containerWidth - gaugeLength) / 2.0;\n let gaugeStartY = (containerHeight - GAUGE_THICKNESS) / 2.0;\n\n if (orientation === 'vertical') {\n gaugeStartX = (containerWidth - GAUGE_THICKNESS) / 2.0;\n gaugeStartY = (containerHeight - gaugeLength) / 2.0;\n }\n\n return { gaugeStartX, gaugeStartY };\n};\n\n/**\n * get dimensions for the whole gauge viz,\n * which can be useful to calculate background bar and major ticks positions.\n * @method getGaugeDimensions\n * @param {Object} input\n * @param {Number} input.containerWidth\n * @param {Number} input.containerHeight\n * @param {String} input.orientation 'horizontal' or 'vertical'\n * @return {Object} gaugeDimensions\n * @return {Number} gaugeDimensions.gaugeLength how long the gauge shoud be in horizontal or vertical orientation.\n * @return {Number} gaugeDimensions.gaugeStartX start x to render gauge\n * @return {Number} gaugeDimensions.gaugeStartY start y to render gauge\n * @return {Number} gaugeDimensions.gaugeWidth natural width of gauge\n * @return {Number} gaugeDimensions.gaugeHeight natural height of gauge\n */\nexport const getGaugeDimensions = ({ containerWidth, containerHeight, orientation }) => {\n const gaugeLength = getGaugeLength({ containerWidth, containerHeight, orientation });\n const { gaugeStartX, gaugeStartY } = getGaugeStartPosition({\n containerWidth,\n containerHeight,\n gaugeLength,\n orientation,\n });\n const gaugeWidth = getGaugeWidth({ containerWidth, orientation });\n const gaugeHeight = getGaugeHeight({ containerHeight, orientation });\n\n return {\n gaugeLength,\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n };\n};\n\n/**\n * if gaugeColor is not specified, auto assign a gauge color to the fill bar\n * based on how much percentage the value is taken between min and max\n * @method assignGaugeColor\n * @params\n * */\nexport const assignGaugeColor = ({ value, min, max }) => {\n const rate = (value - min) / (max - min);\n\n if (rate <= 0.3) {\n return SEMANTIC_SUCCESS;\n }\n if (rate > 0.3 && rate <= 0.6) {\n return SEMANTIC_WARNING;\n }\n\n return SEMANTIC_ERROR;\n};\n\n/**\n * get inner bar length in gauge\n * @method getGaugeBarLength\n * @param {Object} input\n * @param {Number} input.gaugeLength\n * @param {Number} input.value\n * @param {Number} input.min\n * @param {Number} input.max\n * @return {Number} gaugeBarLength\n */\nexport const getGaugeBarLength = ({ gaugeLength, value, min, max }) => {\n if (max < min) {\n return null;\n }\n\n if (value >= max) {\n return gaugeLength;\n }\n\n if (value < min) {\n return 0;\n }\n\n return (gaugeLength * (value - min)) / (max - min);\n};\n\n/**\n * get x and y position for rendering inner bar in gauge\n * @method getGaugeBarStartPositions\n * @param {Object} input\n * @param {Number} input.gaugeStartX\n * @param {Number} input.gaugeStartY\n * @param {Number} input.gaugeWidth\n * @param {Number} input.gaugeHeight\n * @param {Number} input.gaugeBarLength\n * @param {String} input.orientation\n * @return {Object} position\n * @return {Number} position.gaugeBarX\n * @return {Number} position.gaugeBarY\n */\nexport const getGaugeBarStartPositions = ({\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n gaugeBarLength,\n orientation,\n}) => {\n let gaugeBarX = gaugeStartX;\n let gaugeBarY = gaugeStartY;\n\n if (orientation === 'vertical') {\n gaugeBarX += (gaugeWidth - FILL_THICKNESS) / 2;\n gaugeBarY += gaugeHeight - gaugeBarLength;\n } else {\n gaugeBarY += (gaugeHeight - FILL_THICKNESS) / 2;\n }\n\n return {\n gaugeBarX,\n gaugeBarY,\n };\n};\n\n/**\n * get width of inner bar in gauge\n * @method getGaugeBarWidth\n * @param {Object} input\n * @param {Number} input.gaugeBarLength\n * @param {String} orientation\n * @return {Number} gaugeBarWidth\n */\nexport const getGaugeBarWidth = ({ gaugeBarLength, orientation }) =>\n orientation === 'vertical' ? FILL_THICKNESS : gaugeBarLength;\n\n/**\n * get height of inner bar in gauge\n * @method getGaugeBarWidth\n * @param {Object} input\n * @param {Number} input.gaugeBarLength\n * @param {String} orientation\n * @return {Number} gaugeBarHeight\n */\nexport const getGaugeBarHeight = ({ gaugeBarLength, orientation }) =>\n orientation === 'vertical' ? gaugeBarLength : FILL_THICKNESS;\n\n/**\n * get dimensions for the fill bar in the gauge\n * @method getFillBarDimensions\n * @param {Object} input\n * @param {Number} input.gaugeLength\n * @param {Number} input.gaugeStartX\n * @param {Number} input.gaugeStartY\n * @param {Number} input.gaugeWidth,\n * @param {Number} input.gaugeHeight,\n * @param {Number} input.value,\n * @param {Number} input.min,\n * @param {Number} input.max,\n * @param {String} input.orientation\n * @return {Object} fillBarDimensions\n * @return {Number} fillBarDimensions.fillBarLength\n * @return {Number} fillBarDimensions.fillBarX\n * @return {Number} fillBarDimensions.fillBarY\n * @return {Number} fillBarDimensions.fillBarWidth\n * @return {Number} fillBarDimensions.fillBarHeight\n */\nexport const getFillBarDimensions = ({\n gaugeLength,\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n value,\n min,\n max,\n orientation,\n}) => {\n const gaugeBarLength = getGaugeBarLength({ gaugeLength, value, max, min });\n const { gaugeBarX: fillBarX, gaugeBarY: fillBarY } = getGaugeBarStartPositions({\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n gaugeBarLength,\n orientation,\n });\n const fillBarWidth = getGaugeBarWidth({ gaugeBarLength, orientation });\n const fillBarHeight = getGaugeBarHeight({ gaugeBarLength, orientation });\n\n return {\n fillBarLength: gaugeBarLength,\n fillBarX,\n fillBarY,\n fillBarWidth,\n fillBarHeight,\n };\n};\n\n/**\n * get position x and y for value marker in filler gauge\n * @method getFillerGaugeValueMarkerPositions\n * @param {Object} input\n * @param {Number} input.fillBarX\n * @param {Number} input.fillBarY\n * @param {Number} input.fillBarLength\n * @param {String} input.orientation\n * @return {Object} position\n * @return {Number} position.valueMarkerX\n * @return {Number} position.valueMarkerY\n */\nexport const getFillerGaugeValueMarkerPositions = ({ fillBarX, fillBarY, fillBarLength, orientation }) => {\n let valueMarkerX = fillBarX;\n let valueMarkerY = fillBarY;\n\n if (orientation === 'vertical') {\n valueMarkerX -= (GAUGE_THICKNESS - FILL_THICKNESS) / 4;\n } else {\n valueMarkerX += fillBarLength;\n valueMarkerY -= (GAUGE_THICKNESS - FILL_THICKNESS) / 4;\n }\n\n return {\n valueMarkerX,\n valueMarkerY,\n };\n};\n\n/**\n * get dimensions for the marker bar in the gauge\n * @method getMarkerBarDimensions\n * @param {Object} input\n * @param {Number} input.gaugeLength\n * @param {Number} input.gaugeStartX\n * @param {Number} input.gaugeStartY\n * @param {Number} input.gaugeWidth,\n * @param {Number} input.gaugeHeight,\n * @param {String} input.orientation\n * @return {Object} markerBarDimensions\n * @return {Number} markerBarDimensions.markerBarLength\n * @return {Number} markerBarDimensions.markerBarX\n * @return {Number} markerBarDimensions.markerBarY\n * @return {Number} markerBarDimensions.markerBarWidth\n * @return {Number} markerBarDimensions.markerBarHeight\n */\nexport const getMarkerBarDimensions = ({\n gaugeLength,\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n orientation,\n}) => {\n const gaugeBarLength = gaugeLength; // For marker gauge, inner marker bar spans the entire gauge\n const { gaugeBarX: markerBarX, gaugeBarY: markerBarY } = getGaugeBarStartPositions({\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n gaugeBarLength,\n orientation,\n });\n const markerBarWidth = getGaugeBarWidth({ gaugeBarLength, orientation });\n const markerBarHeight = getGaugeBarHeight({ gaugeBarLength, orientation });\n\n return {\n markerBarLength: gaugeBarLength,\n markerBarX,\n markerBarY,\n markerBarWidth,\n markerBarHeight,\n };\n};\n\n/**\n * get position x and y for value marker in marker gauge\n * @method getMarkerGaugeValueMarkerPositions\n * @param {Object} input\n * @param {Number} input.markerBarX\n * @param {Number} input.markerBarY\n * @param {Number} input.markerBarHeight\n * @param {Number} input.markerBarLength\n * @param {Number} input.value\n * @param {Number} input.min\n * @param {Number} input.max\n * @param {String} input.orientation\n * @return {Object} position\n * @return {Number} position.valueMarkerX\n * @return {Number} position.valueMarkerY\n */\nexport const getMarkerGaugeValueMarkerPositions = ({\n markerBarX,\n markerBarY,\n markerBarHeight,\n markerBarLength: gaugeLength,\n orientation,\n value,\n min,\n max,\n}) => {\n let valueMarkerX = markerBarX;\n let valueMarkerY = markerBarY;\n if (orientation === 'vertical') {\n valueMarkerY += markerBarHeight - getGaugeBarLength({ gaugeLength, value, max, min });\n valueMarkerX -= (GAUGE_THICKNESS - FILL_THICKNESS) / 4;\n } else {\n valueMarkerX += getGaugeBarLength({ gaugeLength, value, max, min });\n valueMarkerY -= (GAUGE_THICKNESS - FILL_THICKNESS) / 4;\n }\n\n return {\n valueMarkerX,\n valueMarkerY,\n };\n};\n\n/**\n * sort the ranges in ascending order\n * @method getSortedRanges\n * @param {Array} ranges\n * @return {Array} sortedRanges\n */\nexport const getSortedRanges = ranges => ranges.sort((a, b) => a.from - b.from);\n\n/**\n * validate whether ranges prop is valid - continuous ranges, range.to < range.from, range.from != range.to\n * @method validateRanges\n * @param {Array} ranges\n * @return {String} error\n */\nexport const validateRanges = ranges => {\n if (!ranges.length) {\n return _('Prop \"ranges\" is missing entries');\n }\n\n // check whether a range has \"from\" >= \"to\" eg: 10 - 10, 100 - 10, -20 - -10 are invalid\n if (ranges.some(range => range.from >= range.to)) {\n return _('Prop \"ranges\" has invalid entries: invalid range');\n }\n\n // check whether ranges have duplicate \"from/to\" eg: 0 - 50, 25 - 50\n if (ranges.length !== uniqBy(ranges, 'to').length || ranges.length !== uniqBy(ranges, 'from').length) {\n return _('Prop \"ranges\" has invalid entries: duplicate values');\n }\n\n const sortedRanges = getSortedRanges(ranges);\n\n // check whether ranges are continuous eg: 0 - 10, 10 - 20, 20 - 30\n for (let i = 1; i < sortedRanges.length; i += 1) {\n if (sortedRanges[i].from !== sortedRanges[i - 1].to) {\n return _('Prop \"ranges\" has invalid entries: discontinuous ranges');\n }\n }\n\n return null;\n};\n\n/**\n * calculate min and max value of gauge\n * @method getGaugeRange\n * @param {Array} ranges\n * @return {Object} gaugeRange\n * @return {Number} gaugeRange.min\n * @return {Number} gaugeRange.max\n */\nexport const getGaugeRange = ranges => {\n const min = Math.min(...ranges.map(range => range.from));\n const max = Math.max(...ranges.map(range => range.to));\n return { min, max };\n};\n\n/**\n * calculate stop offsets for linear gradient\n * @method getGradientStopOffsets\n * @param {Array} ranges\n * @param {String} orientation\n * @return {Array} cumulativeOffsets\n */\nexport const getGradientStopOffsets = ({ ranges, orientation }) => {\n const { min, max } = getGaugeRange(ranges);\n const offsetScale = (GRADIENT_STOP_OFFSET_MAX - GRADIENT_STOP_OFFSET_MIN) / (max - min);\n let offsets = ranges.map(range => Math.abs(range.from - range.to) * offsetScale);\n // When orientation is vertical, since the gauge starts from bottom to top, linear gradient should be reversed\n offsets = orientation === 'vertical' ? offsets.reverse() : offsets;\n const cumulativeOffsets = [];\n offsets.reduce((accumulator, currentValue, idx) => {\n cumulativeOffsets[idx] = accumulator + currentValue;\n return cumulativeOffsets[idx];\n }, 0);\n return cumulativeOffsets;\n};\n\n/**\n * calculate stop colors for linear gradient\n * @method getGradientStopColors\n * @param {Array} ranges\n * @param {String} orientation\n * @return {Array} stopColors\n */\nexport const getGradientStopColors = ({ ranges, orientation }) => {\n const stopColors = ranges.map(range => range.value);\n // When orientation is vertical, since the gauge starts from bottom to top, linear gradient should be reversed\n return orientation === 'vertical' ? stopColors.reverse() : stopColors;\n};\n\n/**\n * calculate linear gradient stops from ranges\n * @method getGradientStops\n * @param {Object} input\n * @param {Array} ranges\n * @param {String} orientation\n * @return {Array} stops\n */\nexport const getGradientStops = ({ ranges, orientation }) => {\n const stops = [];\n const offsets = getGradientStopOffsets({ ranges, orientation });\n const stopColors = getGradientStopColors({ ranges, orientation });\n // Initialize stops with the first color stop\n stops.push({ offset: `${offsets[0]}%`, stopColor: stopColors[0] });\n // Add the remaining color stops with gradient change at each stop\n for (let i = 1; i < ranges.length; i += 1) {\n stops.push({ offset: `${offsets[i - 1]}%`, stopColor: stopColors[i] });\n stops.push({ offset: `${offsets[i]}%`, stopColor: stopColors[i] });\n }\n return stops;\n};\n\n/**\n * calculate linear gradient dimensions\n * @method getGradientDimensions\n * @param {String} orientation\n * @return {Object} dimensions\n * @return {String} dimensions.x1\n * @return {String} dimensions.y1\n * @return {String} dimensions.x2\n * @return {String} dimensions.y2\n */\nexport const getGradientDimensions = orientation => {\n const x1 = '0%';\n const y1 = '0%';\n const x2 = orientation === 'horizontal' ? '100%' : '0%';\n const y2 = orientation === 'horizontal' ? '0%' : '100%';\n return { x1, y1, x2, y2 };\n};\n\ninterface GaugeOptions {\n [key: string]: any;\n}\n\n// map for new options names to old option names\nconst gaugeOptionsMapping = {\n majorTickInterval: 'majorUnit',\n gaugeRanges: 'ranges',\n};\n\n/**\n * Helper method to update the option names which can be mapped to pure component options\n * @method mapToOldKey\n * @param {Object} options\n * @returns {Object}\n */\nexport const mapToOldKey = (options: GaugeOptions): GaugeOptions =>\n mapKeys(options, (val, key) => (gaugeOptionsMapping[key] ? gaugeOptionsMapping[key] : key));\n\ntype LabelOrValue = 'label' | 'value';\n\n/**\n * Helper method to map labelDisplay and valueDisplay options to pure component option names\n * @method mapToOldKey\n * @param {string} labelOrValue\n * @param {Object} options\n * @returns {Object}\n */\nexport const mapValueLabelDisplay = (labelOrValue: LabelOrValue, options: GaugeOptions): GaugeOptions => {\n const rangeOrValue: string = labelOrValue === 'value' ? 'Value' : 'Range';\n const showKey: string = labelOrValue === 'value' ? 'showValue' : 'showLabels';\n const percentKey = `usePercentage${rangeOrValue}`;\n const optionString = `${labelOrValue}Display`;\n const newOptions = { ...options };\n if (newOptions[optionString]) {\n if (newOptions[optionString] === 'number') {\n newOptions[showKey] = true;\n newOptions[percentKey] = false;\n } else if (newOptions[optionString] === 'percentage') {\n newOptions[showKey] = true;\n newOptions[percentKey] = true;\n } else {\n newOptions[showKey] = false;\n newOptions[percentKey] = false;\n }\n }\n return omit(newOptions, [optionString]);\n};\n\n/**\n * Chained helper for mapping the option properties (and values) we expose in config.ts into property values that pure component accepts\n * This is for options that has new key name and can not directly be mapped with pure component props\n * @method convertToGaugeProperties\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertToGaugeProperties = (originalOptions: GaugeOptions): GaugeOptions =>\n chain(mapToOldKey(originalOptions))\n .thru(options => mapValueLabelDisplay('label', options))\n .thru(options => mapValueLabelDisplay('value', options))\n .value();\n","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"@splunk/visualizations-shared/colorConstants\");"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"lodash\"","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///./src/common/gaugeUtils.ts","webpack:///external \"@splunk/visualizations-shared/colorConstants\""],"names":["lodash_1","require","colorConstants_1","i18n_1","exports","GAUGE_THICKNESS","FILL_THICKNESS","GRADIENT_STOP_OFFSET_MIN","GRADIENT_STOP_OFFSET_MAX","getGaugeWidth","_ref","containerWidth","orientation","getGaugeHeight","_ref2","containerHeight","getGaugeLength","_ref3","getGaugeStartPosition","_ref4","gaugeLength","gaugeStartX","gaugeStartY","getGaugeDimensions","_ref5","_ref6","gaugeWidth","gaugeHeight","assignGaugeColor","_ref7","value","min","max","rate","SEMANTIC_SUCCESS","SEMANTIC_WARNING","SEMANTIC_ERROR","getGaugeBarLength","_ref8","getGaugeBarStartPositions","_ref9","gaugeBarLength","gaugeBarX","gaugeBarY","getGaugeBarWidth","_ref10","getGaugeBarHeight","_ref11","getFillBarDimensions","_ref12","_ref13","fillBarX","fillBarY","fillBarWidth","fillBarHeight","fillBarLength","getFillerGaugeValueMarkerPositions","_ref14","valueMarkerX","valueMarkerY","getMarkerBarDimensions","_ref15","_ref16","markerBarX","markerBarY","markerBarWidth","markerBarHeight","markerBarLength","getMarkerGaugeValueMarkerPositions","_ref17","getSortedRanges","ranges","sort","a","b","from","validateRanges","length","_","some","range","to","uniqBy","sortedRanges","i","getGaugeRange","Math","apply","_toConsumableArray","map","getGradientStopOffsets","_ref18","_ref19","offsetScale","offsets","abs","reverse","cumulativeOffsets","reduce","accumulator","currentValue","idx","getGradientStopColors","_ref20","stopColors","getGradientStops","_ref21","stops","push","offset","concat","stopColor","getGradientDimensions","x1","y1","x2","y2","gaugeOptionsMapping","majorTickInterval","gaugeRanges","mapToOldKey","options","mapKeys","val","key","mapValueLabelDisplay","labelOrValue","rangeOrValue","showKey","percentKey","optionString","newOptions","Object","assign","omit","convertToGaugeProperties","originalOptions","chain","thru"],"mappings":"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","file":"gaugeUtils.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 = 70);\n","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"lodash\");","module.exports = require(\"@splunk/ui-utils/i18n\");","import { chain, mapKeys, omit, uniqBy } from 'lodash';\nimport {\n SEMANTIC_SUCCESS,\n SEMANTIC_WARNING,\n SEMANTIC_ERROR,\n} from '@splunk/visualizations-shared/colorConstants';\nimport { _ } from '@splunk/ui-utils/i18n';\n\nexport const GAUGE_THICKNESS = 50;\nexport const FILL_THICKNESS = 38;\nconst GRADIENT_STOP_OFFSET_MIN = 0;\nconst GRADIENT_STOP_OFFSET_MAX = 100;\n\n/**\n * get width for the whole gauge viz for horizontal or vertical view\n * @method getGaugeWidth\n * @param {Object} input\n * @param {Number} containerWidth\n * @param {String} orientation\n * @return {Number} width\n */\nexport const getGaugeWidth = ({ containerWidth, orientation }) =>\n orientation === 'vertical' ? GAUGE_THICKNESS : containerWidth * 0.8;\n\n/**\n * get height for the whole gauge viz for horizontal or vertical view\n * @method getGaugeHeight\n * @param {Object} input\n * @param {Number} containerHeight\n * @param {String} orientation\n * @return {Number} height\n */\nexport const getGaugeHeight = ({ containerHeight, orientation }) =>\n orientation === 'vertical' ? containerHeight * 0.8 : GAUGE_THICKNESS;\n\n/**\n * get how long the gauge shoud be.\n * In horizontal view, gauge length equals to gauge width. In vertical view, it equals to gauge height.\n * @method getGaugeLength\n * @param {Object} input\n * @param {Number} input.containerWidth\n * @param {Number} input.containerHeight\n * @param {String} input.orientation\n * @return {Number} gaugeLength\n */\nexport const getGaugeLength = ({ containerWidth, containerHeight, orientation }) =>\n orientation === 'vertical'\n ? getGaugeHeight({ containerHeight, orientation })\n : getGaugeWidth({ containerWidth, orientation });\n\n/**\n * get start x and y for rendering gauge\n * @method getGaugeStartPosition\n * @param {Object} input\n * @param {Number} containerWidth\n * @param {Number} containerHeight\n * @param {Number} gaugeLength\n * @param {String} orientation\n * @return {Object} position\n * @return {Number} position.gaugeStartX\n * @return {Number} position.gaugeStartY\n */\nexport const getGaugeStartPosition = ({ containerWidth, containerHeight, gaugeLength, orientation }) => {\n // for horizontal view\n let gaugeStartX = (containerWidth - gaugeLength) / 2.0;\n let gaugeStartY = (containerHeight - GAUGE_THICKNESS) / 2.0;\n\n if (orientation === 'vertical') {\n gaugeStartX = (containerWidth - GAUGE_THICKNESS) / 2.0;\n gaugeStartY = (containerHeight - gaugeLength) / 2.0;\n }\n\n return { gaugeStartX, gaugeStartY };\n};\n\n/**\n * get dimensions for the whole gauge viz,\n * which can be useful to calculate background bar and major ticks positions.\n * @method getGaugeDimensions\n * @param {Object} input\n * @param {Number} input.containerWidth\n * @param {Number} input.containerHeight\n * @param {String} input.orientation 'horizontal' or 'vertical'\n * @return {Object} gaugeDimensions\n * @return {Number} gaugeDimensions.gaugeLength how long the gauge shoud be in horizontal or vertical orientation.\n * @return {Number} gaugeDimensions.gaugeStartX start x to render gauge\n * @return {Number} gaugeDimensions.gaugeStartY start y to render gauge\n * @return {Number} gaugeDimensions.gaugeWidth natural width of gauge\n * @return {Number} gaugeDimensions.gaugeHeight natural height of gauge\n */\nexport const getGaugeDimensions = ({ containerWidth, containerHeight, orientation }) => {\n const gaugeLength = getGaugeLength({ containerWidth, containerHeight, orientation });\n const { gaugeStartX, gaugeStartY } = getGaugeStartPosition({\n containerWidth,\n containerHeight,\n gaugeLength,\n orientation,\n });\n const gaugeWidth = getGaugeWidth({ containerWidth, orientation });\n const gaugeHeight = getGaugeHeight({ containerHeight, orientation });\n\n return {\n gaugeLength,\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n };\n};\n\n/**\n * if gaugeColor is not specified, auto assign a gauge color to the fill bar\n * based on how much percentage the value is taken between min and max\n * @method assignGaugeColor\n * @params\n * */\nexport const assignGaugeColor = ({ value, min, max }) => {\n const rate = (value - min) / (max - min);\n\n if (rate <= 0.3) {\n return SEMANTIC_SUCCESS;\n }\n if (rate > 0.3 && rate <= 0.6) {\n return SEMANTIC_WARNING;\n }\n\n return SEMANTIC_ERROR;\n};\n\n/**\n * get inner bar length in gauge\n * @method getGaugeBarLength\n * @param {Object} input\n * @param {Number} input.gaugeLength\n * @param {Number} input.value\n * @param {Number} input.min\n * @param {Number} input.max\n * @return {Number} gaugeBarLength\n */\nexport const getGaugeBarLength = ({ gaugeLength, value, min, max }) => {\n if (max < min) {\n return null;\n }\n\n if (value >= max) {\n return gaugeLength;\n }\n\n if (value < min) {\n return 0;\n }\n\n return (gaugeLength * (value - min)) / (max - min);\n};\n\n/**\n * get x and y position for rendering inner bar in gauge\n * @method getGaugeBarStartPositions\n * @param {Object} input\n * @param {Number} input.gaugeStartX\n * @param {Number} input.gaugeStartY\n * @param {Number} input.gaugeWidth\n * @param {Number} input.gaugeHeight\n * @param {Number} input.gaugeBarLength\n * @param {String} input.orientation\n * @return {Object} position\n * @return {Number} position.gaugeBarX\n * @return {Number} position.gaugeBarY\n */\nexport const getGaugeBarStartPositions = ({\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n gaugeBarLength,\n orientation,\n}) => {\n let gaugeBarX = gaugeStartX;\n let gaugeBarY = gaugeStartY;\n\n if (orientation === 'vertical') {\n gaugeBarX += (gaugeWidth - FILL_THICKNESS) / 2;\n gaugeBarY += gaugeHeight - gaugeBarLength;\n } else {\n gaugeBarY += (gaugeHeight - FILL_THICKNESS) / 2;\n }\n\n return {\n gaugeBarX,\n gaugeBarY,\n };\n};\n\n/**\n * get width of inner bar in gauge\n * @method getGaugeBarWidth\n * @param {Object} input\n * @param {Number} input.gaugeBarLength\n * @param {String} orientation\n * @return {Number} gaugeBarWidth\n */\nexport const getGaugeBarWidth = ({ gaugeBarLength, orientation }) =>\n orientation === 'vertical' ? FILL_THICKNESS : gaugeBarLength;\n\n/**\n * get height of inner bar in gauge\n * @method getGaugeBarWidth\n * @param {Object} input\n * @param {Number} input.gaugeBarLength\n * @param {String} orientation\n * @return {Number} gaugeBarHeight\n */\nexport const getGaugeBarHeight = ({ gaugeBarLength, orientation }) =>\n orientation === 'vertical' ? gaugeBarLength : FILL_THICKNESS;\n\n/**\n * get dimensions for the fill bar in the gauge\n * @method getFillBarDimensions\n * @param {Object} input\n * @param {Number} input.gaugeLength\n * @param {Number} input.gaugeStartX\n * @param {Number} input.gaugeStartY\n * @param {Number} input.gaugeWidth,\n * @param {Number} input.gaugeHeight,\n * @param {Number} input.value,\n * @param {Number} input.min,\n * @param {Number} input.max,\n * @param {String} input.orientation\n * @return {Object} fillBarDimensions\n * @return {Number} fillBarDimensions.fillBarLength\n * @return {Number} fillBarDimensions.fillBarX\n * @return {Number} fillBarDimensions.fillBarY\n * @return {Number} fillBarDimensions.fillBarWidth\n * @return {Number} fillBarDimensions.fillBarHeight\n */\nexport const getFillBarDimensions = ({\n gaugeLength,\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n value,\n min,\n max,\n orientation,\n}) => {\n const gaugeBarLength = getGaugeBarLength({ gaugeLength, value, max, min });\n const { gaugeBarX: fillBarX, gaugeBarY: fillBarY } = getGaugeBarStartPositions({\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n gaugeBarLength,\n orientation,\n });\n const fillBarWidth = getGaugeBarWidth({ gaugeBarLength, orientation });\n const fillBarHeight = getGaugeBarHeight({ gaugeBarLength, orientation });\n\n return {\n fillBarLength: gaugeBarLength,\n fillBarX,\n fillBarY,\n fillBarWidth,\n fillBarHeight,\n };\n};\n\n/**\n * get position x and y for value marker in filler gauge\n * @method getFillerGaugeValueMarkerPositions\n * @param {Object} input\n * @param {Number} input.fillBarX\n * @param {Number} input.fillBarY\n * @param {Number} input.fillBarLength\n * @param {String} input.orientation\n * @return {Object} position\n * @return {Number} position.valueMarkerX\n * @return {Number} position.valueMarkerY\n */\nexport const getFillerGaugeValueMarkerPositions = ({ fillBarX, fillBarY, fillBarLength, orientation }) => {\n let valueMarkerX = fillBarX;\n let valueMarkerY = fillBarY;\n\n if (orientation === 'vertical') {\n valueMarkerX -= (GAUGE_THICKNESS - FILL_THICKNESS) / 4;\n } else {\n valueMarkerX += fillBarLength;\n valueMarkerY -= (GAUGE_THICKNESS - FILL_THICKNESS) / 4;\n }\n\n return {\n valueMarkerX,\n valueMarkerY,\n };\n};\n\n/**\n * get dimensions for the marker bar in the gauge\n * @method getMarkerBarDimensions\n * @param {Object} input\n * @param {Number} input.gaugeLength\n * @param {Number} input.gaugeStartX\n * @param {Number} input.gaugeStartY\n * @param {Number} input.gaugeWidth,\n * @param {Number} input.gaugeHeight,\n * @param {String} input.orientation\n * @return {Object} markerBarDimensions\n * @return {Number} markerBarDimensions.markerBarLength\n * @return {Number} markerBarDimensions.markerBarX\n * @return {Number} markerBarDimensions.markerBarY\n * @return {Number} markerBarDimensions.markerBarWidth\n * @return {Number} markerBarDimensions.markerBarHeight\n */\nexport const getMarkerBarDimensions = ({\n gaugeLength,\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n orientation,\n}) => {\n const gaugeBarLength = gaugeLength; // For marker gauge, inner marker bar spans the entire gauge\n const { gaugeBarX: markerBarX, gaugeBarY: markerBarY } = getGaugeBarStartPositions({\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n gaugeBarLength,\n orientation,\n });\n const markerBarWidth = getGaugeBarWidth({ gaugeBarLength, orientation });\n const markerBarHeight = getGaugeBarHeight({ gaugeBarLength, orientation });\n\n return {\n markerBarLength: gaugeBarLength,\n markerBarX,\n markerBarY,\n markerBarWidth,\n markerBarHeight,\n };\n};\n\n/**\n * get position x and y for value marker in marker gauge\n * @method getMarkerGaugeValueMarkerPositions\n * @param {Object} input\n * @param {Number} input.markerBarX\n * @param {Number} input.markerBarY\n * @param {Number} input.markerBarHeight\n * @param {Number} input.markerBarLength\n * @param {Number} input.value\n * @param {Number} input.min\n * @param {Number} input.max\n * @param {String} input.orientation\n * @return {Object} position\n * @return {Number} position.valueMarkerX\n * @return {Number} position.valueMarkerY\n */\nexport const getMarkerGaugeValueMarkerPositions = ({\n markerBarX,\n markerBarY,\n markerBarHeight,\n markerBarLength: gaugeLength,\n orientation,\n value,\n min,\n max,\n}) => {\n let valueMarkerX = markerBarX;\n let valueMarkerY = markerBarY;\n if (orientation === 'vertical') {\n valueMarkerY += markerBarHeight - getGaugeBarLength({ gaugeLength, value, max, min });\n valueMarkerX -= (GAUGE_THICKNESS - FILL_THICKNESS) / 4;\n } else {\n valueMarkerX += getGaugeBarLength({ gaugeLength, value, max, min });\n valueMarkerY -= (GAUGE_THICKNESS - FILL_THICKNESS) / 4;\n }\n\n return {\n valueMarkerX,\n valueMarkerY,\n };\n};\n\n/**\n * sort the ranges in ascending order\n * @method getSortedRanges\n * @param {Array} ranges\n * @return {Array} sortedRanges\n */\nexport const getSortedRanges = ranges => ranges.sort((a, b) => a.from - b.from);\n\n/**\n * validate whether ranges prop is valid - continuous ranges, range.to < range.from, range.from != range.to\n * @method validateRanges\n * @param {Array} ranges\n * @return {String} error\n */\nexport const validateRanges = ranges => {\n if (!ranges.length) {\n return _('Prop \"ranges\" is missing entries');\n }\n\n // check whether a range has \"from\" >= \"to\" eg: 10 - 10, 100 - 10, -20 - -10 are invalid\n if (ranges.some(range => range.from >= range.to)) {\n return _('Prop \"ranges\" has invalid entries: invalid range');\n }\n\n // check whether ranges have duplicate \"from/to\" eg: 0 - 50, 25 - 50\n if (ranges.length !== uniqBy(ranges, 'to').length || ranges.length !== uniqBy(ranges, 'from').length) {\n return _('Prop \"ranges\" has invalid entries: duplicate values');\n }\n\n const sortedRanges = getSortedRanges(ranges);\n\n // check whether ranges are continuous eg: 0 - 10, 10 - 20, 20 - 30\n for (let i = 1; i < sortedRanges.length; i += 1) {\n if (sortedRanges[i].from !== sortedRanges[i - 1].to) {\n return _('Prop \"ranges\" has invalid entries: discontinuous ranges');\n }\n }\n\n return null;\n};\n\n/**\n * calculate min and max value of gauge\n * @method getGaugeRange\n * @param {Array} ranges\n * @return {Object} gaugeRange\n * @return {Number} gaugeRange.min\n * @return {Number} gaugeRange.max\n */\nexport const getGaugeRange = ranges => {\n const min = Math.min(...ranges.map(range => range.from));\n const max = Math.max(...ranges.map(range => range.to));\n return { min, max };\n};\n\n/**\n * calculate stop offsets for linear gradient\n * @method getGradientStopOffsets\n * @param {Array} ranges\n * @param {String} orientation\n * @return {Array} cumulativeOffsets\n */\nexport const getGradientStopOffsets = ({ ranges, orientation }) => {\n const { min, max } = getGaugeRange(ranges);\n const offsetScale = (GRADIENT_STOP_OFFSET_MAX - GRADIENT_STOP_OFFSET_MIN) / (max - min);\n let offsets = ranges.map(range => Math.abs(range.from - range.to) * offsetScale);\n // When orientation is vertical, since the gauge starts from bottom to top, linear gradient should be reversed\n offsets = orientation === 'vertical' ? offsets.reverse() : offsets;\n const cumulativeOffsets = [];\n offsets.reduce((accumulator, currentValue, idx) => {\n cumulativeOffsets[idx] = accumulator + currentValue;\n return cumulativeOffsets[idx];\n }, 0);\n return cumulativeOffsets;\n};\n\n/**\n * calculate stop colors for linear gradient\n * @method getGradientStopColors\n * @param {Array} ranges\n * @param {String} orientation\n * @return {Array} stopColors\n */\nexport const getGradientStopColors = ({ ranges, orientation }) => {\n const stopColors = ranges.map(range => range.value);\n // When orientation is vertical, since the gauge starts from bottom to top, linear gradient should be reversed\n return orientation === 'vertical' ? stopColors.reverse() : stopColors;\n};\n\n/**\n * calculate linear gradient stops from ranges\n * @method getGradientStops\n * @param {Object} input\n * @param {Array} ranges\n * @param {String} orientation\n * @return {Array} stops\n */\nexport const getGradientStops = ({ ranges, orientation }) => {\n const stops = [];\n const offsets = getGradientStopOffsets({ ranges, orientation });\n const stopColors = getGradientStopColors({ ranges, orientation });\n // Initialize stops with the first color stop\n stops.push({ offset: `${offsets[0]}%`, stopColor: stopColors[0] });\n // Add the remaining color stops with gradient change at each stop\n for (let i = 1; i < ranges.length; i += 1) {\n stops.push({ offset: `${offsets[i - 1]}%`, stopColor: stopColors[i] });\n stops.push({ offset: `${offsets[i]}%`, stopColor: stopColors[i] });\n }\n return stops;\n};\n\n/**\n * calculate linear gradient dimensions\n * @method getGradientDimensions\n * @param {String} orientation\n * @return {Object} dimensions\n * @return {String} dimensions.x1\n * @return {String} dimensions.y1\n * @return {String} dimensions.x2\n * @return {String} dimensions.y2\n */\nexport const getGradientDimensions = orientation => {\n const x1 = '0%';\n const y1 = '0%';\n const x2 = orientation === 'horizontal' ? '100%' : '0%';\n const y2 = orientation === 'horizontal' ? '0%' : '100%';\n return { x1, y1, x2, y2 };\n};\n\ninterface GaugeOptions {\n [key: string]: any;\n}\n\n// map for new options names to old option names\nconst gaugeOptionsMapping = {\n majorTickInterval: 'majorUnit',\n gaugeRanges: 'ranges',\n};\n\n/**\n * Helper method to update the option names which can be mapped to pure component options\n * @method mapToOldKey\n * @param {Object} options\n * @returns {Object}\n */\nexport const mapToOldKey = (options: GaugeOptions): GaugeOptions =>\n mapKeys(options, (val, key) => (gaugeOptionsMapping[key] ? gaugeOptionsMapping[key] : key));\n\ntype LabelOrValue = 'label' | 'value';\n\n/**\n * Helper method to map labelDisplay and valueDisplay options to pure component option names\n * @method mapToOldKey\n * @param {string} labelOrValue\n * @param {Object} options\n * @returns {Object}\n */\nexport const mapValueLabelDisplay = (labelOrValue: LabelOrValue, options: GaugeOptions): GaugeOptions => {\n const rangeOrValue: string = labelOrValue === 'value' ? 'Value' : 'Range';\n const showKey: string = labelOrValue === 'value' ? 'showValue' : 'showLabels';\n const percentKey = `usePercentage${rangeOrValue}`;\n const optionString = `${labelOrValue}Display`;\n const newOptions = { ...options };\n if (newOptions[optionString]) {\n if (newOptions[optionString] === 'number') {\n newOptions[showKey] = true;\n newOptions[percentKey] = false;\n } else if (newOptions[optionString] === 'percentage') {\n newOptions[showKey] = true;\n newOptions[percentKey] = true;\n } else {\n newOptions[showKey] = false;\n newOptions[percentKey] = false;\n }\n }\n return omit(newOptions, [optionString]);\n};\n\n/**\n * Chained helper for mapping the option properties (and values) we expose in config.ts into property values that pure component accepts\n * This is for options that has new key name and can not directly be mapped with pure component props\n * @method convertToGaugeProperties\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertToGaugeProperties = (originalOptions: GaugeOptions): GaugeOptions =>\n chain(mapToOldKey(originalOptions))\n .thru(options => mapValueLabelDisplay('label', options))\n .thru(options => mapValueLabelDisplay('value', options))\n .value();\n","module.exports = require(\"@splunk/visualizations-shared/colorConstants\");"],"sourceRoot":""}