@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/Image.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 = 156);
90
+ /******/ return __webpack_require__(__webpack_require__.s = 165);
91
91
  /******/ })
92
92
  /************************************************************************/
93
93
  /******/ ({
@@ -109,107 +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, __webpack_require__) {
118
-
119
- "use strict";
120
-
121
-
122
- Object.defineProperty(exports, "__esModule", {
123
- value: true
124
- });
125
-
126
- var React = __webpack_require__(1);
127
-
128
- var styled_components_1 = __webpack_require__(4);
129
-
130
- var SizeAwareWrapper_1 = __webpack_require__(18);
131
-
132
- var style_1 = __webpack_require__(13);
133
-
134
- var colorUtils_1 = __webpack_require__(10);
135
-
136
- var Item = styled_components_1.default.div.attrs(function (_ref) {
137
- var width = _ref.width;
138
- return {
139
- style: {
140
- width: style_1.toPx(width)
141
- }
142
- };
143
- }).withConfig({
144
- displayName: "FixedSizeContainer__Item",
145
- componentId: "sc-1yhgpod-0"
146
- })(["position:relative;background-color:", "};"], function (props) {
147
- return colorUtils_1.isColor(props.backgroundColor) && props.backgroundColor || props.theme.defaultBackgroundColor;
148
- }); // Use `.attrs()` for highly dynamic styles. Ref: https://github.com/styled-components/styled-components/issues/134#issuecomment-312415291
149
-
150
- var FixSizeItem = styled_components_1.default.div.attrs(function (_ref2) {
151
- var width = _ref2.width,
152
- height = _ref2.height;
153
- return {
154
- style: Object.assign(Object.assign({}, width && {
155
- width: style_1.toPx(width)
156
- }), height && {
157
- height: style_1.toPx(height)
158
- })
159
- };
160
- }).withConfig({
161
- displayName: "FixedSizeContainer__FixSizeItem",
162
- componentId: "sc-1yhgpod-1"
163
- })(["position:relative;flex-direction:column;flex:1;display:flex;background-color:", "};"], function (props) {
164
- return colorUtils_1.isColor(props.backgroundColor) && props.backgroundColor || props.theme.defaultBackgroundColor;
165
- });
166
- var ItemContent = styled_components_1.default.div.withConfig({
167
- displayName: "FixedSizeContainer__ItemContent",
168
- componentId: "sc-1yhgpod-2"
169
- })(["position:relative;min-height:100px;width:100%;"]);
170
- var FixSizeItemContent = styled_components_1.default.div.withConfig({
171
- displayName: "FixedSizeContainer__FixSizeItemContent",
172
- componentId: "sc-1yhgpod-3"
173
- })(["min-height:0px;flex:1;position:relative;box-sizing:border-box;"]);
174
-
175
- var withFixedSizeContainer = function withFixedSizeContainer(Viz) {
176
- var FixedSizeContainer = function FixedSizeContainer(props) {
177
- var width = props.width,
178
- height = props.height,
179
- backgroundColor = props.backgroundColor;
180
-
181
- if (!height) {
182
- return React.createElement(Item, {
183
- "data-test": "item",
184
- width: width,
185
- backgroundColor: backgroundColor
186
- }, React.createElement(ItemContent, null, React.createElement(Viz, Object.assign({}, props))));
187
- }
188
-
189
- return React.createElement(FixSizeItem, {
190
- "data-test": "fix-size-item",
191
- width: width,
192
- height: height,
193
- backgroundColor: backgroundColor
194
- }, React.createElement(FixSizeItemContent, null, React.createElement(SizeAwareWrapper_1.default, null, function (_ref3) {
195
- var newWidth = _ref3.width,
196
- newHeight = _ref3.height;
197
- return React.createElement(Viz, Object.assign({}, props, {
198
- width: newWidth,
199
- height: newHeight
200
- }));
201
- })));
202
- };
203
-
204
- FixedSizeContainer.displayName = 'withFixedSizeContainer';
205
- return FixedSizeContainer;
206
- };
117
+ /***/ (function(module, exports) {
207
118
 
208
- exports.default = withFixedSizeContainer;
119
+ module.exports = require("@splunk/visualizations-shared/colorUtils");
209
120
 
210
121
  /***/ }),
211
122
 
212
- /***/ 112:
123
+ /***/ 115:
213
124
  /***/ (function(module, exports, __webpack_require__) {
214
125
 
215
126
  "use strict";
@@ -241,19 +152,19 @@ var i18n_1 = __webpack_require__(3);
241
152
 
242
153
  var style_1 = __webpack_require__(13);
243
154
 
244
- var RemoteImage_1 = __webpack_require__(113);
155
+ var RemoteImage_1 = __webpack_require__(116);
245
156
 
246
157
  var styled_components_1 = __webpack_require__(4);
247
158
 
248
159
  var T = __webpack_require__(0);
249
160
 
250
- var config_1 = __webpack_require__(157);
161
+ var config_1 = __webpack_require__(166);
251
162
 
252
163
  exports.config = config_1.default;
253
164
 
254
- var withDashboardViz_1 = __webpack_require__(25);
165
+ var withDashboardViz_1 = __webpack_require__(27);
255
166
 
256
- var ImageApi_1 = __webpack_require__(158);
167
+ var ImageApi_1 = __webpack_require__(167);
257
168
 
258
169
  var useEffect = React.useEffect,
259
170
  useRef = React.useRef;
@@ -316,7 +227,8 @@ var ImageVisualization = function ImageVisualization(_ref) {
316
227
  _ref$title = _ref.title,
317
228
  title = _ref$title === void 0 ? '' : _ref$title,
318
229
  visualizationApiRef = _ref.visualizationApiRef,
319
- options = _ref.options;
230
+ options = _ref.options,
231
+ onImageClick = _ref.onImageClick;
320
232
  var src = options.src,
321
233
  preserveAspectRatio = options.preserveAspectRatio;
322
234
  var remoteImage = useRef(null);
@@ -336,7 +248,8 @@ var ImageVisualization = function ImageVisualization(_ref) {
336
248
  }, []);
337
249
  return React.createElement(Container, {
338
250
  width: width,
339
- height: height
251
+ height: height,
252
+ onClick: onImageClick
340
253
  }, isRemote ? React.createElement(RemoteImage_1.default, {
341
254
  imageURL: src,
342
255
  title: title,
@@ -363,14 +276,16 @@ var propTypes = {
363
276
  height: T.oneOfType([T.string, T.number]),
364
277
  options: T.object,
365
278
  title: T.string,
366
- visualizationApiRef: T.func
279
+ visualizationApiRef: T.func,
280
+ onImageClick: T.func
367
281
  };
368
282
  var defaultProps = {
369
283
  width: '100%',
370
284
  height: undefined,
371
285
  options: {},
372
286
  title: '',
373
- visualizationApiRef: lodash_1.noop
287
+ visualizationApiRef: lodash_1.noop,
288
+ onImageClick: lodash_1.noop
374
289
  };
375
290
  ImageVisualization.propTypes = propTypes;
376
291
  ImageVisualization.defaultProps = defaultProps;
@@ -386,7 +301,7 @@ exports.default = Image;
386
301
 
387
302
  /***/ }),
388
303
 
389
- /***/ 113:
304
+ /***/ 116:
390
305
  /***/ (function(module, exports) {
391
306
 
392
307
  module.exports = require("@splunk/visualizations-shared/RemoteImage");
@@ -402,26 +317,90 @@ module.exports = require("@splunk/visualizations-shared/RemoteImage");
402
317
  Object.defineProperty(exports, "__esModule", {
403
318
  value: true
404
319
  });
405
- exports.extendStaticWrapperProps = void 0;
406
- /**
407
- * @method extendStaticWrapperProps
408
- * @param {Object} props
409
- * @param {DashboardVizType} props.Wrapper
410
- * @param {DashboardVizType} props.Visualization
411
- */
412
320
 
413
- var extendStaticWrapperProps = function extendStaticWrapperProps(_ref) {
414
- var Wrapper = _ref.Wrapper,
415
- Visualization = _ref.Visualization;
416
- var extendProperties = ['propTypes', 'defaultProps', 'config'];
417
- extendProperties.forEach(function (prop) {
418
- if (Visualization[prop]) {
419
- Wrapper[prop] = Visualization[prop];
321
+ var React = __webpack_require__(1);
322
+
323
+ var styled_components_1 = __webpack_require__(4);
324
+
325
+ var SizeAwareWrapper_1 = __webpack_require__(17);
326
+
327
+ var style_1 = __webpack_require__(13);
328
+
329
+ var colorUtils_1 = __webpack_require__(11);
330
+
331
+ var Item = styled_components_1.default.div.attrs(function (_ref) {
332
+ var width = _ref.width;
333
+ return {
334
+ style: {
335
+ width: style_1.toPx(width)
420
336
  }
421
- });
337
+ };
338
+ }).withConfig({
339
+ displayName: "FixedSizeContainer__Item",
340
+ componentId: "sc-1yhgpod-0"
341
+ })(["position:relative;background-color:", "};"], function (props) {
342
+ return colorUtils_1.isColor(props.backgroundColor) && props.backgroundColor || props.theme.defaultBackgroundColor;
343
+ }); // Use `.attrs()` for highly dynamic styles. Ref: https://github.com/styled-components/styled-components/issues/134#issuecomment-312415291
344
+
345
+ var FixSizeItem = styled_components_1.default.div.attrs(function (_ref2) {
346
+ var width = _ref2.width,
347
+ height = _ref2.height;
348
+ return {
349
+ style: Object.assign(Object.assign({}, width && {
350
+ width: style_1.toPx(width)
351
+ }), height && {
352
+ height: style_1.toPx(height)
353
+ })
354
+ };
355
+ }).withConfig({
356
+ displayName: "FixedSizeContainer__FixSizeItem",
357
+ componentId: "sc-1yhgpod-1"
358
+ })(["position:relative;flex-direction:column;flex:1;display:flex;background-color:", "};"], function (props) {
359
+ return colorUtils_1.isColor(props.backgroundColor) && props.backgroundColor || props.theme.defaultBackgroundColor;
360
+ });
361
+ var ItemContent = styled_components_1.default.div.withConfig({
362
+ displayName: "FixedSizeContainer__ItemContent",
363
+ componentId: "sc-1yhgpod-2"
364
+ })(["position:relative;min-height:100px;width:100%;"]);
365
+ var FixSizeItemContent = styled_components_1.default.div.withConfig({
366
+ displayName: "FixedSizeContainer__FixSizeItemContent",
367
+ componentId: "sc-1yhgpod-3"
368
+ })(["min-height:0px;flex:1;position:relative;box-sizing:border-box;"]);
369
+
370
+ var withFixedSizeContainer = function withFixedSizeContainer(Viz) {
371
+ var FixedSizeContainer = function FixedSizeContainer(props) {
372
+ var width = props.width,
373
+ height = props.height,
374
+ backgroundColor = props.backgroundColor;
375
+
376
+ if (!height) {
377
+ return React.createElement(Item, {
378
+ "data-test": "item",
379
+ width: width,
380
+ backgroundColor: backgroundColor
381
+ }, React.createElement(ItemContent, null, React.createElement(Viz, Object.assign({}, props))));
382
+ }
383
+
384
+ return React.createElement(FixSizeItem, {
385
+ "data-test": "fix-size-item",
386
+ width: width,
387
+ height: height,
388
+ backgroundColor: backgroundColor
389
+ }, React.createElement(FixSizeItemContent, null, React.createElement(SizeAwareWrapper_1.default, null, function (_ref3) {
390
+ var newWidth = _ref3.width,
391
+ newHeight = _ref3.height;
392
+ return React.createElement(Viz, Object.assign({}, props, {
393
+ width: newWidth,
394
+ height: newHeight
395
+ }));
396
+ })));
397
+ };
398
+
399
+ FixedSizeContainer.displayName = 'withFixedSizeContainer';
400
+ return FixedSizeContainer;
422
401
  };
423
402
 
424
- exports.extendStaticWrapperProps = extendStaticWrapperProps;
403
+ exports.default = withFixedSizeContainer;
425
404
 
426
405
  /***/ }),
427
406
 
@@ -439,7 +418,14 @@ module.exports = require("@splunk/visualizations-shared/schemaUtils");
439
418
 
440
419
  /***/ }),
441
420
 
442
- /***/ 156:
421
+ /***/ 16:
422
+ /***/ (function(module, exports) {
423
+
424
+ module.exports = require("@babel/runtime/helpers/createClass");
425
+
426
+ /***/ }),
427
+
428
+ /***/ 165:
443
429
  /***/ (function(module, exports, __webpack_require__) {
444
430
 
445
431
  "use strict";
@@ -469,9 +455,9 @@ Object.defineProperty(exports, "__esModule", {
469
455
  });
470
456
  exports.default = void 0;
471
457
 
472
- __exportStar(__webpack_require__(112), exports);
458
+ __exportStar(__webpack_require__(115), exports);
473
459
 
474
- var Image_1 = __webpack_require__(112);
460
+ var Image_1 = __webpack_require__(115);
475
461
 
476
462
  Object.defineProperty(exports, "default", {
477
463
  enumerable: true,
@@ -482,7 +468,7 @@ Object.defineProperty(exports, "default", {
482
468
 
483
469
  /***/ }),
484
470
 
485
- /***/ 157:
471
+ /***/ 166:
486
472
  /***/ (function(module, exports, __webpack_require__) {
487
473
 
488
474
  "use strict";
@@ -494,13 +480,13 @@ Object.defineProperty(exports, "__esModule", {
494
480
 
495
481
  var i18n_1 = __webpack_require__(3);
496
482
 
497
- var visualization_icons_1 = __webpack_require__(39);
483
+ var visualization_icons_1 = __webpack_require__(42);
498
484
 
499
485
  var VizBehavior_1 = __webpack_require__(5);
500
486
 
501
- var VizCategory_1 = __webpack_require__(24);
487
+ var VizCategory_1 = __webpack_require__(26);
502
488
 
503
- var configUtils_1 = __webpack_require__(7);
489
+ var configUtils_1 = __webpack_require__(8);
504
490
 
505
491
  var dataContract = {
506
492
  requiredDataSources: [],
@@ -572,22 +558,27 @@ var config = {
572
558
  defaultContext: defaultContext,
573
559
  optionsSchema: optionsSchema,
574
560
  editorConfig: editorConfig,
575
- supports: [VizBehavior_1.VizBehavior.DYNAMIC_OPTIONS, VizBehavior_1.VizBehavior.PLACEHOLDER],
576
- themes: themes
561
+ supports: [VizBehavior_1.VizBehavior.DYNAMIC_OPTIONS, VizBehavior_1.VizBehavior.PLACEHOLDER, VizBehavior_1.VizBehavior.EVENTS],
562
+ themes: themes,
563
+ events: {
564
+ 'image.click': {
565
+ description: 'triggered when user clicks on the image'
566
+ }
567
+ }
577
568
  };
578
569
  exports.default = configUtils_1.enhanceConfig(config);
579
570
 
580
571
  /***/ }),
581
572
 
582
- /***/ 158:
573
+ /***/ 167:
583
574
  /***/ (function(module, exports, __webpack_require__) {
584
575
 
585
576
  "use strict";
586
577
 
587
578
 
588
- var _classCallCheck = __webpack_require__(9);
579
+ var _classCallCheck = __webpack_require__(10);
589
580
 
590
- var _createClass = __webpack_require__(17);
581
+ var _createClass = __webpack_require__(16);
591
582
 
592
583
  Object.defineProperty(exports, "__esModule", {
593
584
  value: true
@@ -595,7 +586,7 @@ Object.defineProperty(exports, "__esModule", {
595
586
 
596
587
  var lodash_1 = __webpack_require__(2);
597
588
 
598
- var RemoteImage_1 = __webpack_require__(113);
589
+ var RemoteImage_1 = __webpack_require__(116);
599
590
  /**
600
591
  * Image Api
601
592
  */
@@ -643,25 +634,25 @@ exports.default = ImageApi;
643
634
  /***/ 17:
644
635
  /***/ (function(module, exports) {
645
636
 
646
- module.exports = require("@babel/runtime/helpers/createClass");
637
+ module.exports = require("@splunk/visualizations-shared/SizeAwareWrapper");
647
638
 
648
639
  /***/ }),
649
640
 
650
- /***/ 18:
641
+ /***/ 2:
651
642
  /***/ (function(module, exports) {
652
643
 
653
- module.exports = require("@splunk/visualizations-shared/SizeAwareWrapper");
644
+ module.exports = require("lodash");
654
645
 
655
646
  /***/ }),
656
647
 
657
- /***/ 2:
648
+ /***/ 22:
658
649
  /***/ (function(module, exports) {
659
650
 
660
- module.exports = require("lodash");
651
+ module.exports = require("@babel/runtime/helpers/typeof");
661
652
 
662
653
  /***/ }),
663
654
 
664
- /***/ 21:
655
+ /***/ 23:
665
656
  /***/ (function(module, exports, __webpack_require__) {
666
657
 
667
658
  "use strict";
@@ -678,7 +669,7 @@ var T = __webpack_require__(0);
678
669
 
679
670
  var lodash_1 = __webpack_require__(2);
680
671
 
681
- var DataSource_1 = __webpack_require__(31);
672
+ var DataSource_1 = __webpack_require__(33);
682
673
 
683
674
  exports.SortParamsPropTypes = T.shape({
684
675
  currentSortKey: T.string,
@@ -732,7 +723,7 @@ exports.getSortingParams = getSortingParams;
732
723
 
733
724
  /***/ }),
734
725
 
735
- /***/ 22:
726
+ /***/ 24:
736
727
  /***/ (function(module, exports, __webpack_require__) {
737
728
 
738
729
  "use strict";
@@ -797,7 +788,7 @@ exports.getPaginationParams = getPaginationParams;
797
788
 
798
789
  /***/ }),
799
790
 
800
- /***/ 23:
791
+ /***/ 25:
801
792
  /***/ (function(module, exports, __webpack_require__) {
802
793
 
803
794
  "use strict";
@@ -816,9 +807,9 @@ var lodash_1 = __webpack_require__(2);
816
807
 
817
808
  var i18n_1 = __webpack_require__(3);
818
809
 
819
- var Message_1 = __webpack_require__(8);
810
+ var Message_1 = __webpack_require__(9);
820
811
 
821
- var FixedSizeContainer_1 = __webpack_require__(11);
812
+ var FixedSizeContainer_1 = __webpack_require__(12);
822
813
  /**
823
814
  * @method shouldShowIconPlaceholder
824
815
  * @param {object} dataSources
@@ -885,7 +876,7 @@ exports.default = FixedSizeContainer_1.default(IconPlaceholder);
885
876
 
886
877
  /***/ }),
887
878
 
888
- /***/ 24:
879
+ /***/ 26:
889
880
  /***/ (function(module, exports, __webpack_require__) {
890
881
 
891
882
  "use strict";
@@ -908,11 +899,13 @@ var VizCategory;
908
899
  VizCategory["SHAPES"] = "Shapes";
909
900
  VizCategory["MISC"] = "misc";
910
901
  VizCategory["FLOW"] = "Flow";
902
+ VizCategory["CORRELATION"] = "Correlation";
903
+ VizCategory["SPATIAL"] = "Spatial";
911
904
  })(VizCategory = exports.VizCategory || (exports.VizCategory = {}));
912
905
 
913
906
  /***/ }),
914
907
 
915
- /***/ 25:
908
+ /***/ 27:
916
909
  /***/ (function(module, exports, __webpack_require__) {
917
910
 
918
911
  "use strict";
@@ -926,31 +919,33 @@ var React = __webpack_require__(1);
926
919
 
927
920
  var lodash_1 = __webpack_require__(2);
928
921
 
929
- var getSettingsFromThemedProps_1 = __webpack_require__(26);
922
+ var getSettingsFromThemedProps_1 = __webpack_require__(28);
930
923
 
931
- var Options_1 = __webpack_require__(27);
924
+ var Options_1 = __webpack_require__(29);
932
925
 
933
- var SanitizeProps_1 = __webpack_require__(28);
934
-
935
- var SplunkVisualization_1 = __webpack_require__(29);
926
+ var SanitizeProps_1 = __webpack_require__(30);
936
927
 
937
928
  var styled_components_1 = __webpack_require__(4);
938
929
 
930
+ var SplunkVisualization_1 = __webpack_require__(31);
931
+
939
932
  var VizBehavior_1 = __webpack_require__(5);
940
933
 
941
- var getSorting_1 = __webpack_require__(21);
934
+ var getSorting_1 = __webpack_require__(23);
935
+
936
+ var getPagination_1 = __webpack_require__(24);
942
937
 
943
- var getPagination_1 = __webpack_require__(22);
938
+ var useDeepMemo_1 = __webpack_require__(34);
944
939
 
945
- var useDeepMemo_1 = __webpack_require__(32);
940
+ var JSONSchemaUtils_1 = __webpack_require__(35);
946
941
 
947
- var JSONSchemaUtils_1 = __webpack_require__(33);
942
+ var MissingPropsMessage_1 = __webpack_require__(36);
948
943
 
949
- var MissingPropsMessage_1 = __webpack_require__(34);
944
+ var withEditModeCover_1 = __webpack_require__(37);
950
945
 
951
- var withEditModeCover_1 = __webpack_require__(35);
946
+ var withPlaceholder_1 = __webpack_require__(38);
952
947
 
953
- var withPlaceholder_1 = __webpack_require__(36);
948
+ var hocUtils_1 = __webpack_require__(7);
954
949
  /**
955
950
  * hoc that wraps a pure react visualization in a Dashboard visualization
956
951
  * @param {DashboardVizOpts} opts
@@ -1003,7 +998,7 @@ var withDashboardViz = function withDashboardViz(opts) {
1003
998
  try {
1004
999
  return Options_1.Options.evaluate({
1005
1000
  context: lodash_1.defaultsDeep({}, context, vizConfig.defaultContext),
1006
- options: lodash_1.defaultsDeep({}, options, defaultOptions)
1001
+ options: hocUtils_1.deepMergeWithArrayOverrides({}, options, defaultOptions)
1007
1002
  }, dataSources, themeFunc);
1008
1003
  } catch (e) {
1009
1004
  console.error("unexpected error evaluating options: + ".concat(e.message));
@@ -1014,7 +1009,7 @@ var withDashboardViz = function withDashboardViz(opts) {
1014
1009
 
1015
1010
  React.useEffect(function () {
1016
1011
  onComputedProps(evaluatedOptions);
1017
- }); //present warning message if any required props are missing
1012
+ }); // present warning message if any required props are missing
1018
1013
 
1019
1014
  var _vizConfig$requiredPr = vizConfig.requiredProps,
1020
1015
  requiredProps = _vizConfig$requiredPr === void 0 ? [] : _vizConfig$requiredPr,
@@ -1037,7 +1032,7 @@ var withDashboardViz = function withDashboardViz(opts) {
1037
1032
  if (hasEventHandlers && mode === 'view' && vizConfig.supports.indexOf(VizBehavior_1.VizBehavior.EVENTS) > -1) {
1038
1033
  var supportedEvents = vizConfig.events;
1039
1034
  Object.keys(supportedEvents).forEach(function (eventName) {
1040
- var eventCallbackPropName = lodash_1.camelCase('on.' + eventName);
1035
+ var eventCallbackPropName = lodash_1.camelCase("on.".concat(eventName));
1041
1036
  eventCallbackProps[eventCallbackPropName] = null; // todo: refactor single value and single value icon to send payload from viz
1042
1037
  // then remove these lines
1043
1038
 
@@ -1133,34 +1128,41 @@ exports.default = withDashboardViz;
1133
1128
 
1134
1129
  /***/ }),
1135
1130
 
1136
- /***/ 26:
1131
+ /***/ 28:
1137
1132
  /***/ (function(module, exports) {
1138
1133
 
1139
1134
  module.exports = require("@splunk/themes/getSettingsFromThemedProps");
1140
1135
 
1141
1136
  /***/ }),
1142
1137
 
1143
- /***/ 27:
1138
+ /***/ 29:
1144
1139
  /***/ (function(module, exports) {
1145
1140
 
1146
1141
  module.exports = require("@splunk/visualization-encoding/Options");
1147
1142
 
1148
1143
  /***/ }),
1149
1144
 
1150
- /***/ 28:
1145
+ /***/ 3:
1146
+ /***/ (function(module, exports) {
1147
+
1148
+ module.exports = require("@splunk/ui-utils/i18n");
1149
+
1150
+ /***/ }),
1151
+
1152
+ /***/ 30:
1151
1153
  /***/ (function(module, exports) {
1152
1154
 
1153
1155
  module.exports = require("@splunk/visualizations-shared/SanitizeProps");
1154
1156
 
1155
1157
  /***/ }),
1156
1158
 
1157
- /***/ 29:
1159
+ /***/ 31:
1158
1160
  /***/ (function(module, exports, __webpack_require__) {
1159
1161
 
1160
1162
  "use strict";
1161
1163
 
1162
1164
 
1163
- var _classCallCheck = __webpack_require__(9);
1165
+ var _classCallCheck = __webpack_require__(10);
1164
1166
 
1165
1167
  Object.defineProperty(exports, "__esModule", {
1166
1168
  value: true
@@ -1172,7 +1174,7 @@ var T = __webpack_require__(0);
1172
1174
 
1173
1175
  var lodash_1 = __webpack_require__(2);
1174
1176
 
1175
- var VizActionHandler_1 = __webpack_require__(30); // this is identical to the initial height and width we use in BaseVisualization in dashboard-visualizations
1177
+ var VizActionHandler_1 = __webpack_require__(32); // this is identical to the initial height and width we use in BaseVisualization in dashboard-visualizations
1176
1178
 
1177
1179
 
1178
1180
  exports.INITIAL_WIDTH = 250;
@@ -1306,22 +1308,15 @@ exports.default = SplunkVisualization;
1306
1308
 
1307
1309
  /***/ }),
1308
1310
 
1309
- /***/ 3:
1310
- /***/ (function(module, exports) {
1311
-
1312
- module.exports = require("@splunk/ui-utils/i18n");
1313
-
1314
- /***/ }),
1315
-
1316
- /***/ 30:
1311
+ /***/ 32:
1317
1312
  /***/ (function(module, exports, __webpack_require__) {
1318
1313
 
1319
1314
  "use strict";
1320
1315
 
1321
1316
 
1322
- var _classCallCheck = __webpack_require__(9);
1317
+ var _classCallCheck = __webpack_require__(10);
1323
1318
 
1324
- var _createClass = __webpack_require__(17);
1319
+ var _createClass = __webpack_require__(16);
1325
1320
 
1326
1321
  Object.defineProperty(exports, "__esModule", {
1327
1322
  value: true
@@ -1351,7 +1346,7 @@ exports.DefaultVizActionHandler = DefaultVizActionHandler;
1351
1346
 
1352
1347
  /***/ }),
1353
1348
 
1354
- /***/ 31:
1349
+ /***/ 33:
1355
1350
  /***/ (function(module, exports, __webpack_require__) {
1356
1351
 
1357
1352
  "use strict";
@@ -1365,7 +1360,7 @@ exports.validSortDirs = ['asc', 'desc', 'none'];
1365
1360
 
1366
1361
  /***/ }),
1367
1362
 
1368
- /***/ 32:
1363
+ /***/ 34:
1369
1364
  /***/ (function(module, exports, __webpack_require__) {
1370
1365
 
1371
1366
  "use strict";
@@ -1411,7 +1406,7 @@ exports.useDeepMemo = useDeepMemo;
1411
1406
 
1412
1407
  /***/ }),
1413
1408
 
1414
- /***/ 33:
1409
+ /***/ 35:
1415
1410
  /***/ (function(module, exports, __webpack_require__) {
1416
1411
 
1417
1412
  "use strict";
@@ -1445,7 +1440,7 @@ exports.pickFieldFromJSONSchema = pickFieldFromJSONSchema;
1445
1440
 
1446
1441
  /***/ }),
1447
1442
 
1448
- /***/ 34:
1443
+ /***/ 36:
1449
1444
  /***/ (function(module, exports, __webpack_require__) {
1450
1445
 
1451
1446
  "use strict";
@@ -1462,9 +1457,9 @@ var T = __webpack_require__(0);
1462
1457
 
1463
1458
  var i18n_1 = __webpack_require__(3);
1464
1459
 
1465
- var Message_1 = __webpack_require__(8);
1460
+ var Message_1 = __webpack_require__(9);
1466
1461
 
1467
- var FixedSizeContainer_1 = __webpack_require__(11);
1462
+ var FixedSizeContainer_1 = __webpack_require__(12);
1468
1463
  /**
1469
1464
  * @method isMissing
1470
1465
  * @param {any} v
@@ -1525,7 +1520,7 @@ exports.default = FixedSizeContainer_1.default(exports.MissingPropsMessage);
1525
1520
 
1526
1521
  /***/ }),
1527
1522
 
1528
- /***/ 35:
1523
+ /***/ 37:
1529
1524
  /***/ (function(module, exports, __webpack_require__) {
1530
1525
 
1531
1526
  "use strict";
@@ -1539,7 +1534,7 @@ var React = __webpack_require__(1);
1539
1534
 
1540
1535
  var styled_components_1 = __webpack_require__(4);
1541
1536
 
1542
- var hocUtils_1 = __webpack_require__(12);
1537
+ var hocUtils_1 = __webpack_require__(7);
1543
1538
 
1544
1539
  var Cover = styled_components_1.default.div.withConfig({
1545
1540
  displayName: "withEditModeCover__Cover",
@@ -1575,7 +1570,7 @@ exports.default = withEditModeCover;
1575
1570
 
1576
1571
  /***/ }),
1577
1572
 
1578
- /***/ 36:
1573
+ /***/ 38:
1579
1574
  /***/ (function(module, exports, __webpack_require__) {
1580
1575
 
1581
1576
  "use strict";
@@ -1587,13 +1582,13 @@ Object.defineProperty(exports, "__esModule", {
1587
1582
 
1588
1583
  var React = __webpack_require__(1);
1589
1584
 
1590
- var colorUtils_1 = __webpack_require__(10);
1585
+ var colorUtils_1 = __webpack_require__(11);
1591
1586
 
1592
- var IconPlaceholder_1 = __webpack_require__(23);
1587
+ var IconPlaceholder_1 = __webpack_require__(25);
1593
1588
 
1594
1589
  var VizBehavior_1 = __webpack_require__(5);
1595
1590
 
1596
- var hocUtils_1 = __webpack_require__(12);
1591
+ var hocUtils_1 = __webpack_require__(7);
1597
1592
 
1598
1593
  var withPlaceholder = function withPlaceholder(Visualization) {
1599
1594
  var useIconPlaceholder = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : IconPlaceholder_1.shouldShowIconPlaceholder;
@@ -1635,17 +1630,17 @@ exports.default = withPlaceholder;
1635
1630
 
1636
1631
  /***/ }),
1637
1632
 
1638
- /***/ 39:
1633
+ /***/ 4:
1639
1634
  /***/ (function(module, exports) {
1640
1635
 
1641
- module.exports = require("@splunk/visualization-icons");
1636
+ module.exports = require("styled-components");
1642
1637
 
1643
1638
  /***/ }),
1644
1639
 
1645
- /***/ 4:
1640
+ /***/ 42:
1646
1641
  /***/ (function(module, exports) {
1647
1642
 
1648
- module.exports = require("styled-components");
1643
+ module.exports = require("@splunk/visualization-icons");
1649
1644
 
1650
1645
  /***/ }),
1651
1646
 
@@ -1700,6 +1695,78 @@ module.exports = require("@babel/runtime/helpers/defineProperty");
1700
1695
  "use strict";
1701
1696
 
1702
1697
 
1698
+ var _typeof = __webpack_require__(22);
1699
+
1700
+ Object.defineProperty(exports, "__esModule", {
1701
+ value: true
1702
+ });
1703
+ exports.deepMergeWithArrayOverrides = exports.extendStaticWrapperProps = void 0;
1704
+
1705
+ var lodash_1 = __webpack_require__(2);
1706
+ /**
1707
+ * @method extendStaticWrapperProps
1708
+ * @param {Object} props
1709
+ * @param {DashboardVizType} props.Wrapper
1710
+ * @param {DashboardVizType} props.Visualization
1711
+ */
1712
+
1713
+
1714
+ var extendStaticWrapperProps = function extendStaticWrapperProps(_ref) {
1715
+ var Wrapper = _ref.Wrapper,
1716
+ Visualization = _ref.Visualization;
1717
+ var extendProperties = ['propTypes', 'defaultProps', 'config'];
1718
+ extendProperties.forEach(function (prop) {
1719
+ if (Visualization[prop]) {
1720
+ Wrapper[prop] = Visualization[prop];
1721
+ }
1722
+ });
1723
+ };
1724
+
1725
+ exports.extendStaticWrapperProps = extendStaticWrapperProps;
1726
+ /**
1727
+ * helper to deeply merge objects while preserving arrays in earlier source objects
1728
+ * 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
1729
+ * this prevents default arrays from appending values to user-defined arrays (this occurs if the default array is longer than the user-defined one)
1730
+ *
1731
+ * @method deepMergeWithArrayOverrides
1732
+ * @param {Object} initial - target object to merge values into
1733
+ * @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
1734
+ *
1735
+ * @returns {Object}
1736
+ */
1737
+
1738
+ var deepMergeWithArrayOverrides = function deepMergeWithArrayOverrides(initial) {
1739
+ var clone = lodash_1.cloneDeep(initial);
1740
+
1741
+ for (var _len = arguments.length, sources = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
1742
+ sources[_key - 1] = arguments[_key];
1743
+ }
1744
+
1745
+ sources.forEach(function (sourceToApply) {
1746
+ Object.keys(sourceToApply).forEach(function (sourceKey) {
1747
+ if (!clone.hasOwnProperty(sourceKey)) {
1748
+ clone[sourceKey] = lodash_1.cloneDeep(sourceToApply[sourceKey]);
1749
+ } // object merging excluding arrays
1750
+
1751
+
1752
+ if (clone[sourceKey] && _typeof(clone[sourceKey]) === 'object' && !Array.isArray(clone[sourceKey]) && _typeof(sourceToApply[sourceKey]) === 'object') {
1753
+ clone[sourceKey] = exports.deepMergeWithArrayOverrides(clone[sourceKey], sourceToApply[sourceKey]);
1754
+ }
1755
+ });
1756
+ });
1757
+ return clone;
1758
+ };
1759
+
1760
+ exports.deepMergeWithArrayOverrides = deepMergeWithArrayOverrides;
1761
+
1762
+ /***/ }),
1763
+
1764
+ /***/ 8:
1765
+ /***/ (function(module, exports, __webpack_require__) {
1766
+
1767
+ "use strict";
1768
+
1769
+
1703
1770
  var _defineProperty = __webpack_require__(6);
1704
1771
 
1705
1772
  var __rest = this && this.__rest || function (s, e) {
@@ -1886,17 +1953,10 @@ exports.generatePrecisionValues = generatePrecisionValues;
1886
1953
 
1887
1954
  /***/ }),
1888
1955
 
1889
- /***/ 8:
1890
- /***/ (function(module, exports) {
1891
-
1892
- module.exports = require("@splunk/visualizations-shared/Message");
1893
-
1894
- /***/ }),
1895
-
1896
1956
  /***/ 9:
1897
1957
  /***/ (function(module, exports) {
1898
1958
 
1899
- module.exports = require("@babel/runtime/helpers/classCallCheck");
1959
+ module.exports = require("@splunk/visualizations-shared/Message");
1900
1960
 
1901
1961
  /***/ })
1902
1962