@splunk/visualizations 26.0.0 → 26.1.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 (150) hide show
  1. package/Area.config.js +102 -18
  2. package/Area.config.js.map +1 -1
  3. package/Area.js +618 -221
  4. package/Area.js.map +1 -1
  5. package/Bar.config.js +104 -20
  6. package/Bar.config.js.map +1 -1
  7. package/Bar.js +624 -219
  8. package/Bar.js.map +1 -1
  9. package/Bubble.config.js +94 -20
  10. package/Bubble.config.js.map +1 -1
  11. package/Bubble.js +606 -211
  12. package/Bubble.js.map +1 -1
  13. package/ChoroplethSvg.config.js +65 -14
  14. package/ChoroplethSvg.config.js.map +1 -1
  15. package/ChoroplethSvg.js +550 -183
  16. package/ChoroplethSvg.js.map +1 -1
  17. package/Column.config.js +103 -18
  18. package/Column.config.js.map +1 -1
  19. package/Column.js +637 -221
  20. package/Column.js.map +1 -1
  21. package/Ellipse.config.js +82 -17
  22. package/Ellipse.config.js.map +1 -1
  23. package/Ellipse.js +425 -148
  24. package/Ellipse.js.map +1 -1
  25. package/Events.config.js +100 -18
  26. package/Events.config.js.map +1 -1
  27. package/Events.js +752 -293
  28. package/Events.js.map +1 -1
  29. package/FillerGauge.config.js +96 -27
  30. package/FillerGauge.config.js.map +1 -1
  31. package/FillerGauge.js +759 -374
  32. package/FillerGauge.js.map +1 -1
  33. package/Image.config.js +62 -18
  34. package/Image.config.js.map +1 -1
  35. package/Image.js +419 -154
  36. package/Image.js.map +1 -1
  37. package/Line.config.js +106 -22
  38. package/Line.config.js.map +1 -1
  39. package/Line.js +631 -223
  40. package/Line.js.map +1 -1
  41. package/LinkGraph.config.js +72 -22
  42. package/LinkGraph.config.js.map +1 -1
  43. package/LinkGraph.js +632 -219
  44. package/LinkGraph.js.map +1 -1
  45. package/MIGRATION.md +1082 -0
  46. package/Map.config.js +241 -97
  47. package/Map.config.js.map +1 -1
  48. package/Map.js +1195 -595
  49. package/Map.js.map +1 -1
  50. package/Markdown.config.js +70 -20
  51. package/Markdown.config.js.map +1 -1
  52. package/Markdown.js +460 -195
  53. package/Markdown.js.map +1 -1
  54. package/MarkerGauge.config.js +79 -21
  55. package/MarkerGauge.config.js.map +1 -1
  56. package/MarkerGauge.js +802 -411
  57. package/MarkerGauge.js.map +1 -1
  58. package/ParallelCoordinates.config.js +72 -18
  59. package/ParallelCoordinates.config.js.map +1 -1
  60. package/ParallelCoordinates.js +853 -484
  61. package/ParallelCoordinates.js.map +1 -1
  62. package/Pie.config.js +75 -22
  63. package/Pie.config.js.map +1 -1
  64. package/Pie.js +612 -212
  65. package/Pie.js.map +1 -1
  66. package/Punchcard.config.js +81 -29
  67. package/Punchcard.config.js.map +1 -1
  68. package/Punchcard.js +844 -379
  69. package/Punchcard.js.map +1 -1
  70. package/Rectangle.config.js +85 -19
  71. package/Rectangle.config.js.map +1 -1
  72. package/Rectangle.js +432 -152
  73. package/Rectangle.js.map +1 -1
  74. package/Sankey.config.js +84 -22
  75. package/Sankey.config.js.map +1 -1
  76. package/Sankey.js +878 -342
  77. package/Sankey.js.map +1 -1
  78. package/Scatter.config.js +96 -22
  79. package/Scatter.config.js.map +1 -1
  80. package/Scatter.js +607 -212
  81. package/Scatter.js.map +1 -1
  82. package/SingleValue.config.js +94 -24
  83. package/SingleValue.config.js.map +1 -1
  84. package/SingleValue.js +1182 -650
  85. package/SingleValue.js.map +1 -1
  86. package/SingleValueBasic.js +286 -225
  87. package/SingleValueBasic.js.map +1 -1
  88. package/SingleValueIcon.config.js +92 -22
  89. package/SingleValueIcon.config.js.map +1 -1
  90. package/SingleValueIcon.js +965 -506
  91. package/SingleValueIcon.js.map +1 -1
  92. package/SingleValueRadial.config.js +99 -26
  93. package/SingleValueRadial.config.js.map +1 -1
  94. package/SingleValueRadial.js +1167 -616
  95. package/SingleValueRadial.js.map +1 -1
  96. package/SparkLine.js +126 -67
  97. package/SparkLine.js.map +1 -1
  98. package/Table.config.js +73 -20
  99. package/Table.config.js.map +1 -1
  100. package/Table.js +810 -322
  101. package/Table.js.map +1 -1
  102. package/common/Charting.js +107 -35
  103. package/common/Charting.js.map +1 -1
  104. package/common/ChartingApi.js +18 -7
  105. package/common/ChartingApi.js.map +1 -1
  106. package/common/EventsDoc.js +76 -22
  107. package/common/EventsDoc.js.map +1 -1
  108. package/common/GaugeMajorTicks.js +68 -58
  109. package/common/GaugeMajorTicks.js.map +1 -1
  110. package/common/GaugeValueMarker.js +43 -34
  111. package/common/GaugeValueMarker.js.map +1 -1
  112. package/common/OptionsDoc.js +156 -65
  113. package/common/OptionsDoc.js.map +1 -1
  114. package/common/OverviewDoc.js +33 -5
  115. package/common/OverviewDoc.js.map +1 -1
  116. package/common/SplunkVisualization.js +31 -4
  117. package/common/SplunkVisualization.js.map +1 -1
  118. package/common/SplunkVisualizationApi.js +8 -2
  119. package/common/SplunkVisualizationApi.js.map +1 -1
  120. package/common/ThemesDoc.js +27 -14
  121. package/common/ThemesDoc.js.map +1 -1
  122. package/common/chartingUtils.js +44 -12
  123. package/common/chartingUtils.js.map +1 -1
  124. package/common/docUtils.js +11 -1
  125. package/common/docUtils.js.map +1 -1
  126. package/common/gaugeUtils.js +173 -90
  127. package/common/gaugeUtils.js.map +1 -1
  128. package/common/shapeUtils.js +14 -2
  129. package/common/shapeUtils.js.map +1 -1
  130. package/common/utils/configUtils.js +49 -14
  131. package/common/utils/configUtils.js.map +1 -1
  132. package/common/utils/dataUtils.js +7 -2
  133. package/common/utils/dataUtils.js.map +1 -1
  134. package/common/utils/hocUtils.js +3 -1
  135. package/common/utils/hocUtils.js.map +1 -1
  136. package/common/utils/layoutUtils.js +1 -0
  137. package/common/utils/layoutUtils.js.map +1 -1
  138. package/common/utils/mapUtils.js +287 -127
  139. package/common/utils/mapUtils.js.map +1 -1
  140. package/common/utils/singleValueUtils.js +241 -196
  141. package/common/utils/singleValueUtils.js.map +1 -1
  142. package/common/utils/testHelper.js +9 -0
  143. package/common/utils/testHelper.js.map +1 -1
  144. package/common/utils/trellisUtils.js +61 -0
  145. package/common/utils/trellisUtils.js.map +1 -1
  146. package/common/utils/urlUtils.js +2 -0
  147. package/common/utils/urlUtils.js.map +1 -1
  148. package/common/withDashboardViz.js +274 -95
  149. package/common/withDashboardViz.js.map +1 -1
  150. package/package.json +16 -18
@@ -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 = 64);
90
+ /******/ return __webpack_require__(__webpack_require__.s = 65);
91
91
  /******/ })
92
92
  /************************************************************************/
93
93
  /******/ ({
@@ -129,11 +129,13 @@ module.exports = require("@splunk/visualization-icons/placeholders");
129
129
  Object.defineProperty(exports, "__esModule", {
130
130
  value: true
131
131
  });
132
+
132
133
  var i18n_1 = __webpack_require__(0);
134
+
133
135
  var background = function background(_ref) {
134
136
  var label = _ref.label,
135
- themes = _ref.themes,
136
- labelPosition = _ref.labelPosition;
137
+ themes = _ref.themes,
138
+ labelPosition = _ref.labelPosition;
137
139
  return [{
138
140
  label: (0, i18n_1._)(label || 'Background'),
139
141
  option: 'backgroundColor',
@@ -144,6 +146,7 @@ var background = function background(_ref) {
144
146
  }
145
147
  }];
146
148
  };
149
+
147
150
  exports.default = background;
148
151
 
149
152
  /***/ }),
@@ -159,6 +162,7 @@ Object.defineProperty(exports, "__esModule", {
159
162
  });
160
163
  exports.VizBehavior = void 0;
161
164
  var VizBehavior;
165
+
162
166
  (function (VizBehavior) {
163
167
  /**
164
168
  * Dynamic Options Behavior.
@@ -178,6 +182,7 @@ var VizBehavior;
178
182
  * missing.
179
183
  * @type {string}
180
184
  */
185
+
181
186
  VizBehavior["PLACEHOLDER"] = "placeholder";
182
187
  VizBehavior["PAGE_AND_SORT"] = "page-and-sort";
183
188
  VizBehavior["TRELLIS"] = "trellis";
@@ -201,7 +206,9 @@ module.exports = require("@splunk/visualizations-shared/schemaUtils");
201
206
  Object.defineProperty(exports, "__esModule", {
202
207
  value: true
203
208
  });
209
+
204
210
  var i18n_1 = __webpack_require__(0);
211
+
205
212
  var gauge = {
206
213
  label: (0, i18n_1._)('Data display'),
207
214
  layout: [[{
@@ -262,24 +269,33 @@ exports.default = gauge;
262
269
 
263
270
 
264
271
  var _toConsumableArray = __webpack_require__(1);
272
+
265
273
  var _defineProperty = __webpack_require__(7);
274
+
266
275
  var __rest = this && this.__rest || function (s, e) {
267
276
  var t = {};
277
+
268
278
  for (var p in s) {
269
279
  if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
270
280
  }
281
+
271
282
  if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
272
283
  if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
273
284
  }
274
285
  return t;
275
286
  };
287
+
276
288
  Object.defineProperty(exports, "__esModule", {
277
289
  value: true
278
290
  });
279
291
  exports.insertLayout = exports.isDynamicOption = exports.uncollapseEditorConfig = exports.generatePrecisionValues = exports.getInitialPreset = exports.enhanceOptionsSchemaWithDynamicOptions = exports.enhanceConfig = void 0;
292
+
280
293
  var lodash_1 = __webpack_require__(6);
294
+
281
295
  var schemaUtils_1 = __webpack_require__(3);
296
+
282
297
  var VizBehavior_1 = __webpack_require__(2);
298
+
283
299
  var dynamicOptionsDSLType = {
284
300
  type: 'string',
285
301
  pattern: schemaUtils_1.DYNAMIC_OPTIONS_DSL_PATTERN
@@ -289,20 +305,22 @@ var dynamicOptionsDSLType = {
289
305
  * @param optionsSchema a visualization's options schema
290
306
  * @returns an updated options schema that additionally allows strings starting with > for each option
291
307
  */
308
+
292
309
  function enhanceOptionsSchemaWithDynamicOptions(optionsSchema) {
293
310
  var enhancedOptionsSchema = {};
294
311
  Object.keys(optionsSchema).forEach(function (key) {
295
312
  var _a = optionsSchema[key],
296
- title = _a.title,
297
- description = _a.description,
298
- readOnly = _a.readOnly,
299
- writeOnly = _a.writeOnly,
300
- examples = _a.examples,
301
- defaultValue = _a.default,
302
- type = _a.type,
303
- properties = _a.properties,
304
- patternProperties = _a.patternProperties,
305
- remainingSchemaEntry = __rest(_a, ["title", "description", "readOnly", "writeOnly", "examples", "default", "type", "properties", "patternProperties"]);
313
+ title = _a.title,
314
+ description = _a.description,
315
+ readOnly = _a.readOnly,
316
+ writeOnly = _a.writeOnly,
317
+ examples = _a.examples,
318
+ defaultValue = _a.default,
319
+ type = _a.type,
320
+ properties = _a.properties,
321
+ patternProperties = _a.patternProperties,
322
+ remainingSchemaEntry = __rest(_a, ["title", "description", "readOnly", "writeOnly", "examples", "default", "type", "properties", "patternProperties"]);
323
+
306
324
  var annotations = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, title !== undefined && {
307
325
  title: title
308
326
  }), description !== undefined && {
@@ -316,12 +334,14 @@ function enhanceOptionsSchemaWithDynamicOptions(optionsSchema) {
316
334
  }), defaultValue !== undefined && {
317
335
  default: defaultValue
318
336
  });
337
+
319
338
  if (type === 'object') {
320
339
  enhancedOptionsSchema[key] = Object.assign(Object.assign(Object.assign(Object.assign({}, remainingSchemaEntry), annotations), {
321
340
  type: type
322
341
  }), properties && {
323
342
  properties: enhanceOptionsSchemaWithDynamicOptions(properties)
324
343
  });
344
+
325
345
  if (patternProperties) {
326
346
  var enhancedPatternProperties = {};
327
347
  Object.keys(patternProperties).forEach(function (opt) {
@@ -339,6 +359,7 @@ function enhanceOptionsSchemaWithDynamicOptions(optionsSchema) {
339
359
  });
340
360
  return enhancedOptionsSchema;
341
361
  }
362
+
342
363
  exports.enhanceOptionsSchemaWithDynamicOptions = enhanceOptionsSchemaWithDynamicOptions;
343
364
  /**
344
365
  * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block
@@ -347,11 +368,14 @@ exports.enhanceOptionsSchemaWithDynamicOptions = enhanceOptionsSchemaWithDynamic
347
368
  * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports
348
369
  * and containing `open: false` for all editor panels in editorConfig
349
370
  */
371
+
350
372
  function enhanceConfig(vizConfig) {
351
373
  var enhancedConfig = Object.assign({}, vizConfig);
374
+
352
375
  if (vizConfig.supports.indexOf(VizBehavior_1.VizBehavior.DYNAMIC_OPTIONS) !== -1) {
353
376
  enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);
354
377
  }
378
+
355
379
  enhancedConfig.editorConfig = vizConfig.editorConfig.map(function (config) {
356
380
  return Object.assign(Object.assign({}, config), {
357
381
  open: config.open || false
@@ -359,6 +383,7 @@ function enhanceConfig(vizConfig) {
359
383
  });
360
384
  return enhancedConfig;
361
385
  }
386
+
362
387
  exports.enhanceConfig = enhanceConfig;
363
388
  /**
364
389
  * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig
@@ -366,6 +391,7 @@ exports.enhanceConfig = enhanceConfig;
366
391
  * @param vizConfig a Visualization Config
367
392
  * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig
368
393
  */
394
+
369
395
  function uncollapseEditorConfig(vizConfig) {
370
396
  var editorPanelUncollapsedConfig = Object.assign({}, vizConfig);
371
397
  editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(function (config) {
@@ -375,13 +401,16 @@ function uncollapseEditorConfig(vizConfig) {
375
401
  });
376
402
  return editorPanelUncollapsedConfig;
377
403
  }
404
+
378
405
  exports.uncollapseEditorConfig = uncollapseEditorConfig;
406
+
379
407
  function isDynamicOption(option) {
380
408
  return option && typeof option === 'string' && option.trim().startsWith('>') || false;
381
409
  }
382
- exports.isDynamicOption = isDynamicOption;
383
- // private helpers to improve readability of getInitialPreset
410
+
411
+ exports.isDynamicOption = isDynamicOption; // private helpers to improve readability of getInitialPreset
384
412
  // this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset
413
+
385
414
  /**
386
415
  * this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset
387
416
  * if a preset has explicitly specified a key as being undefined, the vizContext must also has that key as undefined, or else this CANNOT be the initialPreset
@@ -390,6 +419,7 @@ exports.isDynamicOption = isDynamicOption;
390
419
  *
391
420
  * Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values
392
421
  */
422
+
393
423
  function hasCompatibleContexts(vizContext, presetContext) {
394
424
  var presetContextKeys = Object.keys(presetContext);
395
425
  return presetContextKeys.every(function (contextKey) {
@@ -399,6 +429,8 @@ function hasCompatibleContexts(vizContext, presetContext) {
399
429
  /**
400
430
  * Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions
401
431
  */
432
+
433
+
402
434
  function hasCompatibleOptions(vizOptions, presetOptions) {
403
435
  var presetOptionKeys = Object.keys(presetOptions);
404
436
  return presetOptionKeys.every(function (optionKey) {
@@ -413,18 +445,21 @@ function hasCompatibleOptions(vizOptions, presetOptions) {
413
445
  * @param {Object} vizOptions - the current vizOptions definition
414
446
  * @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset
415
447
  */
448
+
449
+
416
450
  function getInitialPreset(vizContext, vizOptions, presets) {
417
451
  return presets.find(function (preset) {
418
452
  var presetContext = (0, lodash_1.get)(preset, ['value', 'context'], {});
419
453
  var presetOptions = (0, lodash_1.get)(preset, ['value', 'options'], {});
420
454
  var presetContextKeys = Object.keys(presetContext);
421
- var presetOptionKeys = Object.keys(presetOptions);
422
- // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)
455
+ var presetOptionKeys = Object.keys(presetOptions); // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)
423
456
  // if not, then the preset is invalid in config.ts
457
+
424
458
  if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;
425
459
  return hasCompatibleContexts(vizContext, presetContext) && hasCompatibleOptions(vizOptions, presetOptions);
426
460
  });
427
461
  }
462
+
428
463
  exports.getInitialPreset = getInitialPreset;
429
464
  /**
430
465
  * generates number precision values for a Select editor
@@ -432,6 +467,7 @@ exports.getInitialPreset = getInitialPreset;
432
467
  * @param {Number} numPrecisionValues - number of integer precision values to generate
433
468
  * @returns {{ label: string; value; string }[]} array of { label, value } tuples
434
469
  */
470
+
435
471
  function generatePrecisionValues(numPrecisionValues) {
436
472
  return (0, lodash_1.range)(0, numPrecisionValues + 1).map(function (i) {
437
473
  return {
@@ -440,6 +476,7 @@ function generatePrecisionValues(numPrecisionValues) {
440
476
  };
441
477
  });
442
478
  }
479
+
443
480
  exports.generatePrecisionValues = generatePrecisionValues;
444
481
  /**
445
482
  * insert layout in layout array, return a new layout array instead of updating the original
@@ -449,12 +486,15 @@ exports.generatePrecisionValues = generatePrecisionValues;
449
486
  * @param {EditorLayoutConfig[][]} layoutItems - the item(s) to insert
450
487
  * @returns {EditorLayoutConfig[][]} new editor layout with insertion
451
488
  */
489
+
452
490
  var insertLayout = function insertLayout(layout, index) {
453
491
  for (var _len = arguments.length, layoutItems = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
454
492
  layoutItems[_key - 2] = arguments[_key];
455
493
  }
494
+
456
495
  return [].concat(_toConsumableArray(layout.slice(0, index)), layoutItems, _toConsumableArray(layout.slice(index)));
457
496
  };
497
+
458
498
  exports.insertLayout = insertLayout;
459
499
 
460
500
  /***/ }),
@@ -466,7 +506,7 @@ module.exports = require("lodash");
466
506
 
467
507
  /***/ }),
468
508
 
469
- /***/ 64:
509
+ /***/ 65:
470
510
  /***/ (function(module, exports, __webpack_require__) {
471
511
 
472
512
  "use strict";
@@ -475,17 +515,29 @@ module.exports = require("lodash");
475
515
  Object.defineProperty(exports, "__esModule", {
476
516
  value: true
477
517
  });
518
+
478
519
  var i18n_1 = __webpack_require__(0);
479
- var GaugeMarker_1 = __webpack_require__(65);
520
+
521
+ var GaugeMarker_1 = __webpack_require__(66);
522
+
480
523
  var placeholders_1 = __webpack_require__(11);
524
+
481
525
  var schemaUtils_1 = __webpack_require__(3);
526
+
482
527
  var variables_1 = __webpack_require__(10);
528
+
483
529
  var pick_1 = __webpack_require__(9);
530
+
484
531
  var Gauge_1 = __webpack_require__(39);
532
+
485
533
  var VizBehavior_1 = __webpack_require__(2);
534
+
486
535
  var VizCategory_1 = __webpack_require__(8);
536
+
487
537
  var configUtils_1 = __webpack_require__(4);
538
+
488
539
  var BackgroundColor_1 = __webpack_require__(13);
540
+
489
541
  var dataContract = {
490
542
  requiredDataSources: [{
491
543
  name: 'primary',
@@ -598,12 +650,13 @@ var themes = {
598
650
  enterprise: {
599
651
  light: variables_1.default.gray30(props),
600
652
  dark: variables_1.default.textGray(props) // was #D7DAE0
601
- },
602
653
 
654
+ },
603
655
  prisma: {
604
656
  // TODO: missed colors :(
605
657
  light: variables_1.default.neutral100(props),
606
658
  dark: variables_1.default.contentColorMuted(props) // was #D7DAE0; contentColor
659
+
607
660
  }
608
661
  })(props);
609
662
  },
@@ -664,6 +717,7 @@ var editorConfig = [{
664
717
  editorProps: {
665
718
  openRanges: false,
666
719
  isTogglable: false // Can not disable thresholds
720
+
667
721
  }
668
722
  }], (0, BackgroundColor_1.default)({
669
723
  themes: themes,
@@ -673,16 +727,19 @@ var editorConfig = [{
673
727
  /**
674
728
  * visualization configuration
675
729
  */
730
+
676
731
  var config = {
677
732
  /**
678
733
  * unique viz key
679
734
  */
680
735
  key: 'splunk.markergauge',
736
+
681
737
  /**
682
738
  * viz name
683
739
  */
684
740
  name: (0, i18n_1._)('Marker gauge'),
685
741
  category: VizCategory_1.VizCategory.GAUGE,
742
+
686
743
  /**
687
744
  * viz icon
688
745
  */
@@ -700,7 +757,7 @@ exports.default = (0, configUtils_1.enhanceConfig)(config);
700
757
 
701
758
  /***/ }),
702
759
 
703
- /***/ 65:
760
+ /***/ 66:
704
761
  /***/ (function(module, exports) {
705
762
 
706
763
  module.exports = require("@splunk/react-icons/enterprise/GaugeMarker");
@@ -725,6 +782,7 @@ Object.defineProperty(exports, "__esModule", {
725
782
  });
726
783
  exports.VizCategory = void 0;
727
784
  var VizCategory;
785
+
728
786
  (function (VizCategory) {
729
787
  VizCategory["SINGLE_VALUE"] = "Single Value";
730
788
  VizCategory["TRENDS"] = "Trends";
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"@splunk/themes/variables\"","webpack:///external \"@splunk/visualization-icons/placeholders\"","webpack:///./src/common/editorConfig/BackgroundColor.ts","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///./src/common/editorConfig/Gauge.ts","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"lodash\"","webpack:///./src/MarkerGauge/config.ts","webpack:///external \"@splunk/react-icons/enterprise/GaugeMarker\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///external \"@splunk/themes/pick\""],"names":["i18n_1","require","background","_ref","label","themes","labelPosition","_","option","editor","editorProps","exports","default","VizBehavior","gauge","layout","values","value","lodash_1","schemaUtils_1","VizBehavior_1","dynamicOptionsDSLType","type","pattern","DYNAMIC_OPTIONS_DSL_PATTERN","enhanceOptionsSchemaWithDynamicOptions","optionsSchema","enhancedOptionsSchema","Object","keys","forEach","key","_a","title","description","readOnly","writeOnly","examples","defaultValue","properties","patternProperties","remainingSchemaEntry","__rest","annotations","assign","undefined","enhancedPatternProperties","opt","_defineProperty","anyOf","enhanceConfig","vizConfig","enhancedConfig","supports","indexOf","DYNAMIC_OPTIONS","editorConfig","map","config","open","uncollapseEditorConfig","editorPanelUncollapsedConfig","isDynamicOption","trim","startsWith","hasCompatibleContexts","vizContext","presetContext","presetContextKeys","every","contextKey","hasCompatibleOptions","vizOptions","presetOptions","presetOptionKeys","optionKey","getInitialPreset","presets","find","preset","get","length","generatePrecisionValues","numPrecisionValues","range","i","concat","repeat","insertLayout","index","_len","arguments","layoutItems","Array","_key","_toConsumableArray","slice","GaugeMarker_1","placeholders_1","variables_1","pick_1","Gauge_1","VizCategory_1","configUtils_1","BackgroundColor_1","dataContract","requiredDataSources","name","optionalDataSources","initialRequestParams","primary","offset","count","size","initialWidth","initialHeight","defaultContext","backgroundColor","COLOR_OR_TOKEN_PATTERN_WITH_RGBA","gaugeRanges","from","to","items","required","additionalProperties","labelDisplay","getPattern","majorTickInterval","orientation","valueDisplay","defaultFillColor","props","enterprise","backgroundColorHover","prisma","neutral100","defaultBackgroundColor","dark","black","light","backgroundColorSidebar","majorTickFillColor","gray30","textGray","contentColorMuted","majorTickStrokeColor","valueMarkerFillColor","textColor","white","valueMarkerLabelFillColor","gray96","context","dataSourceKey","prepareValue","definition","options","openRanges","isTogglable","category","VizCategory","GAUGE","icon","placeholderIcon","MarkerGauge","PLACEHOLDER"],"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,kD;;;;;;;ACAA,qE;;;;;;;ACAA,qD;;;;;;;ACAA,qE;;;;;;;;;;;;;ACAA,IAAAA,MAAA,GAAAC,mBAAA;AAUA,IAAMC,UAAU,GAAsF,SAAhGA,UAAUA,CAAAC,IAAA;EAAA,IACZC,KAAK,GAAAD,IAAA,CAALC,KAAK;IACLC,MAAM,GAAAF,IAAA,CAANE,MAAM;IACNC,aAAa,GAAAH,IAAA,CAAbG,aAAa;EAAA,OACX,CACF;IACIF,KAAK,EAAE,IAAAJ,MAAA,CAAAO,CAAC,EAACH,KAAK,IAAI,YAAY,CAAC;IAC/BI,MAAM,EAAE,iBAAiB;IACzBC,MAAM,EAAE,cAAc;IACtBC,WAAW,EAAE;MACTJ,aAAa,EAAEA,aAAa,IAAI,KAAK;MACrCD,MAAM,EAANA;;GAEP,CACJ;AAAA;AAEDM,OAAA,CAAAC,OAAA,GAAeV,UAAU,C;;;;;;;;;;;;;;AC1BzB,IAAYW,WAsBX;AAtBD,WAAYA,WAAW;EACnB;;;;;;;;;;;EAWAA,WAAA,uCAAmC;EACnCA,WAAA,qBAAiB;EACjB;;;;;EAKAA,WAAA,+BAA2B;EAC3BA,WAAA,mCAA+B;EAC/BA,WAAA,uBAAmB;AACvB,CAAC,EAtBWA,WAAW,GAAXF,OAAA,CAAAE,WAAW,KAAXF,OAAA,CAAAE,WAAW,Q;;;;;;;ACAvB,sE;;;;;;;;;;;;;ACAA,IAAAb,MAAA,GAAAC,mBAAA;AAGA,IAAMa,KAAK,GAAiB;EACxBV,KAAK,EAAE,IAAAJ,MAAA,CAAAO,CAAC,EAAC,cAAc,CAAC;EACxBQ,MAAM,EAAE,CACJ,CACI;IACIX,KAAK,EAAE,IAAAJ,MAAA,CAAAO,CAAC,EAAC,eAAe,CAAC;IACzBC,MAAM,EAAE,cAAc;IACtBC,MAAM,EAAE,iBAAiB;IACzBC,WAAW,EAAE;MACTM,MAAM,EAAE,CACJ;QAAEZ,KAAK,EAAE,IAAAJ,MAAA,CAAAO,CAAC,EAAC,QAAQ,CAAC;QAAEU,KAAK,EAAE;MAAQ,CAAE,EACvC;QAAEb,KAAK,EAAE,IAAAJ,MAAA,CAAAO,CAAC,EAAC,YAAY,CAAC;QAAEU,KAAK,EAAE;MAAY,CAAE,EAC/C;QAAEb,KAAK,EAAE,IAAAJ,MAAA,CAAAO,CAAC,EAAC,KAAK,CAAC;QAAEU,KAAK,EAAE;MAAK,CAAE;;GAG5C,CACJ,EACD,CACI;IACIb,KAAK,EAAE,IAAAJ,MAAA,CAAAO,CAAC,EAAC,eAAe,CAAC;IACzBC,MAAM,EAAE,cAAc;IACtBC,MAAM,EAAE,iBAAiB;IACzBC,WAAW,EAAE;MACTM,MAAM,EAAE,CACJ;QAAEZ,KAAK,EAAE,IAAAJ,MAAA,CAAAO,CAAC,EAAC,SAAS,CAAC;QAAEU,KAAK,EAAE;MAAQ,CAAE,EACxC;QAAEb,KAAK,EAAE,IAAAJ,MAAA,CAAAO,CAAC,EAAC,aAAa,CAAC;QAAEU,KAAK,EAAE;MAAY,CAAE,EAChD;QAAEb,KAAK,EAAE,IAAAJ,MAAA,CAAAO,CAAC,EAAC,KAAK,CAAC;QAAEU,KAAK,EAAE;MAAK,CAAE;;GAG5C,CACJ,EACD,CACI;IACIb,KAAK,EAAE,IAAAJ,MAAA,CAAAO,CAAC,EAAC,aAAa,CAAC;IACvBC,MAAM,EAAE,aAAa;IACrBC,MAAM,EAAE,iBAAiB;IACzBC,WAAW,EAAE;MACTM,MAAM,EAAE,CACJ;QAAEZ,KAAK,EAAE,IAAAJ,MAAA,CAAAO,CAAC,EAAC,UAAU,CAAC;QAAEU,KAAK,EAAE;MAAU,CAAE,EAC3C;QAAEb,KAAK,EAAE,IAAAJ,MAAA,CAAAO,CAAC,EAAC,YAAY,CAAC;QAAEU,KAAK,EAAE;MAAY,CAAE;;GAG1D,CACJ;CAER;AAEDN,OAAA,CAAAC,OAAA,GAAeE,KAAK,C;;;;;;;;;;;;;;;;;;;;;;;;;;AClDpB,IAAAI,QAAA,GAAAjB,mBAAA;AACA,IAAAkB,aAAA,GAAAlB,mBAAA;AAGA,IAAAmB,aAAA,GAAAnB,mBAAA;AAWA,IAAMoB,qBAAqB,GAAG;EAC1BC,IAAI,EAAE,QAAQ;EACdC,OAAO,EAAEJ,aAAA,CAAAK;CACH;AAEV;;;;;AAKA,SAASC,sCAAsCA,CAC3CC,aAAoD;EAEpD,IAAMC,qBAAqB,GAAkB,EAAE;EAC/CC,MAAM,CAACC,IAAI,CAACH,aAAa,CAAC,CAACI,OAAO,CAAC,UAACC,GAAG,EAAU;IACvC,IAAAC,EAAA,GAgBFN,aAAa,CAACK,GAAG,CAAC;MAZlBE,KAAK,GASYD,EAGC,CAZlBC,KAAK;MACLC,WAAW,GAQMF,EAGC,CAXlBE,WAAW;MACXC,QAAQ,GAOSH,EAGC,CAVlBG,QAAQ;MACRC,SAAS,GAMQJ,EAGC,CATlBI,SAAS;MACTC,QAAQ,GAKSL,EAGC,CARlBK,QAAQ;MACCC,YAAY,GAIJN,EAGC,CAPlBpB,OAAO;MAEPU,IAAI,GAEaU,EAGC,CALlBV,IAAI;MACJiB,UAAU,GACOP,EAGC,CAJlBO,UAAU;MACVC,iBAAiB,GAAAR,EAGC,CAHlBQ,iBAAiB;MAEdC,oBAAoB,GAAAC,MAAA,CAAAV,EAAA,EAfrB,mHAgBL,CAAqB;IAEtB,IAAMW,WAAW,GAAAf,MAAA,CAAAgB,MAAA,CAAAhB,MAAA,CAAAgB,MAAA,CAAAhB,MAAA,CAAAgB,MAAA,CAAAhB,MAAA,CAAAgB,MAAA,CAAAhB,MAAA,CAAAgB,MAAA,CAAAhB,MAAA,CAAAgB,MAAA,KACTX,KAAK,KAAKY,SAAS,IAAI;MAAEZ,KAAK,EAALA;IAAK,CAAE,CAAC,EACjCC,WAAW,KAAKW,SAAS,IAAI;MAAEX,WAAW,EAAXA;IAAW,CAAE,CAAC,EAC7CC,QAAQ,KAAKU,SAAS,IAAI;MAAEV,QAAQ,EAARA;IAAQ,CAAE,CAAC,EACvCC,SAAS,KAAKS,SAAS,IAAI;MAAET,SAAS,EAATA;IAAS,CAAE,CAAC,EACzCC,QAAQ,KAAKQ,SAAS,IAAI;MAAER,QAAQ,EAARA;IAAQ,CAAE,CAAC,EACvCC,YAAY,KAAKO,SAAS,IAAI;MAAEjC,OAAO,EAAE0B;IAAY,CAAE,CAC9D;IAED,IAAIhB,IAAI,KAAK,QAAQ,EAAE;MACnBK,qBAAqB,CAACI,GAAG,CAAC,GAAAH,MAAA,CAAAgB,MAAA,CAAAhB,MAAA,CAAAgB,MAAA,CAAAhB,MAAA,CAAAgB,MAAA,CAAAhB,MAAA,CAAAgB,MAAA,KACnBH,oBAAoB,GACpBE,WAAW;QACdrB,IAAI,EAAJA;MAAI,IACAiB,UAAU,IAAI;QAAEA,UAAU,EAAEd,sCAAsC,CAACc,UAAU;MAAC,CAAE,CACvF;MACD,IAAIC,iBAAiB,EAAE;QACnB,IAAIM,yBAAyB,GAAG,EAAE;QAClClB,MAAM,CAACC,IAAI,CAACW,iBAAiB,CAAC,CAACV,OAAO,CAAC,UAACiB,GAAG,EAAU;UACjDD,yBAAyB,GAAAlB,MAAA,CAAAgB,MAAA,CAAAhB,MAAA,CAAAgB,MAAA,KAClBE,yBAAyB,GACzBrB,sCAAsC,CAAAuB,eAAA,KAAID,GAAG,EAAGP,iBAAiB,CAACO,GAAG,CAAC,EAAG,CAC/E;QACL,CAAC,CAAC;QACFpB,qBAAqB,CAACI,GAAG,CAAC,CAACS,iBAAiB,GAAGM,yBAAyB;;KAE/E,MAAM;MACHnB,qBAAqB,CAACI,GAAG,CAAC,GAAAH,MAAA,CAAAgB,MAAA,CAAAhB,MAAA,CAAAgB,MAAA,KACnBD,WAAW;QACdM,KAAK,EAAE,C,gCAEG3B,IAAI,KAAKuB,SAAS,IAAI;UAAEvB,IAAI,EAAJA;QAAI,CAAE,CAAC,EAAKmB,oBAAoB,GAC9DpB,qBAAqB;MACxB,EACJ;;EAET,CAAC,CAAC;EACF,OAAOM,qBAAqB;AAChC;AAmIIhB,OAAA,CAAAc,sCAAA,GAAAA,sCAAA;AAjIJ;;;;;;;AAOA,SAASyB,aAAaA,CAACC,SAAoB;EACvC,IAAMC,cAAc,GAAAxB,MAAA,CAAAgB,MAAA,KAAmBO,SAAS,CAAE;EAClD,IAAIA,SAAS,CAACE,QAAQ,CAACC,OAAO,CAAClC,aAAA,CAAAP,WAAW,CAAC0C,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE;IAChEH,cAAc,CAAC1B,aAAa,GAAGD,sCAAsC,CAAC0B,SAAS,CAACzB,aAAa,CAAC;;EAElG0B,cAAc,CAACI,YAAY,GAAGL,SAAS,CAACK,YAAY,CAACC,GAAG,CACpD,UAACC,MAAoB,EAAkB;IACnC,OAAA9B,MAAA,CAAAgB,MAAA,CAAAhB,MAAA,CAAAgB,MAAA,KAAYc,MAAM;MAAEC,IAAI,EAAED,MAAM,CAACC,IAAI,IAAI;IAAK;EAClD,CAAC,CACJ;EACD,OAAOP,cAAc;AACzB;AA8GIzC,OAAA,CAAAuC,aAAA,GAAAA,aAAA;AA5GJ;;;;;;AAMA,SAASU,sBAAsBA,CAACT,SAAoB;EAChD,IAAMU,4BAA4B,GAAAjC,MAAA,CAAAgB,MAAA,KAAmBO,SAAS,CAAE;EAChEU,4BAA4B,CAACL,YAAY,GAAGL,SAAS,CAACK,YAAY,CAACC,GAAG,CAClE,UAACC,MAAoB,EAAkB;IACnC,OAAA9B,MAAA,CAAAgB,MAAA,CAAAhB,MAAA,CAAAgB,MAAA,KAAYc,MAAM;MAAEC,IAAI,EAAE;IAAI;EAClC,CAAC,CACJ;EACD,OAAOE,4BAA4B;AACvC;AAkGIlD,OAAA,CAAAiD,sBAAA,GAAAA,sBAAA;AAhGJ,SAASE,eAAeA,CAACtD,MAAe;EACpC,OAAQA,MAAM,IAAI,OAAOA,MAAM,KAAK,QAAQ,IAAIA,MAAM,CAACuD,IAAI,EAAE,CAACC,UAAU,CAAC,GAAG,CAAC,IAAK,KAAK;AAC3F;AA+FIrD,OAAA,CAAAmD,eAAA,GAAAA,eAAA;AA7FJ;AACA;AAEA;;;;;;;;AAQA,SAASG,qBAAqBA,CAC1BC,UAAwC,EACxCC,aAA2C;EAE3C,IAAMC,iBAAiB,GAAGxC,MAAM,CAACC,IAAI,CAACsC,aAAa,CAAC;EACpD,OAAOC,iBAAiB,CAACC,KAAK,CAC1B,UAACC,UAAU;IAAA,OACNH,aAAa,CAACG,UAAU,CAAC,KAAKzB,SAAS,IAAIqB,UAAU,CAACI,UAAU,CAAC,KAAKzB,SAAS,IAC/EsB,aAAa,CAACG,UAAU,CAAC,KAAKzB,SAAS,IAAIqB,UAAU,CAACI,UAAU,CAAC,KAAKzB,SAAU;EAAA,EACxF;AACL;AAEA;;;AAGA,SAAS0B,oBAAoBA,CACzBC,UAAwC,EACxCC,aAA2C;EAE3C,IAAMC,gBAAgB,GAAG9C,MAAM,CAACC,IAAI,CAAC4C,aAAa,CAAC;EACnD,OAAOC,gBAAgB,CAACL,KAAK,CACzB,UAACM,SAAS;IAAA,OACNb,eAAe,CAACW,aAAa,CAACE,SAAS,CAAC,CAAC,KAAKb,eAAe,CAACU,UAAU,CAACG,SAAS,CAAC,CAAC;EAAA,EAC3F;AACL;AAEA;;;;;;;;AAQA,SAASC,gBAAgBA,CACrBV,UAAwC,EACxCM,UAAwC,EACxCK,OAAsB;EAEtB,OAAOA,OAAO,CAACC,IAAI,CAAC,UAACC,MAAM,EAAa;IACpC,IAAMZ,aAAa,GAAG,IAAAjD,QAAA,CAAA8D,GAAG,EAACD,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC;IAC3D,IAAMN,aAAa,GAAG,IAAAvD,QAAA,CAAA8D,GAAG,EAACD,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC;IAC3D,IAAMX,iBAAiB,GAAGxC,MAAM,CAACC,IAAI,CAACsC,aAAa,CAAC;IACpD,IAAMO,gBAAgB,GAAG9C,MAAM,CAACC,IAAI,CAAC4C,aAAa,CAAC;IAEnD;IACA;IACA,IAAIL,iBAAiB,CAACa,MAAM,KAAK,CAAC,IAAIP,gBAAgB,CAACO,MAAM,KAAK,CAAC,EAAE,OAAO,KAAK;IAEjF,OACIhB,qBAAqB,CAACC,UAAU,EAAEC,aAAa,CAAC,IAChDI,oBAAoB,CAACC,UAAU,EAAEC,aAAa,CAAC;EAEvD,CAAC,CAAC;AACN;AAyBI9D,OAAA,CAAAiE,gBAAA,GAAAA,gBAAA;AAlBJ;;;;;;AAMA,SAASM,uBAAuBA,CAACC,kBAA0B;EACvD,OAAO,IAAAjE,QAAA,CAAAkE,KAAK,EAAC,CAAC,EAAED,kBAAkB,GAAG,CAAC,CAAC,CAAC1B,GAAG,CACvC,UAAC4B,CAAC;IAAA,OAAuB;MACrBjF,KAAK,KAAAkF,MAAA,CAAKD,CAAC,SAAAC,MAAA,CAAMD,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,EAAAC,MAAA,CAAG,GAAG,CAACC,MAAM,CAACF,CAAC,CAAC,MAAG;MACpDpE,KAAK,EAAEoE;KACV;EAAA,CAAC,CACL;AACL;AAMI1E,OAAA,CAAAuE,uBAAA,GAAAA,uBAAA;AAKJ;;;;;;;;AAQO,IAAMM,YAAY,GAAG,SAAfA,YAAYA,CACrBzE,MAA8B,EAC9B0E,KAAa;EAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAV,MAAA,EACVW,WAAmC,OAAAC,KAAA,CAAAH,IAAA,OAAAA,IAAA,WAAAI,IAAA,MAAAA,IAAA,GAAAJ,IAAA,EAAAI,IAAA;IAAnCF,WAAmC,CAAAE,IAAA,QAAAH,SAAA,CAAAG,IAAA;EAAA;EAAA,UAAAR,MAAA,CAAAS,kBAAA,CAGnChF,MAAM,CAACiF,KAAK,CAAC,CAAC,EAAEP,KAAK,CAAC,GAEtBG,WAAW,EAAAG,kBAAA,CAEXhF,MAAM,CAACiF,KAAK,CAACP,KAAK,CAAC;AAAA,CACzB;AAXY9E,OAAA,CAAA6E,YAAY,GAAAA,YAAA,C;;;;;;;ACxOzB,mC;;;;;;;;;;;;;ACAA,IAAAxF,MAAA,GAAAC,mBAAA;AACA,IAAAgG,aAAA,GAAAhG,mBAAA;AACA,IAAAiG,cAAA,GAAAjG,mBAAA;AACA,IAAAkB,aAAA,GAAAlB,mBAAA;AACA,IAAAkG,WAAA,GAAAlG,mBAAA;AACA,IAAAmG,MAAA,GAAAnG,mBAAA;AACA,IAAAoG,OAAA,GAAApG,mBAAA;AAMA,IAAAmB,aAAA,GAAAnB,mBAAA;AACA,IAAAqG,aAAA,GAAArG,mBAAA;AAGA,IAAAsG,aAAA,GAAAtG,mBAAA;AACA,IAAAuG,iBAAA,GAAAvG,mBAAA;AAEA,IAAMwG,YAAY,GAAiB;EAC/BC,mBAAmB,EAAE,CACjB;IACIC,IAAI,EAAE,SAAS;IACfzE,WAAW,EAAE;GAChB,CACJ;EACD0E,mBAAmB,EAAE,EAAE;EACvBC,oBAAoB,EAAE;IAClBC,OAAO,EAAE;MAAEC,MAAM,EAAE,CAAC;MAAEC,KAAK,EAAE;IAAK;;CAEzC;AAED,IAAMC,IAAI,GAAY;EAClBC,YAAY,EAAE,GAAG;EACjBC,aAAa,EAAE;CAClB;AAED,IAAMC,cAAc,GAAmB,EAAE;AAEzC,IAAM1F,aAAa,GAAkB;EACjC2F,eAAe,EAAE;IACbnF,WAAW,EACP,mLAAmL;IACvLZ,IAAI,EAAE,QAAQ;IACdC,OAAO,EAAEJ,aAAA,CAAAmG,gCAAgC;IACzC1G,OAAO,EAAE;GACZ;EACD2G,WAAW,EAAE;IACTrF,WAAW,EACP,gMAAgM;IACpMtB,OAAO,EAAE,CACL;MAAE4G,IAAI,EAAE,CAAC;MAAEC,EAAE,EAAE,EAAE;MAAExG,KAAK,EAAE;IAAS,CAAE,EACrC;MAAEuG,IAAI,EAAE,EAAE;MAAEC,EAAE,EAAE,EAAE;MAAExG,KAAK,EAAE;IAAS,CAAE,EACtC;MAAEuG,IAAI,EAAE,EAAE;MAAEC,EAAE,EAAE,GAAG;MAAExG,KAAK,EAAE;IAAS,CAAE,CAC1C;IACDK,IAAI,EAAE,OAAO;IACboG,KAAK,EAAE;MACHpG,IAAI,EAAE,QAAQ;MACdiB,UAAU,EAAE;QACRiF,IAAI,EAAE;UACFlG,IAAI,EAAE,QAAQ;UACdY,WAAW,EAAE;SAChB;QACDuF,EAAE,EAAE;UACAnG,IAAI,EAAE,QAAQ;UACdY,WAAW,EAAE;SAChB;QACDjB,KAAK,EAAE;UACHiB,WAAW,EAAE,sBAAsB;UACnCZ,IAAI,EAAE,QAAQ;UACdC,OAAO,EAAEJ,aAAA,CAAAmG;;OAEhB;MACDK,QAAQ,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC;MACjCC,oBAAoB,EAAE;;GAE7B;EACDC,YAAY,EAAE;IACV3F,WAAW,EACP,8GAA8G;IAClHtB,OAAO,EAAE,QAAQ;IACjBU,IAAI,EAAE,QAAQ;IACdC,OAAO,EAAE,IAAAJ,aAAA,CAAA2G,UAAU,EAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC;GACtD;EACDC,iBAAiB,EAAE;IACf7F,WAAW,EAAE,2DAA2D;IACxEtB,OAAO,EAAE,MAAM;IACfU,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ;GAC5B;EACD0G,WAAW,EAAE;IACT9F,WAAW,EAAE,4CAA4C;IACzDtB,OAAO,EAAE,UAAU;IACnBU,IAAI,EAAE,QAAQ;IACdC,OAAO,EAAE,IAAAJ,aAAA,CAAA2G,UAAU,EAAC,CAAC,YAAY,EAAE,UAAU,CAAC;GACjD;EACD7G,KAAK,EAAE;IACHiB,WAAW,EAAE,kEAAkE;IAC/EZ,IAAI,EAAE,QAAQ;IACdV,OAAO,EAAE;GACZ;EACDqH,YAAY,EAAE;IACV/F,WAAW,EAAE,uEAAuE;IACpFtB,OAAO,EAAE,QAAQ;IACjBU,IAAI,EAAE,QAAQ;IACdC,OAAO,EAAE,IAAAJ,aAAA,CAAA2G,UAAU,EAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC;;CAE1D;AAED,IAAMzH,MAAM,GAAmB;EAC3B6H,gBAAgB,EAAE,SAAAA,iBAAAC,KAAK;IAAA,OACnB,IAAA/B,MAAA,CAAAxF,OAAI,EAAC;MACDwH,UAAU,EAAEjC,WAAA,CAAAvF,OAAS,CAACyH,oBAAoB,CAACF,KAAK,CAAC;MACjDG,MAAM,EAAEnC,WAAA,CAAAvF,OAAS,CAAC2H,UAAU,CAACJ,KAAK;KACrC,CAAC,CAACA,KAAK,CAAC;EAAA;EACbK,sBAAsB,EAAE,SAAAA,uBAAAL,KAAK;IAAA,OACzB,IAAA/B,MAAA,CAAAxF,OAAI,EAAC;MACDwH,UAAU,EAAE;QACRK,IAAI,EAAEtC,WAAA,CAAAvF,OAAS,CAAC8H,KAAK,CAACP,KAAK,CAAC;QAC5BQ,KAAK,EAAExC,WAAA,CAAAvF,OAAS,CAACyG,eAAe,CAACc,KAAK;OACzC;MACDG,MAAM,EAAEnC,WAAA,CAAAvF,OAAS,CAACgI,sBAAsB,CAACT,KAAK;KACjD,CAAC,CAACA,KAAK,CAAC;EAAA;EACbU,kBAAkB,EAAE,SAAAA,mBAAAV,KAAK;IAAA,OACrB,IAAA/B,MAAA,CAAAxF,OAAI,EAAC;MACDwH,UAAU,EAAE;QACRO,KAAK,EAAExC,WAAA,CAAAvF,OAAS,CAACkI,MAAM,CAACX,KAAK,CAAC;QAC9BM,IAAI,EAAEtC,WAAA,CAAAvF,OAAS,CAACmI,QAAQ,CAACZ,KAAK,CAAC,CAAE;OACpC;;MACDG,MAAM,EAAE;QACJ;QACAK,KAAK,EAAExC,WAAA,CAAAvF,OAAS,CAAC2H,UAAU,CAACJ,KAAK,CAAC;QAClCM,IAAI,EAAEtC,WAAA,CAAAvF,OAAS,CAACoI,iBAAiB,CAACb,KAAK,CAAC,CAAE;;KAEjD,CAAC,CAACA,KAAK,CAAC;EAAA;EACbc,oBAAoB,EAAE,SAAAA,qBAAAd,KAAK;IAAA,OACvB,IAAA/B,MAAA,CAAAxF,OAAI,EAAC;MACDwH,UAAU,EAAE;QACRO,KAAK,EAAExC,WAAA,CAAAvF,OAAS,CAACmI,QAAQ,CAACZ,KAAK,CAAC;QAChCM,IAAI,EAAEtC,WAAA,CAAAvF,OAAS,CAACoI,iBAAiB,CAACb,KAAK;OAC1C;MACDG,MAAM,EAAEnC,WAAA,CAAAvF,OAAS,CAACoI,iBAAiB,CAACb,KAAK;KAC5C,CAAC,CAACA,KAAK,CAAC;EAAA;EACbe,oBAAoB,EAAE,SAAAA,qBAAAf,KAAK;IAAA,OACvB,IAAA/B,MAAA,CAAAxF,OAAI,EAAC;MACDwH,UAAU,EAAEjC,WAAA,CAAAvF,OAAS,CAACuI,SAAS,CAAChB,KAAK,CAAC;MACtCG,MAAM,EAAE;QACJG,IAAI,EAAEtC,WAAA,CAAAvF,OAAS,CAACwI,KAAK,CAACjB,KAAK,CAAC;QAC5BQ,KAAK,EAAExC,WAAA,CAAAvF,OAAS,CAAC8H,KAAK,CAACP,KAAK;;KAEnC,CAAC,CAACA,KAAK,CAAC;EAAA;EACbkB,yBAAyB,EAAE,SAAAA,0BAAAlB,KAAK;IAAA,OAC5B,IAAA/B,MAAA,CAAAxF,OAAI,EAAC;MACDwH,UAAU,EAAE;QACRO,KAAK,EAAExC,WAAA,CAAAvF,OAAS,CAAC0I,MAAM,CAACnB,KAAK,CAAC;QAC9BM,IAAI,EAAEtC,WAAA,CAAAvF,OAAS,CAAC8H,KAAK,CAACP,KAAK;OAC9B;MACDG,MAAM,EAAEnC,WAAA,CAAAvF,OAAS,CAAC8H,KAAK,CAACP,KAAK;KAChC,CAAC,CAACA,KAAK,CAAC;EAAA;CAChB;AAED,IAAM3E,YAAY,GAAmB,CACjC;EACIpD,KAAK,EAAE,IAAAJ,MAAA,CAAAO,CAAC,EAAC,qBAAqB,CAAC;EAC/BQ,MAAM,EAAE,CACJ,CACI;IACIX,KAAK,EAAE,IAAAJ,MAAA,CAAAO,CAAC,EAAC,OAAO,CAAC;IACjBE,MAAM,EAAE,uBAAuB;IAC/BD,MAAM,EAAE,OAAO;IACf+I,OAAO,EAAE,gBAAgB;IACzB7I,WAAW,EAAE;MACT8I,aAAa,EAAE,SAAS;MACxBC,YAAY,EAAE,SAAAA,aACVC,UAAU,EACsD;QAAA,IAEjDzI,KAAK,GAChByI,UAAU,CADVC,OAAO,CAAI1I,KAAK;QAEpB,OAAO;UACHsI,OAAO,EAAE,EAAE;UACXI,OAAO,EAAE;YACL1I,KAAK,KAAAqE,MAAA,CAAKrE,KAAK;;SAEtB;MACL;;GAEP,CACJ;CAER,EACDoF,OAAA,CAAAzF,OAAW,EACX;EACIR,KAAK,EAAE,IAAAJ,MAAA,CAAAO,CAAC,EAAC,iBAAiB,CAAC;EAC3BQ,MAAM,EAAE,CACJ,CACI;IACIX,KAAK,EAAE,IAAAJ,MAAA,CAAAO,CAAC,EAAC,cAAc,CAAC;IACxBC,MAAM,EAAE,aAAa;IACrBC,MAAM,EAAE,kBAAkB;IAC1BC,WAAW,EAAE;MACTkJ,UAAU,EAAE,KAAK;MACjBC,WAAW,EAAE,KAAK,CAAE;;GAE3B,CACJ,EACD,IAAArD,iBAAA,CAAA5F,OAAwB,EAAC;IAAEP,MAAM,EAANA,MAAM;IAAEC,aAAa,EAAE;EAAK,CAAE,CAAC;CAEjE,CACJ;AAED;;;AAGA,IAAMoD,MAAM,GAAc;EACtB;;;EAGA3B,GAAG,EAAE,oBAAoB;EACzB;;;EAGA4E,IAAI,EAAE,IAAA3G,MAAA,CAAAO,CAAC,EAAC,cAAc,CAAC;EACvBuJ,QAAQ,EAAExD,aAAA,CAAAyD,WAAW,CAACC,KAAK;EAC3B;;;EAGAC,IAAI,EAAEhE,aAAA,CAAArF,OAAe;EACrBsJ,eAAe,EAAEhE,cAAA,CAAAiE,WAA0B;EAC3C1D,YAAY,EAAZA,YAAY;EACZQ,IAAI,EAAJA,IAAI;EACJG,cAAc,EAAdA,cAAc;EACd1F,aAAa,EAAbA,aAAa;EACb8B,YAAY,EAAZA,YAAY;EACZH,QAAQ,EAAE,CAACjC,aAAA,CAAAP,WAAW,CAAC0C,eAAe,EAAEnC,aAAA,CAAAP,WAAW,CAACuJ,WAAW,CAAC;EAChE/J,MAAM,EAANA;CACH;AAEDM,OAAA,CAAAC,OAAA,GAAe,IAAA2F,aAAA,CAAArD,aAAa,EAACQ,MAAM,CAAC,C;;;;;;;AC7OpC,uE;;;;;;;ACAA,kE;;;;;;;;;;;;;;ACAA,IAAYqG,WAaX;AAbD,WAAYA,WAAW;EACnBA,WAAA,iCAA6B;EAC7BA,WAAA,qBAAiB;EACjBA,WAAA,+BAA2B;EAC3BA,WAAA,mBAAe;EACfA,WAAA,mBAAe;EACfA,WAAA,mCAA+B;EAC/BA,WAAA,kCAA8B;EAC9BA,WAAA,qBAAiB;EACjBA,WAAA,iBAAa;EACbA,WAAA,iBAAa;EACbA,WAAA,+BAA2B;EAC3BA,WAAA,uBAAmB;AACvB,CAAC,EAbWA,WAAW,GAAXpJ,OAAA,CAAAoJ,WAAW,KAAXpJ,OAAA,CAAAoJ,WAAW,Q;;;;;;;ACAvB,gD","file":"MarkerGauge.config.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 = 64);\n","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"@splunk/themes/variables\");","module.exports = require(\"@splunk/visualization-icons/placeholders\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorLayoutConfig } from '../interfaces/Editor';\nimport { ThemedDefaults } from '../interfaces/ThemedDefaults';\n\ninterface backgroundEditorProps {\n label?: string;\n themes: ThemedDefaults;\n labelPosition?: string;\n}\n\nconst background: ({ label, themes, labelPosition }: backgroundEditorProps) => EditorLayoutConfig[] = ({\n label,\n themes,\n labelPosition,\n}) => [\n {\n label: _(label || 'Background'),\n option: 'backgroundColor',\n editor: 'editor.color',\n editorProps: {\n labelPosition: labelPosition || 'top',\n themes,\n },\n },\n];\n\nexport default background;\n","export enum VizBehavior {\n /**\n * Dynamic Options Behavior.\n * This allows visualization options to be powered by data\n *\n * **Example**\n *\n * sparklineValues: \">primary|seriesByIndex(0)\"\n * would configure sparklineValues with an array of data points\n * coming from the first series in the primary datasource\n *\n */\n DYNAMIC_OPTIONS = 'dynamic-options',\n EVENTS = 'events',\n /**\n * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is\n * missing.\n * @type {string}\n */\n PLACEHOLDER = 'placeholder',\n PAGE_AND_SORT = 'page-and-sort',\n TRELLIS = 'trellis',\n}\n","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorConfig } from '../interfaces/Editor';\n\nconst gauge: EditorConfig = {\n label: _('Data display'),\n layout: [\n [\n {\n label: _('Value display'),\n option: 'valueDisplay',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Number'), value: 'number' },\n { label: _('Percentage'), value: 'percentage' },\n { label: _('Off'), value: 'off' },\n ],\n },\n },\n ],\n [\n {\n label: _('Label display'),\n option: 'labelDisplay',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Numbers'), value: 'number' },\n { label: _('Percentages'), value: 'percentage' },\n { label: _('Off'), value: 'off' },\n ],\n },\n },\n ],\n [\n {\n label: _('Orientation'),\n option: 'orientation',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Vertical'), value: 'vertical' },\n { label: _('Horizontal'), value: 'horizontal' },\n ],\n },\n },\n ],\n ],\n};\n\nexport default gauge;\n","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport type { JSONSchema7Definition } from 'json-schema';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\nimport { EditorLayoutConfig, EditorConfig } from '../interfaces/Editor';\n\nexport interface PresetEntry {\n name: string;\n value: any;\n label: string;\n}\n\nconst dynamicOptionsDSLType = {\n type: 'string',\n pattern: DYNAMIC_OPTIONS_DSL_PATTERN,\n} as const;\n\n/**\n * Helper function to extend an options schema with dynamic options DSL\n * @param optionsSchema a visualization's options schema\n * @returns an updated options schema that additionally allows strings starting with > for each option\n */\nfunction enhanceOptionsSchemaWithDynamicOptions(\n optionsSchema: OptionsSchema | JSONSchema7Definition\n): OptionsSchema {\n const enhancedOptionsSchema: OptionsSchema = {};\n Object.keys(optionsSchema).forEach((key): void => {\n const {\n // The next a few are schema annotations, we should leave them as is.\n // Note: in reality we don't use `readOnly`, `writeOnly` or `examples`, but they are listed here for completeness.\n // Ref: https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-01\n title,\n description,\n readOnly,\n writeOnly,\n examples,\n default: defaultValue,\n // The next a few need special care\n type,\n properties,\n patternProperties,\n // The rest should be handled together\n ...remainingSchemaEntry\n } = optionsSchema[key];\n\n const annotations = {\n ...(title !== undefined && { title }),\n ...(description !== undefined && { description }),\n ...(readOnly !== undefined && { readOnly }),\n ...(writeOnly !== undefined && { writeOnly }),\n ...(examples !== undefined && { examples }),\n ...(defaultValue !== undefined && { default: defaultValue }),\n };\n\n if (type === 'object') {\n enhancedOptionsSchema[key] = {\n ...remainingSchemaEntry,\n ...annotations,\n type,\n ...(properties && { properties: enhanceOptionsSchemaWithDynamicOptions(properties) }),\n };\n if (patternProperties) {\n let enhancedPatternProperties = {};\n Object.keys(patternProperties).forEach((opt): void => {\n enhancedPatternProperties = {\n ...enhancedPatternProperties,\n ...enhanceOptionsSchemaWithDynamicOptions({ [opt]: patternProperties[opt] }),\n };\n });\n enhancedOptionsSchema[key].patternProperties = enhancedPatternProperties;\n }\n } else {\n enhancedOptionsSchema[key] = {\n ...annotations,\n anyOf: [\n // we can't assume `type` is always there because there are `enum` and `const`.\n { ...(type !== undefined && { type }), ...remainingSchemaEntry },\n dynamicOptionsDSLType,\n ],\n };\n }\n });\n return enhancedOptionsSchema;\n}\n\n/**\n * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block\n * this function also collapse all editor panels\n * @param vizConfig a Visualization Config\n * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports\n * and containing `open: false` for all editor panels in editorConfig\n */\nfunction enhanceConfig(vizConfig: VizConfig): VizConfig {\n const enhancedConfig: VizConfig = { ...vizConfig };\n if (vizConfig.supports.indexOf(VizBehavior.DYNAMIC_OPTIONS) !== -1) {\n enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);\n }\n enhancedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: config.open || false };\n }\n );\n return enhancedConfig;\n}\n\n/**\n * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig\n * Created for editor unit tests\n * @param vizConfig a Visualization Config\n * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig\n */\nfunction uncollapseEditorConfig(vizConfig: VizConfig): VizConfig {\n const editorPanelUncollapsedConfig: VizConfig = { ...vizConfig };\n editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: true };\n }\n );\n return editorPanelUncollapsedConfig;\n}\n\nfunction isDynamicOption(option?: string): boolean {\n return (option && typeof option === 'string' && option.trim().startsWith('>')) || false;\n}\n\n// private helpers to improve readability of getInitialPreset\n// this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset\n\n/**\n * this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset\n * if a preset has explicitly specified a key as being undefined, the vizContext must also has that key as undefined, or else this CANNOT be the initialPreset\n * the inverse is true; if a preset has key is NOT undefined, it must also be NOT undefined in the corresponding vizContext\n * the internal config contents are irrelevant (as the user could customize them in source), just as long as the presence of `undefined`s match up\n *\n * Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values\n */\nfunction hasCompatibleContexts(\n vizContext: { [configKey: string]: any },\n presetContext: { [configKey: string]: any }\n): boolean {\n const presetContextKeys = Object.keys(presetContext);\n return presetContextKeys.every(\n (contextKey): boolean =>\n (presetContext[contextKey] === undefined && vizContext[contextKey] === undefined) ||\n (presetContext[contextKey] !== undefined && vizContext[contextKey] !== undefined)\n );\n}\n\n/**\n * Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions\n */\nfunction hasCompatibleOptions(\n vizOptions: { [configKey: string]: any },\n presetOptions: { [configKey: string]: any }\n): boolean {\n const presetOptionKeys = Object.keys(presetOptions);\n return presetOptionKeys.every(\n (optionKey): boolean =>\n isDynamicOption(presetOptions[optionKey]) === isDynamicOption(vizOptions[optionKey])\n );\n}\n\n/**\n * Evaluates whether there is an initialPreset that fits the current state of vizContext + vizOptions\n * This function ignores extraneous vizOptions or vizContext keys, as they could be outside the scope of what the preset is intended to configure\n *\n * @param {Object} vizContext - the current vizContext definition\n * @param {Object} vizOptions - the current vizOptions definition\n * @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset\n */\nfunction getInitialPreset(\n vizContext: { [configKey: string]: any },\n vizOptions: { [configKey: string]: any },\n presets: PresetEntry[]\n): PresetEntry | null {\n return presets.find((preset): boolean => {\n const presetContext = get(preset, ['value', 'context'], {});\n const presetOptions = get(preset, ['value', 'options'], {});\n const presetContextKeys = Object.keys(presetContext);\n const presetOptionKeys = Object.keys(presetOptions);\n\n // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)\n // if not, then the preset is invalid in config.ts\n if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;\n\n return (\n hasCompatibleContexts(vizContext, presetContext) &&\n hasCompatibleOptions(vizOptions, presetOptions)\n );\n });\n}\n\ninterface PrecisionOption {\n label: string;\n value: number;\n}\n\n/**\n * generates number precision values for a Select editor\n *\n * @param {Number} numPrecisionValues - number of integer precision values to generate\n * @returns {{ label: string; value; string }[]} array of { label, value } tuples\n */\nfunction generatePrecisionValues(numPrecisionValues: number): PrecisionOption[] {\n return range(0, numPrecisionValues + 1).map(\n (i): PrecisionOption => ({\n label: `${i} (0${i > 0 ? '.' : ''}${'0'.repeat(i)})`, // e.g. 0.000 for numPrecisionValues = 3\n value: i,\n })\n );\n}\n\nexport {\n enhanceConfig,\n enhanceOptionsSchemaWithDynamicOptions,\n getInitialPreset,\n generatePrecisionValues,\n uncollapseEditorConfig,\n isDynamicOption,\n};\n\n/**\n * insert layout in layout array, return a new layout array instead of updating the original\n *\n * @param {EditorLayoutConfig[][]} layout - editor layout\n * @param {Number} index - the index to insert layout item(s)\n * @param {EditorLayoutConfig[][]} layoutItems - the item(s) to insert\n * @returns {EditorLayoutConfig[][]} new editor layout with insertion\n */\nexport const insertLayout = (\n layout: EditorLayoutConfig[][],\n index: number,\n ...layoutItems: EditorLayoutConfig[][]\n): EditorLayoutConfig[][] => [\n // copy part of the array before the specified index\n ...layout.slice(0, index),\n // inserted layout item\n ...layoutItems,\n // copy part of the array after the specified index\n ...layout.slice(index),\n];\n","module.exports = require(\"lodash\");","import { _ } from '@splunk/ui-utils/i18n';\nimport MarkerGaugeIcon from '@splunk/react-icons/enterprise/GaugeMarker';\nimport { MarkerGauge as MarkerGaugePlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { COLOR_OR_TOKEN_PATTERN_WITH_RGBA, getPattern } from '@splunk/visualizations-shared/schemaUtils';\nimport variables from '@splunk/themes/variables';\nimport pick from '@splunk/themes/pick';\nimport GaugeConfig from '../common/editorConfig/Gauge';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport getBackgroundColorEditor from '../common/editorConfig/BackgroundColor';\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 300,\n initialHeight: 300,\n};\n\nconst defaultContext: DefaultContext = {};\n\nconst optionsSchema: OptionsSchema = {\n backgroundColor: {\n description:\n 'Specify the color used for the background. The default for enterprise light is \"#ffffff\". The default for enterprise dark is \"#000000\". The default for prisma dark is \"#0b0c0e\".',\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n default: '> themes.defaultBackgroundColor',\n },\n gaugeRanges: {\n description:\n 'Specify the overall range of the gauge as a series of continuous, color-coded subranges. For example, [{\"from\": 0, \"to\": 20, \"value\": \"#4BEBA8\"}, {\"from\": 20, \"to\": 50, \"value\": \"#F4DF7A\"}].',\n default: [\n { from: 0, to: 50, value: '#118832' },\n { from: 50, to: 90, value: '#CBA700' },\n { from: 90, to: 100, value: '#D41F1F' },\n ],\n type: 'array',\n items: {\n type: 'object',\n properties: {\n from: {\n type: 'number',\n description: 'Starting value for range.',\n },\n to: {\n type: 'number',\n description: 'Ending value for range.',\n },\n value: {\n description: 'Color for sub range.',\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n },\n },\n required: ['from', 'to', 'value'],\n additionalProperties: false,\n },\n },\n labelDisplay: {\n description:\n 'Specify whether to display the labels as numbers, percentages, or off. The label center aligns to the value.',\n default: 'number',\n type: 'string',\n pattern: getPattern(['number', 'percentage', 'off']),\n },\n majorTickInterval: {\n description: 'Specify, in pixels, the spacing between major tick marks.',\n default: 'auto',\n type: ['string', 'number'],\n },\n orientation: {\n description: 'Specify the axis orientation of the gauge.',\n default: 'vertical',\n type: 'string',\n pattern: getPattern(['horizontal', 'vertical']),\n },\n value: {\n description: 'Specify the dataSource applied to the value of the marker gauge.',\n type: 'string',\n default: '> primary | seriesByType(\"number\") | lastPoint()',\n },\n valueDisplay: {\n description: 'Specify whether to display the value as a number, percentage, or off.',\n default: 'number',\n type: 'string',\n pattern: getPattern(['number', 'percentage', 'off']),\n },\n};\n\nconst themes: ThemedDefaults = {\n defaultFillColor: props =>\n pick({\n enterprise: variables.backgroundColorHover(props),\n prisma: variables.neutral100(props),\n })(props),\n defaultBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n majorTickFillColor: props =>\n pick({\n enterprise: {\n light: variables.gray30(props), // was '#33343B'\n dark: variables.textGray(props), // was #D7DAE0\n },\n prisma: {\n // TODO: missed colors :(\n light: variables.neutral100(props), // TBD\n dark: variables.contentColorMuted(props), // was #D7DAE0; contentColor\n },\n })(props),\n majorTickStrokeColor: props =>\n pick({\n enterprise: {\n light: variables.textGray(props),\n dark: variables.contentColorMuted(props),\n },\n prisma: variables.contentColorMuted(props),\n })(props),\n valueMarkerFillColor: props =>\n pick({\n enterprise: variables.textColor(props),\n prisma: {\n dark: variables.white(props),\n light: variables.black(props),\n },\n })(props),\n valueMarkerLabelFillColor: props =>\n pick({\n enterprise: {\n light: variables.gray96(props),\n dark: variables.black(props),\n },\n prisma: variables.black(props),\n })(props),\n};\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Data configurations'),\n layout: [\n [\n {\n label: _('Value'),\n editor: 'editor.columnSelector',\n option: 'value',\n context: 'defaultContext',\n editorProps: {\n dataSourceKey: 'primary',\n prepareValue: (\n definition\n ): { context: Record<string, any>; options: Record<string, any> } => {\n const {\n options: { value },\n } = definition;\n return {\n context: {},\n options: {\n value: `${value} | lastPoint()`,\n },\n };\n },\n },\n },\n ],\n ],\n },\n GaugeConfig,\n {\n label: _('Color and style'),\n layout: [\n [\n {\n label: _('Gauge ranges'),\n option: 'gaugeRanges',\n editor: 'editor.threshold',\n editorProps: {\n openRanges: false, // Use closed ranges\n isTogglable: false, // Can not disable thresholds\n },\n },\n ],\n getBackgroundColorEditor({ themes, labelPosition: 'top' }),\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.markergauge',\n /**\n * viz name\n */\n name: _('Marker gauge'),\n category: VizCategory.GAUGE,\n /**\n * viz icon\n */\n icon: MarkerGaugeIcon,\n placeholderIcon: MarkerGaugePlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.PLACEHOLDER],\n themes,\n};\n\nexport default enhanceConfig(config);\n","module.exports = require(\"@splunk/react-icons/enterprise/GaugeMarker\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","export enum VizCategory {\n SINGLE_VALUE = 'Single Value',\n TRENDS = 'Trends',\n COMPARISONS = 'Comparisons',\n TABLE = 'Table',\n GAUGE = 'Gauge',\n DISTRIBUTIONS = 'Distributions',\n CHOROPLETH = 'Choropleth Maps',\n SHAPES = 'Shapes',\n MISC = 'misc',\n FLOW = 'Flow',\n CORRELATION = 'Correlation',\n SPATIAL = 'Spatial',\n}\n","module.exports = require(\"@splunk/themes/pick\");"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"@splunk/themes/variables\"","webpack:///external \"@splunk/visualization-icons/placeholders\"","webpack:///./src/common/editorConfig/BackgroundColor.ts","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///./src/common/editorConfig/Gauge.ts","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"lodash\"","webpack:///./src/MarkerGauge/config.ts","webpack:///external \"@splunk/react-icons/enterprise/GaugeMarker\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///external \"@splunk/themes/pick\""],"names":[],"mappings":"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","file":"MarkerGauge.config.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 = 65);\n","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"@splunk/themes/variables\");","module.exports = require(\"@splunk/visualization-icons/placeholders\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorLayoutConfig } from '../interfaces/Editor';\nimport { ThemedDefaults } from '../interfaces/ThemedDefaults';\n\ninterface backgroundEditorProps {\n label?: string;\n themes: ThemedDefaults;\n labelPosition?: string;\n}\n\nconst background: ({ label, themes, labelPosition }: backgroundEditorProps) => EditorLayoutConfig[] = ({\n label,\n themes,\n labelPosition,\n}) => [\n {\n label: _(label || 'Background'),\n option: 'backgroundColor',\n editor: 'editor.color',\n editorProps: {\n labelPosition: labelPosition || 'top',\n themes,\n },\n },\n];\n\nexport default background;\n","export enum VizBehavior {\n /**\n * Dynamic Options Behavior.\n * This allows visualization options to be powered by data\n *\n * **Example**\n *\n * sparklineValues: \">primary|seriesByIndex(0)\"\n * would configure sparklineValues with an array of data points\n * coming from the first series in the primary datasource\n *\n */\n DYNAMIC_OPTIONS = 'dynamic-options',\n EVENTS = 'events',\n /**\n * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is\n * missing.\n * @type {string}\n */\n PLACEHOLDER = 'placeholder',\n PAGE_AND_SORT = 'page-and-sort',\n TRELLIS = 'trellis',\n}\n","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorConfig } from '../interfaces/Editor';\n\nconst gauge: EditorConfig = {\n label: _('Data display'),\n layout: [\n [\n {\n label: _('Value display'),\n option: 'valueDisplay',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Number'), value: 'number' },\n { label: _('Percentage'), value: 'percentage' },\n { label: _('Off'), value: 'off' },\n ],\n },\n },\n ],\n [\n {\n label: _('Label display'),\n option: 'labelDisplay',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Numbers'), value: 'number' },\n { label: _('Percentages'), value: 'percentage' },\n { label: _('Off'), value: 'off' },\n ],\n },\n },\n ],\n [\n {\n label: _('Orientation'),\n option: 'orientation',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Vertical'), value: 'vertical' },\n { label: _('Horizontal'), value: 'horizontal' },\n ],\n },\n },\n ],\n ],\n};\n\nexport default gauge;\n","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport type { JSONSchema7Definition } from 'json-schema';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\nimport { EditorLayoutConfig, EditorConfig } from '../interfaces/Editor';\n\nexport interface PresetEntry {\n name: string;\n value: any;\n label: string;\n}\n\nconst dynamicOptionsDSLType = {\n type: 'string',\n pattern: DYNAMIC_OPTIONS_DSL_PATTERN,\n} as const;\n\n/**\n * Helper function to extend an options schema with dynamic options DSL\n * @param optionsSchema a visualization's options schema\n * @returns an updated options schema that additionally allows strings starting with > for each option\n */\nfunction enhanceOptionsSchemaWithDynamicOptions(\n optionsSchema: OptionsSchema | JSONSchema7Definition\n): OptionsSchema {\n const enhancedOptionsSchema: OptionsSchema = {};\n Object.keys(optionsSchema).forEach((key): void => {\n const {\n // The next a few are schema annotations, we should leave them as is.\n // Note: in reality we don't use `readOnly`, `writeOnly` or `examples`, but they are listed here for completeness.\n // Ref: https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-01\n title,\n description,\n readOnly,\n writeOnly,\n examples,\n default: defaultValue,\n // The next a few need special care\n type,\n properties,\n patternProperties,\n // The rest should be handled together\n ...remainingSchemaEntry\n } = optionsSchema[key];\n\n const annotations = {\n ...(title !== undefined && { title }),\n ...(description !== undefined && { description }),\n ...(readOnly !== undefined && { readOnly }),\n ...(writeOnly !== undefined && { writeOnly }),\n ...(examples !== undefined && { examples }),\n ...(defaultValue !== undefined && { default: defaultValue }),\n };\n\n if (type === 'object') {\n enhancedOptionsSchema[key] = {\n ...remainingSchemaEntry,\n ...annotations,\n type,\n ...(properties && { properties: enhanceOptionsSchemaWithDynamicOptions(properties) }),\n };\n if (patternProperties) {\n let enhancedPatternProperties = {};\n Object.keys(patternProperties).forEach((opt): void => {\n enhancedPatternProperties = {\n ...enhancedPatternProperties,\n ...enhanceOptionsSchemaWithDynamicOptions({ [opt]: patternProperties[opt] }),\n };\n });\n enhancedOptionsSchema[key].patternProperties = enhancedPatternProperties;\n }\n } else {\n enhancedOptionsSchema[key] = {\n ...annotations,\n anyOf: [\n // we can't assume `type` is always there because there are `enum` and `const`.\n { ...(type !== undefined && { type }), ...remainingSchemaEntry },\n dynamicOptionsDSLType,\n ],\n };\n }\n });\n return enhancedOptionsSchema;\n}\n\n/**\n * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block\n * this function also collapse all editor panels\n * @param vizConfig a Visualization Config\n * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports\n * and containing `open: false` for all editor panels in editorConfig\n */\nfunction enhanceConfig(vizConfig: VizConfig): VizConfig {\n const enhancedConfig: VizConfig = { ...vizConfig };\n if (vizConfig.supports.indexOf(VizBehavior.DYNAMIC_OPTIONS) !== -1) {\n enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);\n }\n enhancedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: config.open || false };\n }\n );\n return enhancedConfig;\n}\n\n/**\n * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig\n * Created for editor unit tests\n * @param vizConfig a Visualization Config\n * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig\n */\nfunction uncollapseEditorConfig(vizConfig: VizConfig): VizConfig {\n const editorPanelUncollapsedConfig: VizConfig = { ...vizConfig };\n editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: true };\n }\n );\n return editorPanelUncollapsedConfig;\n}\n\nfunction isDynamicOption(option?: string): boolean {\n return (option && typeof option === 'string' && option.trim().startsWith('>')) || false;\n}\n\n// private helpers to improve readability of getInitialPreset\n// this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset\n\n/**\n * this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset\n * if a preset has explicitly specified a key as being undefined, the vizContext must also has that key as undefined, or else this CANNOT be the initialPreset\n * the inverse is true; if a preset has key is NOT undefined, it must also be NOT undefined in the corresponding vizContext\n * the internal config contents are irrelevant (as the user could customize them in source), just as long as the presence of `undefined`s match up\n *\n * Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values\n */\nfunction hasCompatibleContexts(\n vizContext: { [configKey: string]: any },\n presetContext: { [configKey: string]: any }\n): boolean {\n const presetContextKeys = Object.keys(presetContext);\n return presetContextKeys.every(\n (contextKey): boolean =>\n (presetContext[contextKey] === undefined && vizContext[contextKey] === undefined) ||\n (presetContext[contextKey] !== undefined && vizContext[contextKey] !== undefined)\n );\n}\n\n/**\n * Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions\n */\nfunction hasCompatibleOptions(\n vizOptions: { [configKey: string]: any },\n presetOptions: { [configKey: string]: any }\n): boolean {\n const presetOptionKeys = Object.keys(presetOptions);\n return presetOptionKeys.every(\n (optionKey): boolean =>\n isDynamicOption(presetOptions[optionKey]) === isDynamicOption(vizOptions[optionKey])\n );\n}\n\n/**\n * Evaluates whether there is an initialPreset that fits the current state of vizContext + vizOptions\n * This function ignores extraneous vizOptions or vizContext keys, as they could be outside the scope of what the preset is intended to configure\n *\n * @param {Object} vizContext - the current vizContext definition\n * @param {Object} vizOptions - the current vizOptions definition\n * @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset\n */\nfunction getInitialPreset(\n vizContext: { [configKey: string]: any },\n vizOptions: { [configKey: string]: any },\n presets: PresetEntry[]\n): PresetEntry | null {\n return presets.find((preset): boolean => {\n const presetContext = get(preset, ['value', 'context'], {});\n const presetOptions = get(preset, ['value', 'options'], {});\n const presetContextKeys = Object.keys(presetContext);\n const presetOptionKeys = Object.keys(presetOptions);\n\n // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)\n // if not, then the preset is invalid in config.ts\n if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;\n\n return (\n hasCompatibleContexts(vizContext, presetContext) &&\n hasCompatibleOptions(vizOptions, presetOptions)\n );\n });\n}\n\ninterface PrecisionOption {\n label: string;\n value: number;\n}\n\n/**\n * generates number precision values for a Select editor\n *\n * @param {Number} numPrecisionValues - number of integer precision values to generate\n * @returns {{ label: string; value; string }[]} array of { label, value } tuples\n */\nfunction generatePrecisionValues(numPrecisionValues: number): PrecisionOption[] {\n return range(0, numPrecisionValues + 1).map(\n (i): PrecisionOption => ({\n label: `${i} (0${i > 0 ? '.' : ''}${'0'.repeat(i)})`, // e.g. 0.000 for numPrecisionValues = 3\n value: i,\n })\n );\n}\n\nexport {\n enhanceConfig,\n enhanceOptionsSchemaWithDynamicOptions,\n getInitialPreset,\n generatePrecisionValues,\n uncollapseEditorConfig,\n isDynamicOption,\n};\n\n/**\n * insert layout in layout array, return a new layout array instead of updating the original\n *\n * @param {EditorLayoutConfig[][]} layout - editor layout\n * @param {Number} index - the index to insert layout item(s)\n * @param {EditorLayoutConfig[][]} layoutItems - the item(s) to insert\n * @returns {EditorLayoutConfig[][]} new editor layout with insertion\n */\nexport const insertLayout = (\n layout: EditorLayoutConfig[][],\n index: number,\n ...layoutItems: EditorLayoutConfig[][]\n): EditorLayoutConfig[][] => [\n // copy part of the array before the specified index\n ...layout.slice(0, index),\n // inserted layout item\n ...layoutItems,\n // copy part of the array after the specified index\n ...layout.slice(index),\n];\n","module.exports = require(\"lodash\");","import { _ } from '@splunk/ui-utils/i18n';\nimport MarkerGaugeIcon from '@splunk/react-icons/enterprise/GaugeMarker';\nimport { MarkerGauge as MarkerGaugePlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { COLOR_OR_TOKEN_PATTERN_WITH_RGBA, getPattern } from '@splunk/visualizations-shared/schemaUtils';\nimport variables from '@splunk/themes/variables';\nimport pick from '@splunk/themes/pick';\nimport GaugeConfig from '../common/editorConfig/Gauge';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport getBackgroundColorEditor from '../common/editorConfig/BackgroundColor';\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 300,\n initialHeight: 300,\n};\n\nconst defaultContext: DefaultContext = {};\n\nconst optionsSchema: OptionsSchema = {\n backgroundColor: {\n description:\n 'Specify the color used for the background. The default for enterprise light is \"#ffffff\". The default for enterprise dark is \"#000000\". The default for prisma dark is \"#0b0c0e\".',\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n default: '> themes.defaultBackgroundColor',\n },\n gaugeRanges: {\n description:\n 'Specify the overall range of the gauge as a series of continuous, color-coded subranges. For example, [{\"from\": 0, \"to\": 20, \"value\": \"#4BEBA8\"}, {\"from\": 20, \"to\": 50, \"value\": \"#F4DF7A\"}].',\n default: [\n { from: 0, to: 50, value: '#118832' },\n { from: 50, to: 90, value: '#CBA700' },\n { from: 90, to: 100, value: '#D41F1F' },\n ],\n type: 'array',\n items: {\n type: 'object',\n properties: {\n from: {\n type: 'number',\n description: 'Starting value for range.',\n },\n to: {\n type: 'number',\n description: 'Ending value for range.',\n },\n value: {\n description: 'Color for sub range.',\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n },\n },\n required: ['from', 'to', 'value'],\n additionalProperties: false,\n },\n },\n labelDisplay: {\n description:\n 'Specify whether to display the labels as numbers, percentages, or off. The label center aligns to the value.',\n default: 'number',\n type: 'string',\n pattern: getPattern(['number', 'percentage', 'off']),\n },\n majorTickInterval: {\n description: 'Specify, in pixels, the spacing between major tick marks.',\n default: 'auto',\n type: ['string', 'number'],\n },\n orientation: {\n description: 'Specify the axis orientation of the gauge.',\n default: 'vertical',\n type: 'string',\n pattern: getPattern(['horizontal', 'vertical']),\n },\n value: {\n description: 'Specify the dataSource applied to the value of the marker gauge.',\n type: 'string',\n default: '> primary | seriesByType(\"number\") | lastPoint()',\n },\n valueDisplay: {\n description: 'Specify whether to display the value as a number, percentage, or off.',\n default: 'number',\n type: 'string',\n pattern: getPattern(['number', 'percentage', 'off']),\n },\n};\n\nconst themes: ThemedDefaults = {\n defaultFillColor: props =>\n pick({\n enterprise: variables.backgroundColorHover(props),\n prisma: variables.neutral100(props),\n })(props),\n defaultBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n majorTickFillColor: props =>\n pick({\n enterprise: {\n light: variables.gray30(props), // was '#33343B'\n dark: variables.textGray(props), // was #D7DAE0\n },\n prisma: {\n // TODO: missed colors :(\n light: variables.neutral100(props), // TBD\n dark: variables.contentColorMuted(props), // was #D7DAE0; contentColor\n },\n })(props),\n majorTickStrokeColor: props =>\n pick({\n enterprise: {\n light: variables.textGray(props),\n dark: variables.contentColorMuted(props),\n },\n prisma: variables.contentColorMuted(props),\n })(props),\n valueMarkerFillColor: props =>\n pick({\n enterprise: variables.textColor(props),\n prisma: {\n dark: variables.white(props),\n light: variables.black(props),\n },\n })(props),\n valueMarkerLabelFillColor: props =>\n pick({\n enterprise: {\n light: variables.gray96(props),\n dark: variables.black(props),\n },\n prisma: variables.black(props),\n })(props),\n};\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Data configurations'),\n layout: [\n [\n {\n label: _('Value'),\n editor: 'editor.columnSelector',\n option: 'value',\n context: 'defaultContext',\n editorProps: {\n dataSourceKey: 'primary',\n prepareValue: (\n definition\n ): { context: Record<string, any>; options: Record<string, any> } => {\n const {\n options: { value },\n } = definition;\n return {\n context: {},\n options: {\n value: `${value} | lastPoint()`,\n },\n };\n },\n },\n },\n ],\n ],\n },\n GaugeConfig,\n {\n label: _('Color and style'),\n layout: [\n [\n {\n label: _('Gauge ranges'),\n option: 'gaugeRanges',\n editor: 'editor.threshold',\n editorProps: {\n openRanges: false, // Use closed ranges\n isTogglable: false, // Can not disable thresholds\n },\n },\n ],\n getBackgroundColorEditor({ themes, labelPosition: 'top' }),\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.markergauge',\n /**\n * viz name\n */\n name: _('Marker gauge'),\n category: VizCategory.GAUGE,\n /**\n * viz icon\n */\n icon: MarkerGaugeIcon,\n placeholderIcon: MarkerGaugePlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.PLACEHOLDER],\n themes,\n};\n\nexport default enhanceConfig(config);\n","module.exports = require(\"@splunk/react-icons/enterprise/GaugeMarker\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","export enum VizCategory {\n SINGLE_VALUE = 'Single Value',\n TRENDS = 'Trends',\n COMPARISONS = 'Comparisons',\n TABLE = 'Table',\n GAUGE = 'Gauge',\n DISTRIBUTIONS = 'Distributions',\n CHOROPLETH = 'Choropleth Maps',\n SHAPES = 'Shapes',\n MISC = 'misc',\n FLOW = 'Flow',\n CORRELATION = 'Correlation',\n SPATIAL = 'Spatial',\n}\n","module.exports = require(\"@splunk/themes/pick\");"],"sourceRoot":""}