@splunk/visualizations 23.2.0 → 23.5.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 (132) hide show
  1. package/Area.config.js +36 -30
  2. package/Area.config.js.map +1 -1
  3. package/Area.js +243 -203
  4. package/Area.js.map +1 -1
  5. package/Bar.config.js +29 -23
  6. package/Bar.config.js.map +1 -1
  7. package/Bar.js +233 -193
  8. package/Bar.js.map +1 -1
  9. package/Bubble.config.js +36 -23
  10. package/Bubble.config.js.map +1 -1
  11. package/Bubble.js +247 -196
  12. package/Bubble.js.map +1 -1
  13. package/ChoroplethSvg.config.js +15 -12
  14. package/ChoroplethSvg.config.js.map +1 -1
  15. package/ChoroplethSvg.js +201 -148
  16. package/ChoroplethSvg.js.map +1 -1
  17. package/Column.config.js +29 -23
  18. package/Column.config.js.map +1 -1
  19. package/Column.js +235 -194
  20. package/Column.js.map +1 -1
  21. package/Ellipse.config.js +23 -20
  22. package/Ellipse.config.js.map +1 -1
  23. package/Ellipse.js +176 -123
  24. package/Ellipse.js.map +1 -1
  25. package/FillerGauge.config.js +803 -0
  26. package/FillerGauge.config.js.map +1 -0
  27. package/FillerGauge.js +3634 -0
  28. package/FillerGauge.js.map +1 -0
  29. package/Image.config.js +13 -6
  30. package/Image.config.js.map +1 -1
  31. package/Image.js +260 -200
  32. package/Image.js.map +1 -1
  33. package/LICENSE.md +14 -0
  34. package/Line.config.js +40 -31
  35. package/Line.config.js.map +1 -1
  36. package/Line.js +248 -202
  37. package/Line.js.map +1 -1
  38. package/LinkGraph.config.js +107 -123
  39. package/LinkGraph.config.js.map +1 -1
  40. package/LinkGraph.js +241 -193
  41. package/LinkGraph.js.map +1 -1
  42. package/Markdown.config.js +95 -3
  43. package/Markdown.config.js.map +1 -1
  44. package/Markdown.js +272 -118
  45. package/Markdown.js.map +1 -1
  46. package/MarkerGauge.config.js +750 -0
  47. package/MarkerGauge.config.js.map +1 -0
  48. package/MarkerGauge.js +3758 -0
  49. package/MarkerGauge.js.map +1 -0
  50. package/ParallelCoordinates.config.js +52 -46
  51. package/ParallelCoordinates.config.js.map +1 -1
  52. package/ParallelCoordinates.js +257 -164
  53. package/ParallelCoordinates.js.map +1 -1
  54. package/Pie.config.js +61 -46
  55. package/Pie.config.js.map +1 -1
  56. package/Pie.js +254 -186
  57. package/Pie.js.map +1 -1
  58. package/Punchcard.config.js +279 -39
  59. package/Punchcard.config.js.map +1 -1
  60. package/Punchcard.js +825 -193
  61. package/Punchcard.js.map +1 -1
  62. package/README.external.md +45 -0
  63. package/README.md +18 -3
  64. package/Rectangle.config.js +89 -107
  65. package/Rectangle.config.js.map +1 -1
  66. package/Rectangle.js +204 -145
  67. package/Rectangle.js.map +1 -1
  68. package/Sankey.config.js +29 -22
  69. package/Sankey.config.js.map +1 -1
  70. package/Sankey.js +250 -186
  71. package/Sankey.js.map +1 -1
  72. package/Scatter.config.js +39 -28
  73. package/Scatter.config.js.map +1 -1
  74. package/Scatter.js +2375 -2434
  75. package/Scatter.js.map +1 -1
  76. package/SingleValue.config.js +37 -29
  77. package/SingleValue.config.js.map +1 -1
  78. package/SingleValue.js +3108 -3174
  79. package/SingleValue.js.map +1 -1
  80. package/SingleValueBasic.js +37 -23
  81. package/SingleValueBasic.js.map +1 -1
  82. package/SingleValueIcon.config.js +36 -28
  83. package/SingleValueIcon.config.js.map +1 -1
  84. package/SingleValueIcon.js +279 -210
  85. package/SingleValueIcon.js.map +1 -1
  86. package/SingleValueRadial.config.js +15 -13
  87. package/SingleValueRadial.config.js.map +1 -1
  88. package/SingleValueRadial.js +299 -253
  89. package/SingleValueRadial.js.map +1 -1
  90. package/Table.config.js +26 -10
  91. package/Table.config.js.map +1 -1
  92. package/Table.js +382 -265
  93. package/Table.js.map +1 -1
  94. package/common/Charting.js +33 -30
  95. package/common/Charting.js.map +1 -1
  96. package/common/ChartingApi.js +4 -4
  97. package/common/ChartingApi.js.map +1 -1
  98. package/common/EventsDoc.js +36 -34
  99. package/common/EventsDoc.js.map +1 -1
  100. package/common/GaugeMajorTicks.js +386 -0
  101. package/common/GaugeMajorTicks.js.map +1 -0
  102. package/common/GaugeValueMarker.js +333 -0
  103. package/common/GaugeValueMarker.js.map +1 -0
  104. package/common/OptionsDoc.js +47 -33
  105. package/common/OptionsDoc.js.map +1 -1
  106. package/common/OverviewDoc.js +376 -0
  107. package/common/OverviewDoc.js.map +1 -0
  108. package/common/SplunkVisualization.js +6 -6
  109. package/common/SplunkVisualization.js.map +1 -1
  110. package/common/SplunkVisualizationApi.js +10 -10
  111. package/common/SplunkVisualizationApi.js.map +1 -1
  112. package/common/ThemesDoc.js +55 -72
  113. package/common/ThemesDoc.js.map +1 -1
  114. package/common/chartingUtils.js +15 -13
  115. package/common/chartingUtils.js.map +1 -1
  116. package/common/docUtils.js +4 -4
  117. package/common/docUtils.js.map +1 -1
  118. package/common/gaugeUtils.js +893 -0
  119. package/common/gaugeUtils.js.map +1 -0
  120. package/common/shapeUtils.js +8 -8
  121. package/common/shapeUtils.js.map +1 -1
  122. package/common/utils/JSONSchemaUtils.js.map +1 -1
  123. package/common/utils/configUtils.js.map +1 -1
  124. package/common/utils/hocUtils.js +57 -3
  125. package/common/utils/hocUtils.js.map +1 -1
  126. package/common/utils/singleValueUtils.js +24 -10
  127. package/common/utils/singleValueUtils.js.map +1 -1
  128. package/common/withDashboardViz.js +158 -95
  129. package/common/withDashboardViz.js.map +1 -1
  130. package/package.json +18 -14
  131. package/common/utils/eventUtils.js +0 -115
  132. package/common/utils/eventUtils.js.map +0 -1
package/Markdown.js CHANGED
@@ -87,7 +87,7 @@ module.exports =
87
87
  /******/
88
88
  /******/
89
89
  /******/ // Load entry module and return exports
90
- /******/ return __webpack_require__(__webpack_require__.s = 176);
90
+ /******/ return __webpack_require__(__webpack_require__.s = 185);
91
91
  /******/ })
92
92
  /************************************************************************/
93
93
  /******/ ({
@@ -109,11 +109,18 @@ module.exports = require("react");
109
109
  /***/ 10:
110
110
  /***/ (function(module, exports) {
111
111
 
112
- module.exports = require("@splunk/visualizations-shared/colorUtils");
112
+ module.exports = require("@babel/runtime/helpers/classCallCheck");
113
113
 
114
114
  /***/ }),
115
115
 
116
116
  /***/ 11:
117
+ /***/ (function(module, exports) {
118
+
119
+ module.exports = require("@splunk/visualizations-shared/colorUtils");
120
+
121
+ /***/ }),
122
+
123
+ /***/ 12:
117
124
  /***/ (function(module, exports, __webpack_require__) {
118
125
 
119
126
  "use strict";
@@ -127,11 +134,11 @@ var React = __webpack_require__(1);
127
134
 
128
135
  var styled_components_1 = __webpack_require__(4);
129
136
 
130
- var SizeAwareWrapper_1 = __webpack_require__(18);
137
+ var SizeAwareWrapper_1 = __webpack_require__(17);
131
138
 
132
139
  var style_1 = __webpack_require__(13);
133
140
 
134
- var colorUtils_1 = __webpack_require__(10);
141
+ var colorUtils_1 = __webpack_require__(11);
135
142
 
136
143
  var Item = styled_components_1.default.div.attrs(function (_ref) {
137
144
  var width = _ref.width;
@@ -209,7 +216,7 @@ exports.default = withFixedSizeContainer;
209
216
 
210
217
  /***/ }),
211
218
 
212
- /***/ 118:
219
+ /***/ 121:
213
220
  /***/ (function(module, exports, __webpack_require__) {
214
221
 
215
222
  "use strict";
@@ -226,35 +233,44 @@ var React = __webpack_require__(1);
226
233
 
227
234
  var style_1 = __webpack_require__(13);
228
235
 
229
- var Markdown_1 = __webpack_require__(177);
236
+ var Markdown_1 = __webpack_require__(186);
230
237
 
231
238
  var styled_components_1 = __webpack_require__(4);
232
239
 
233
240
  var T = __webpack_require__(0);
234
241
 
235
- var config_1 = __webpack_require__(178);
242
+ var config_1 = __webpack_require__(187);
236
243
 
237
244
  exports.config = config_1.default;
238
245
 
239
- var withDashboardViz_1 = __webpack_require__(25);
246
+ var withDashboardViz_1 = __webpack_require__(27);
240
247
 
241
248
  var Container = styled_components_1.default.div.withConfig({
242
249
  displayName: "Markdown__Container",
243
250
  componentId: "zd3qkg-0"
244
- })(["overflow:auto;position:relative;box-sizing:border-box;", ";", ";"], function (props) {
251
+ })(["overflow:auto;position:relative;box-sizing:border-box;", ";", ";background-color:", ";& *:not(code):not(pre):not(code *):not(a){color:", ";}"], function (props) {
245
252
  return style_1.toDimension(lodash_1.pick(props, ['width', 'height']));
246
253
  }, function (props) {
247
254
  return style_1.toMargin(props.margin);
255
+ }, function (props) {
256
+ return props.backgroundColor;
257
+ }, function (props) {
258
+ return props.fontColor;
248
259
  });
249
260
 
250
261
  var MarkdownVisualization = function MarkdownVisualization(_ref) {
251
262
  var height = _ref.height,
252
263
  width = _ref.width,
253
- markdown = _ref.markdown;
264
+ markdown = _ref.markdown,
265
+ backgroundColor = _ref.backgroundColor,
266
+ fontColor = _ref.fontColor;
254
267
  return React.createElement(Container, {
268
+ "data-testid": "markdown-container",
255
269
  margin: [5, 5, 5, 5],
256
270
  width: width,
257
- height: height
271
+ height: height,
272
+ backgroundColor: backgroundColor,
273
+ fontColor: fontColor
258
274
  }, React.createElement(Markdown_1.default, {
259
275
  text: markdown
260
276
  }));
@@ -263,12 +279,16 @@ var MarkdownVisualization = function MarkdownVisualization(_ref) {
263
279
  var propTypes = {
264
280
  width: T.oneOfType([T.string, T.number]),
265
281
  height: T.oneOfType([T.string, T.number]),
266
- markdown: T.string
282
+ markdown: T.string,
283
+ backgroundColor: T.string,
284
+ fontColor: T.string
267
285
  };
268
286
  var defaultProps = {
269
287
  width: '100%',
270
288
  height: undefined,
271
- markdown: ''
289
+ markdown: '',
290
+ backgroundColor: 'transparent',
291
+ fontColor: 'rgba(255, 255, 255, 0.7)'
272
292
  };
273
293
  MarkdownVisualization.propTypes = propTypes;
274
294
  MarkdownVisualization.defaultProps = defaultProps;
@@ -276,44 +296,12 @@ var Markdown = withDashboardViz_1.default({
276
296
  ReactViz: MarkdownVisualization,
277
297
  vizConfig: config_1.default
278
298
  });
279
- var themes = null;
299
+ var themes = config_1.default.themes;
280
300
  exports.themes = themes;
281
301
  exports.default = Markdown;
282
302
 
283
303
  /***/ }),
284
304
 
285
- /***/ 12:
286
- /***/ (function(module, exports, __webpack_require__) {
287
-
288
- "use strict";
289
-
290
-
291
- Object.defineProperty(exports, "__esModule", {
292
- value: true
293
- });
294
- exports.extendStaticWrapperProps = void 0;
295
- /**
296
- * @method extendStaticWrapperProps
297
- * @param {Object} props
298
- * @param {DashboardVizType} props.Wrapper
299
- * @param {DashboardVizType} props.Visualization
300
- */
301
-
302
- var extendStaticWrapperProps = function extendStaticWrapperProps(_ref) {
303
- var Wrapper = _ref.Wrapper,
304
- Visualization = _ref.Visualization;
305
- var extendProperties = ['propTypes', 'defaultProps', 'config'];
306
- extendProperties.forEach(function (prop) {
307
- if (Visualization[prop]) {
308
- Wrapper[prop] = Visualization[prop];
309
- }
310
- });
311
- };
312
-
313
- exports.extendStaticWrapperProps = extendStaticWrapperProps;
314
-
315
- /***/ }),
316
-
317
305
  /***/ 13:
318
306
  /***/ (function(module, exports) {
319
307
 
@@ -328,14 +316,21 @@ module.exports = require("@splunk/visualizations-shared/schemaUtils");
328
316
 
329
317
  /***/ }),
330
318
 
331
- /***/ 17:
319
+ /***/ 16:
332
320
  /***/ (function(module, exports) {
333
321
 
334
322
  module.exports = require("@babel/runtime/helpers/createClass");
335
323
 
336
324
  /***/ }),
337
325
 
338
- /***/ 176:
326
+ /***/ 17:
327
+ /***/ (function(module, exports) {
328
+
329
+ module.exports = require("@splunk/visualizations-shared/SizeAwareWrapper");
330
+
331
+ /***/ }),
332
+
333
+ /***/ 185:
339
334
  /***/ (function(module, exports, __webpack_require__) {
340
335
 
341
336
  "use strict";
@@ -365,9 +360,9 @@ Object.defineProperty(exports, "__esModule", {
365
360
  });
366
361
  exports.default = void 0;
367
362
 
368
- __exportStar(__webpack_require__(118), exports);
363
+ __exportStar(__webpack_require__(121), exports);
369
364
 
370
- var Markdown_1 = __webpack_require__(118);
365
+ var Markdown_1 = __webpack_require__(121);
371
366
 
372
367
  Object.defineProperty(exports, "default", {
373
368
  enumerable: true,
@@ -378,30 +373,38 @@ Object.defineProperty(exports, "default", {
378
373
 
379
374
  /***/ }),
380
375
 
381
- /***/ 177:
376
+ /***/ 186:
382
377
  /***/ (function(module, exports) {
383
378
 
384
379
  module.exports = require("@splunk/react-ui/Markdown");
385
380
 
386
381
  /***/ }),
387
382
 
388
- /***/ 178:
383
+ /***/ 187:
389
384
  /***/ (function(module, exports, __webpack_require__) {
390
385
 
391
386
  "use strict";
392
387
 
393
388
 
389
+ var _toConsumableArray = __webpack_require__(39);
390
+
394
391
  Object.defineProperty(exports, "__esModule", {
395
392
  value: true
396
393
  });
397
394
 
395
+ var themes_1 = __webpack_require__(72);
396
+
398
397
  var i18n_1 = __webpack_require__(3);
399
398
 
399
+ var schemaUtils_1 = __webpack_require__(14);
400
+
400
401
  var VizBehavior_1 = __webpack_require__(5);
401
402
 
402
- var VizCategory_1 = __webpack_require__(24);
403
+ var VizCategory_1 = __webpack_require__(26);
404
+
405
+ var configUtils_1 = __webpack_require__(8);
403
406
 
404
- var configUtils_1 = __webpack_require__(7);
407
+ var BackgroundColor_1 = __webpack_require__(44);
405
408
 
406
409
  var dataContract = {
407
410
  requiredDataSources: [],
@@ -431,6 +434,29 @@ var optionsSchema = {
431
434
  markdown: {
432
435
  description: 'Add text using basic markdown syntax.',
433
436
  type: 'string'
437
+ },
438
+ backgroundColor: {
439
+ description: 'Specify the background color using a Hex code such as "#FF0000".',
440
+ type: 'string',
441
+ default: 'transparent',
442
+ pattern: schemaUtils_1.COLOR_OR_TOKEN_PATTERN_WITH_RGBA
443
+ },
444
+ fontColor: {
445
+ description: 'Specify the text color using Hex codes or RGBA values, such as "#FF0000" or "rgba(25,12,13,0.1)". The default for enterprise light is "#3c444d". The default for enterprise dark is "#FFFFFF". The default for prisma dark is "rgba(255, 255, 255, 0.7)".',
446
+ type: 'string',
447
+ default: '> themes.defaultFontColor',
448
+ pattern: schemaUtils_1.COLOR_OR_TOKEN_PATTERN_WITH_RGBA
449
+ }
450
+ };
451
+ var themes = {
452
+ defaultFontColor: function defaultFontColor(props) {
453
+ return themes_1.pick({
454
+ enterprise: {
455
+ dark: themes_1.variables.textColor(props),
456
+ light: themes_1.variables.textColor(props)
457
+ },
458
+ prisma: themes_1.variables.contentColorDefault(props)
459
+ })(props);
434
460
  }
435
461
  };
436
462
  var editorConfig = [{
@@ -441,8 +467,22 @@ var editorConfig = [{
441
467
  option: 'markdown',
442
468
  editor: 'editor.markdown'
443
469
  }]]
470
+ }, {
471
+ label: i18n_1._('General'),
472
+ open: true,
473
+ layout: [[{
474
+ label: i18n_1._('Font Color'),
475
+ option: 'fontColor',
476
+ editor: 'editor.color',
477
+ editorProps: {
478
+ labelPosition: 'top',
479
+ themes: themes
480
+ }
481
+ }].concat(_toConsumableArray(BackgroundColor_1.default({
482
+ label: 'Background Color',
483
+ themes: themes
484
+ })))]
444
485
  }];
445
- var themes = {};
446
486
  /**
447
487
  * visualization configuration
448
488
  */
@@ -475,21 +515,21 @@ exports.default = configUtils_1.enhanceConfig(config);
475
515
 
476
516
  /***/ }),
477
517
 
478
- /***/ 18:
518
+ /***/ 2:
479
519
  /***/ (function(module, exports) {
480
520
 
481
- module.exports = require("@splunk/visualizations-shared/SizeAwareWrapper");
521
+ module.exports = require("lodash");
482
522
 
483
523
  /***/ }),
484
524
 
485
- /***/ 2:
525
+ /***/ 22:
486
526
  /***/ (function(module, exports) {
487
527
 
488
- module.exports = require("lodash");
528
+ module.exports = require("@babel/runtime/helpers/typeof");
489
529
 
490
530
  /***/ }),
491
531
 
492
- /***/ 21:
532
+ /***/ 23:
493
533
  /***/ (function(module, exports, __webpack_require__) {
494
534
 
495
535
  "use strict";
@@ -506,7 +546,7 @@ var T = __webpack_require__(0);
506
546
 
507
547
  var lodash_1 = __webpack_require__(2);
508
548
 
509
- var DataSource_1 = __webpack_require__(31);
549
+ var DataSource_1 = __webpack_require__(33);
510
550
 
511
551
  exports.SortParamsPropTypes = T.shape({
512
552
  currentSortKey: T.string,
@@ -560,7 +600,7 @@ exports.getSortingParams = getSortingParams;
560
600
 
561
601
  /***/ }),
562
602
 
563
- /***/ 22:
603
+ /***/ 24:
564
604
  /***/ (function(module, exports, __webpack_require__) {
565
605
 
566
606
  "use strict";
@@ -625,7 +665,7 @@ exports.getPaginationParams = getPaginationParams;
625
665
 
626
666
  /***/ }),
627
667
 
628
- /***/ 23:
668
+ /***/ 25:
629
669
  /***/ (function(module, exports, __webpack_require__) {
630
670
 
631
671
  "use strict";
@@ -644,9 +684,9 @@ var lodash_1 = __webpack_require__(2);
644
684
 
645
685
  var i18n_1 = __webpack_require__(3);
646
686
 
647
- var Message_1 = __webpack_require__(8);
687
+ var Message_1 = __webpack_require__(9);
648
688
 
649
- var FixedSizeContainer_1 = __webpack_require__(11);
689
+ var FixedSizeContainer_1 = __webpack_require__(12);
650
690
  /**
651
691
  * @method shouldShowIconPlaceholder
652
692
  * @param {object} dataSources
@@ -713,7 +753,7 @@ exports.default = FixedSizeContainer_1.default(IconPlaceholder);
713
753
 
714
754
  /***/ }),
715
755
 
716
- /***/ 24:
756
+ /***/ 26:
717
757
  /***/ (function(module, exports, __webpack_require__) {
718
758
 
719
759
  "use strict";
@@ -736,11 +776,13 @@ var VizCategory;
736
776
  VizCategory["SHAPES"] = "Shapes";
737
777
  VizCategory["MISC"] = "misc";
738
778
  VizCategory["FLOW"] = "Flow";
779
+ VizCategory["CORRELATION"] = "Correlation";
780
+ VizCategory["SPATIAL"] = "Spatial";
739
781
  })(VizCategory = exports.VizCategory || (exports.VizCategory = {}));
740
782
 
741
783
  /***/ }),
742
784
 
743
- /***/ 25:
785
+ /***/ 27:
744
786
  /***/ (function(module, exports, __webpack_require__) {
745
787
 
746
788
  "use strict";
@@ -754,31 +796,33 @@ var React = __webpack_require__(1);
754
796
 
755
797
  var lodash_1 = __webpack_require__(2);
756
798
 
757
- var getSettingsFromThemedProps_1 = __webpack_require__(26);
758
-
759
- var Options_1 = __webpack_require__(27);
799
+ var getSettingsFromThemedProps_1 = __webpack_require__(28);
760
800
 
761
- var SanitizeProps_1 = __webpack_require__(28);
801
+ var Options_1 = __webpack_require__(29);
762
802
 
763
- var SplunkVisualization_1 = __webpack_require__(29);
803
+ var SanitizeProps_1 = __webpack_require__(30);
764
804
 
765
805
  var styled_components_1 = __webpack_require__(4);
766
806
 
807
+ var SplunkVisualization_1 = __webpack_require__(31);
808
+
767
809
  var VizBehavior_1 = __webpack_require__(5);
768
810
 
769
- var getSorting_1 = __webpack_require__(21);
811
+ var getSorting_1 = __webpack_require__(23);
812
+
813
+ var getPagination_1 = __webpack_require__(24);
770
814
 
771
- var getPagination_1 = __webpack_require__(22);
815
+ var useDeepMemo_1 = __webpack_require__(34);
772
816
 
773
- var useDeepMemo_1 = __webpack_require__(32);
817
+ var JSONSchemaUtils_1 = __webpack_require__(35);
774
818
 
775
- var JSONSchemaUtils_1 = __webpack_require__(33);
819
+ var MissingPropsMessage_1 = __webpack_require__(36);
776
820
 
777
- var MissingPropsMessage_1 = __webpack_require__(34);
821
+ var withEditModeCover_1 = __webpack_require__(37);
778
822
 
779
- var withEditModeCover_1 = __webpack_require__(35);
823
+ var withPlaceholder_1 = __webpack_require__(38);
780
824
 
781
- var withPlaceholder_1 = __webpack_require__(36);
825
+ var hocUtils_1 = __webpack_require__(7);
782
826
  /**
783
827
  * hoc that wraps a pure react visualization in a Dashboard visualization
784
828
  * @param {DashboardVizOpts} opts
@@ -831,7 +875,7 @@ var withDashboardViz = function withDashboardViz(opts) {
831
875
  try {
832
876
  return Options_1.Options.evaluate({
833
877
  context: lodash_1.defaultsDeep({}, context, vizConfig.defaultContext),
834
- options: lodash_1.defaultsDeep({}, options, defaultOptions)
878
+ options: hocUtils_1.deepMergeWithArrayOverrides({}, options, defaultOptions)
835
879
  }, dataSources, themeFunc);
836
880
  } catch (e) {
837
881
  console.error("unexpected error evaluating options: + ".concat(e.message));
@@ -842,7 +886,7 @@ var withDashboardViz = function withDashboardViz(opts) {
842
886
 
843
887
  React.useEffect(function () {
844
888
  onComputedProps(evaluatedOptions);
845
- }); //present warning message if any required props are missing
889
+ }); // present warning message if any required props are missing
846
890
 
847
891
  var _vizConfig$requiredPr = vizConfig.requiredProps,
848
892
  requiredProps = _vizConfig$requiredPr === void 0 ? [] : _vizConfig$requiredPr,
@@ -865,7 +909,7 @@ var withDashboardViz = function withDashboardViz(opts) {
865
909
  if (hasEventHandlers && mode === 'view' && vizConfig.supports.indexOf(VizBehavior_1.VizBehavior.EVENTS) > -1) {
866
910
  var supportedEvents = vizConfig.events;
867
911
  Object.keys(supportedEvents).forEach(function (eventName) {
868
- var eventCallbackPropName = lodash_1.camelCase('on.' + eventName);
912
+ var eventCallbackPropName = lodash_1.camelCase("on.".concat(eventName));
869
913
  eventCallbackProps[eventCallbackPropName] = null; // todo: refactor single value and single value icon to send payload from viz
870
914
  // then remove these lines
871
915
 
@@ -961,34 +1005,41 @@ exports.default = withDashboardViz;
961
1005
 
962
1006
  /***/ }),
963
1007
 
964
- /***/ 26:
1008
+ /***/ 28:
965
1009
  /***/ (function(module, exports) {
966
1010
 
967
1011
  module.exports = require("@splunk/themes/getSettingsFromThemedProps");
968
1012
 
969
1013
  /***/ }),
970
1014
 
971
- /***/ 27:
1015
+ /***/ 29:
972
1016
  /***/ (function(module, exports) {
973
1017
 
974
1018
  module.exports = require("@splunk/visualization-encoding/Options");
975
1019
 
976
1020
  /***/ }),
977
1021
 
978
- /***/ 28:
1022
+ /***/ 3:
1023
+ /***/ (function(module, exports) {
1024
+
1025
+ module.exports = require("@splunk/ui-utils/i18n");
1026
+
1027
+ /***/ }),
1028
+
1029
+ /***/ 30:
979
1030
  /***/ (function(module, exports) {
980
1031
 
981
1032
  module.exports = require("@splunk/visualizations-shared/SanitizeProps");
982
1033
 
983
1034
  /***/ }),
984
1035
 
985
- /***/ 29:
1036
+ /***/ 31:
986
1037
  /***/ (function(module, exports, __webpack_require__) {
987
1038
 
988
1039
  "use strict";
989
1040
 
990
1041
 
991
- var _classCallCheck = __webpack_require__(9);
1042
+ var _classCallCheck = __webpack_require__(10);
992
1043
 
993
1044
  Object.defineProperty(exports, "__esModule", {
994
1045
  value: true
@@ -1000,7 +1051,7 @@ var T = __webpack_require__(0);
1000
1051
 
1001
1052
  var lodash_1 = __webpack_require__(2);
1002
1053
 
1003
- var VizActionHandler_1 = __webpack_require__(30); // this is identical to the initial height and width we use in BaseVisualization in dashboard-visualizations
1054
+ var VizActionHandler_1 = __webpack_require__(32); // this is identical to the initial height and width we use in BaseVisualization in dashboard-visualizations
1004
1055
 
1005
1056
 
1006
1057
  exports.INITIAL_WIDTH = 250;
@@ -1134,22 +1185,15 @@ exports.default = SplunkVisualization;
1134
1185
 
1135
1186
  /***/ }),
1136
1187
 
1137
- /***/ 3:
1138
- /***/ (function(module, exports) {
1139
-
1140
- module.exports = require("@splunk/ui-utils/i18n");
1141
-
1142
- /***/ }),
1143
-
1144
- /***/ 30:
1188
+ /***/ 32:
1145
1189
  /***/ (function(module, exports, __webpack_require__) {
1146
1190
 
1147
1191
  "use strict";
1148
1192
 
1149
1193
 
1150
- var _classCallCheck = __webpack_require__(9);
1194
+ var _classCallCheck = __webpack_require__(10);
1151
1195
 
1152
- var _createClass = __webpack_require__(17);
1196
+ var _createClass = __webpack_require__(16);
1153
1197
 
1154
1198
  Object.defineProperty(exports, "__esModule", {
1155
1199
  value: true
@@ -1179,7 +1223,7 @@ exports.DefaultVizActionHandler = DefaultVizActionHandler;
1179
1223
 
1180
1224
  /***/ }),
1181
1225
 
1182
- /***/ 31:
1226
+ /***/ 33:
1183
1227
  /***/ (function(module, exports, __webpack_require__) {
1184
1228
 
1185
1229
  "use strict";
@@ -1193,7 +1237,7 @@ exports.validSortDirs = ['asc', 'desc', 'none'];
1193
1237
 
1194
1238
  /***/ }),
1195
1239
 
1196
- /***/ 32:
1240
+ /***/ 34:
1197
1241
  /***/ (function(module, exports, __webpack_require__) {
1198
1242
 
1199
1243
  "use strict";
@@ -1239,7 +1283,7 @@ exports.useDeepMemo = useDeepMemo;
1239
1283
 
1240
1284
  /***/ }),
1241
1285
 
1242
- /***/ 33:
1286
+ /***/ 35:
1243
1287
  /***/ (function(module, exports, __webpack_require__) {
1244
1288
 
1245
1289
  "use strict";
@@ -1273,7 +1317,7 @@ exports.pickFieldFromJSONSchema = pickFieldFromJSONSchema;
1273
1317
 
1274
1318
  /***/ }),
1275
1319
 
1276
- /***/ 34:
1320
+ /***/ 36:
1277
1321
  /***/ (function(module, exports, __webpack_require__) {
1278
1322
 
1279
1323
  "use strict";
@@ -1290,9 +1334,9 @@ var T = __webpack_require__(0);
1290
1334
 
1291
1335
  var i18n_1 = __webpack_require__(3);
1292
1336
 
1293
- var Message_1 = __webpack_require__(8);
1337
+ var Message_1 = __webpack_require__(9);
1294
1338
 
1295
- var FixedSizeContainer_1 = __webpack_require__(11);
1339
+ var FixedSizeContainer_1 = __webpack_require__(12);
1296
1340
  /**
1297
1341
  * @method isMissing
1298
1342
  * @param {any} v
@@ -1353,7 +1397,7 @@ exports.default = FixedSizeContainer_1.default(exports.MissingPropsMessage);
1353
1397
 
1354
1398
  /***/ }),
1355
1399
 
1356
- /***/ 35:
1400
+ /***/ 37:
1357
1401
  /***/ (function(module, exports, __webpack_require__) {
1358
1402
 
1359
1403
  "use strict";
@@ -1367,7 +1411,7 @@ var React = __webpack_require__(1);
1367
1411
 
1368
1412
  var styled_components_1 = __webpack_require__(4);
1369
1413
 
1370
- var hocUtils_1 = __webpack_require__(12);
1414
+ var hocUtils_1 = __webpack_require__(7);
1371
1415
 
1372
1416
  var Cover = styled_components_1.default.div.withConfig({
1373
1417
  displayName: "withEditModeCover__Cover",
@@ -1403,7 +1447,7 @@ exports.default = withEditModeCover;
1403
1447
 
1404
1448
  /***/ }),
1405
1449
 
1406
- /***/ 36:
1450
+ /***/ 38:
1407
1451
  /***/ (function(module, exports, __webpack_require__) {
1408
1452
 
1409
1453
  "use strict";
@@ -1415,13 +1459,13 @@ Object.defineProperty(exports, "__esModule", {
1415
1459
 
1416
1460
  var React = __webpack_require__(1);
1417
1461
 
1418
- var colorUtils_1 = __webpack_require__(10);
1462
+ var colorUtils_1 = __webpack_require__(11);
1419
1463
 
1420
- var IconPlaceholder_1 = __webpack_require__(23);
1464
+ var IconPlaceholder_1 = __webpack_require__(25);
1421
1465
 
1422
1466
  var VizBehavior_1 = __webpack_require__(5);
1423
1467
 
1424
- var hocUtils_1 = __webpack_require__(12);
1468
+ var hocUtils_1 = __webpack_require__(7);
1425
1469
 
1426
1470
  var withPlaceholder = function withPlaceholder(Visualization) {
1427
1471
  var useIconPlaceholder = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : IconPlaceholder_1.shouldShowIconPlaceholder;
@@ -1463,6 +1507,13 @@ exports.default = withPlaceholder;
1463
1507
 
1464
1508
  /***/ }),
1465
1509
 
1510
+ /***/ 39:
1511
+ /***/ (function(module, exports) {
1512
+
1513
+ module.exports = require("@babel/runtime/helpers/toConsumableArray");
1514
+
1515
+ /***/ }),
1516
+
1466
1517
  /***/ 4:
1467
1518
  /***/ (function(module, exports) {
1468
1519
 
@@ -1470,6 +1521,37 @@ module.exports = require("styled-components");
1470
1521
 
1471
1522
  /***/ }),
1472
1523
 
1524
+ /***/ 44:
1525
+ /***/ (function(module, exports, __webpack_require__) {
1526
+
1527
+ "use strict";
1528
+
1529
+
1530
+ Object.defineProperty(exports, "__esModule", {
1531
+ value: true
1532
+ });
1533
+
1534
+ var i18n_1 = __webpack_require__(3);
1535
+
1536
+ var background = function background(_ref) {
1537
+ var label = _ref.label,
1538
+ themes = _ref.themes,
1539
+ labelPosition = _ref.labelPosition;
1540
+ return [{
1541
+ label: i18n_1._(label || 'Background'),
1542
+ option: 'backgroundColor',
1543
+ editor: 'editor.color',
1544
+ editorProps: {
1545
+ labelPosition: labelPosition || 'top',
1546
+ themes: themes
1547
+ }
1548
+ }];
1549
+ };
1550
+
1551
+ exports.default = background;
1552
+
1553
+ /***/ }),
1554
+
1473
1555
  /***/ 5:
1474
1556
  /***/ (function(module, exports, __webpack_require__) {
1475
1557
 
@@ -1521,6 +1603,85 @@ module.exports = require("@babel/runtime/helpers/defineProperty");
1521
1603
  "use strict";
1522
1604
 
1523
1605
 
1606
+ var _typeof = __webpack_require__(22);
1607
+
1608
+ Object.defineProperty(exports, "__esModule", {
1609
+ value: true
1610
+ });
1611
+ exports.deepMergeWithArrayOverrides = exports.extendStaticWrapperProps = void 0;
1612
+
1613
+ var lodash_1 = __webpack_require__(2);
1614
+ /**
1615
+ * @method extendStaticWrapperProps
1616
+ * @param {Object} props
1617
+ * @param {DashboardVizType} props.Wrapper
1618
+ * @param {DashboardVizType} props.Visualization
1619
+ */
1620
+
1621
+
1622
+ var extendStaticWrapperProps = function extendStaticWrapperProps(_ref) {
1623
+ var Wrapper = _ref.Wrapper,
1624
+ Visualization = _ref.Visualization;
1625
+ var extendProperties = ['propTypes', 'defaultProps', 'config'];
1626
+ extendProperties.forEach(function (prop) {
1627
+ if (Visualization[prop]) {
1628
+ Wrapper[prop] = Visualization[prop];
1629
+ }
1630
+ });
1631
+ };
1632
+
1633
+ exports.extendStaticWrapperProps = extendStaticWrapperProps;
1634
+ /**
1635
+ * helper to deeply merge objects while preserving arrays in earlier source objects
1636
+ * deeply nested primitive keys are merged similarly to lodash's defaultsDeep, while keys with arrays will be preserved if already present in the resultant merged object
1637
+ * this prevents default arrays from appending values to user-defined arrays (this occurs if the default array is longer than the user-defined one)
1638
+ *
1639
+ * @method deepMergeWithArrayOverrides
1640
+ * @param {Object} initial - target object to merge values into
1641
+ * @param {Object[]} sources - other default options to be merged into the resultant object if no explicit value is provided, with earlier args taking precedence over later ones
1642
+ *
1643
+ * @returns {Object}
1644
+ */
1645
+
1646
+ var deepMergeWithArrayOverrides = function deepMergeWithArrayOverrides(initial) {
1647
+ var clone = lodash_1.cloneDeep(initial);
1648
+
1649
+ for (var _len = arguments.length, sources = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
1650
+ sources[_key - 1] = arguments[_key];
1651
+ }
1652
+
1653
+ sources.forEach(function (sourceToApply) {
1654
+ Object.keys(sourceToApply).forEach(function (sourceKey) {
1655
+ if (!clone.hasOwnProperty(sourceKey)) {
1656
+ clone[sourceKey] = lodash_1.cloneDeep(sourceToApply[sourceKey]);
1657
+ } // object merging excluding arrays
1658
+
1659
+
1660
+ if (clone[sourceKey] && _typeof(clone[sourceKey]) === 'object' && !Array.isArray(clone[sourceKey]) && _typeof(sourceToApply[sourceKey]) === 'object') {
1661
+ clone[sourceKey] = exports.deepMergeWithArrayOverrides(clone[sourceKey], sourceToApply[sourceKey]);
1662
+ }
1663
+ });
1664
+ });
1665
+ return clone;
1666
+ };
1667
+
1668
+ exports.deepMergeWithArrayOverrides = deepMergeWithArrayOverrides;
1669
+
1670
+ /***/ }),
1671
+
1672
+ /***/ 72:
1673
+ /***/ (function(module, exports) {
1674
+
1675
+ module.exports = require("@splunk/themes");
1676
+
1677
+ /***/ }),
1678
+
1679
+ /***/ 8:
1680
+ /***/ (function(module, exports, __webpack_require__) {
1681
+
1682
+ "use strict";
1683
+
1684
+
1524
1685
  var _defineProperty = __webpack_require__(6);
1525
1686
 
1526
1687
  var __rest = this && this.__rest || function (s, e) {
@@ -1707,17 +1868,10 @@ exports.generatePrecisionValues = generatePrecisionValues;
1707
1868
 
1708
1869
  /***/ }),
1709
1870
 
1710
- /***/ 8:
1711
- /***/ (function(module, exports) {
1712
-
1713
- module.exports = require("@splunk/visualizations-shared/Message");
1714
-
1715
- /***/ }),
1716
-
1717
1871
  /***/ 9:
1718
1872
  /***/ (function(module, exports) {
1719
1873
 
1720
- module.exports = require("@babel/runtime/helpers/classCallCheck");
1874
+ module.exports = require("@splunk/visualizations-shared/Message");
1721
1875
 
1722
1876
  /***/ })
1723
1877