@splunk/visualizations 25.13.1 → 26.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/Area.config.js +216 -216
  2. package/Area.config.js.map +1 -1
  3. package/Area.js +529 -561
  4. package/Area.js.map +1 -1
  5. package/Bar.config.js +213 -213
  6. package/Bar.config.js.map +1 -1
  7. package/Bar.js +394 -386
  8. package/Bar.js.map +1 -1
  9. package/Bubble.config.js +140 -140
  10. package/Bubble.config.js.map +1 -1
  11. package/Bubble.js +313 -305
  12. package/Bubble.js.map +1 -1
  13. package/ChoroplethSvg.config.js +15 -15
  14. package/ChoroplethSvg.config.js.map +1 -1
  15. package/ChoroplethSvg.js +149 -144
  16. package/ChoroplethSvg.js.map +1 -1
  17. package/Column.config.js +205 -205
  18. package/Column.config.js.map +1 -1
  19. package/Column.js +387 -379
  20. package/Column.js.map +1 -1
  21. package/Ellipse.config.js +45 -45
  22. package/Ellipse.config.js.map +1 -1
  23. package/Ellipse.js +157 -144
  24. package/Ellipse.js.map +1 -1
  25. package/Events.config.js +11 -11
  26. package/Events.config.js.map +1 -1
  27. package/Events.js +273 -261
  28. package/Events.js.map +1 -1
  29. package/FillerGauge.config.js +46 -46
  30. package/FillerGauge.config.js.map +1 -1
  31. package/FillerGauge.js +267 -262
  32. package/FillerGauge.js.map +1 -1
  33. package/Image.config.js +8 -8
  34. package/Image.config.js.map +1 -1
  35. package/Image.js +110 -104
  36. package/Image.js.map +1 -1
  37. package/Line.config.js +220 -220
  38. package/Line.config.js.map +1 -1
  39. package/Line.js +404 -396
  40. package/Line.js.map +1 -1
  41. package/LinkGraph.config.js +27 -27
  42. package/LinkGraph.config.js.map +1 -1
  43. package/LinkGraph.js +557 -548
  44. package/LinkGraph.js.map +1 -1
  45. package/Map.config.js +71 -71
  46. package/Map.config.js.map +1 -1
  47. package/Map.js +471 -465
  48. package/Map.js.map +1 -1
  49. package/Markdown.config.js +23 -23
  50. package/Markdown.config.js.map +1 -1
  51. package/Markdown.js +151 -145
  52. package/Markdown.js.map +1 -1
  53. package/MarkerGauge.config.js +84 -84
  54. package/MarkerGauge.config.js.map +1 -1
  55. package/MarkerGauge.js +295 -289
  56. package/MarkerGauge.js.map +1 -1
  57. package/ParallelCoordinates.config.js +23 -23
  58. package/ParallelCoordinates.config.js.map +1 -1
  59. package/ParallelCoordinates.js +164 -162
  60. package/ParallelCoordinates.js.map +1 -1
  61. package/Pie.config.js +24 -24
  62. package/Pie.config.js.map +1 -1
  63. package/Pie.js +233 -228
  64. package/Pie.js.map +1 -1
  65. package/Punchcard.config.js +33 -33
  66. package/Punchcard.config.js.map +1 -1
  67. package/Punchcard.js +278 -279
  68. package/Punchcard.js.map +1 -1
  69. package/Rectangle.config.js +46 -46
  70. package/Rectangle.config.js.map +1 -1
  71. package/Rectangle.js +154 -142
  72. package/Rectangle.js.map +1 -1
  73. package/Sankey.config.js +19 -19
  74. package/Sankey.config.js.map +1 -1
  75. package/Sankey.js +281 -275
  76. package/Sankey.js.map +1 -1
  77. package/Scatter.config.js +135 -135
  78. package/Scatter.config.js.map +1 -1
  79. package/Scatter.js +304 -299
  80. package/Scatter.js.map +1 -1
  81. package/SingleValue.config.js +119 -119
  82. package/SingleValue.config.js.map +1 -1
  83. package/SingleValue.js +359 -341
  84. package/SingleValue.js.map +1 -1
  85. package/SingleValueBasic.js +14 -14
  86. package/SingleValueBasic.js.map +1 -1
  87. package/SingleValueIcon.config.js +117 -117
  88. package/SingleValueIcon.config.js.map +1 -1
  89. package/SingleValueIcon.js +373 -371
  90. package/SingleValueIcon.js.map +1 -1
  91. package/SingleValueRadial.config.js +157 -115
  92. package/SingleValueRadial.config.js.map +1 -1
  93. package/SingleValueRadial.js +1114 -540
  94. package/SingleValueRadial.js.map +1 -1
  95. package/SparkLine.js +50 -20
  96. package/SparkLine.js.map +1 -1
  97. package/Table.config.js +54 -54
  98. package/Table.config.js.map +1 -1
  99. package/Table.js +302 -286
  100. package/Table.js.map +1 -1
  101. package/common/Charting.js +41 -41
  102. package/common/Charting.js.map +1 -1
  103. package/common/EventsDoc.js +15 -14
  104. package/common/EventsDoc.js.map +1 -1
  105. package/common/GaugeMajorTicks.js +2 -2
  106. package/common/GaugeMajorTicks.js.map +1 -1
  107. package/common/GaugeValueMarker.js +2 -2
  108. package/common/GaugeValueMarker.js.map +1 -1
  109. package/common/OptionsDoc.js +22 -22
  110. package/common/OptionsDoc.js.map +1 -1
  111. package/common/OverviewDoc.js +32 -27
  112. package/common/OverviewDoc.js.map +1 -1
  113. package/common/SplunkVisualization.js +4 -4
  114. package/common/SplunkVisualization.js.map +1 -1
  115. package/common/SplunkVisualizationApi.js +2 -2
  116. package/common/SplunkVisualizationApi.js.map +1 -1
  117. package/common/ThemesDoc.js +14 -14
  118. package/common/ThemesDoc.js.map +1 -1
  119. package/common/chartingUtils.js +12 -12
  120. package/common/chartingUtils.js.map +1 -1
  121. package/common/docUtils.js +4 -4
  122. package/common/docUtils.js.map +1 -1
  123. package/common/gaugeUtils.js +112 -112
  124. package/common/gaugeUtils.js.map +1 -1
  125. package/common/shapeUtils.js +21 -15
  126. package/common/shapeUtils.js.map +1 -1
  127. package/common/utils/configUtils.js +10 -9
  128. package/common/utils/configUtils.js.map +1 -1
  129. package/common/utils/dataUtils.js +2 -2
  130. package/common/utils/dataUtils.js.map +1 -1
  131. package/common/utils/hocUtils.js +2 -2
  132. package/common/utils/hocUtils.js.map +1 -1
  133. package/common/utils/layoutUtils.js +2 -2
  134. package/common/utils/layoutUtils.js.map +1 -1
  135. package/common/utils/mapUtils.js +84 -80
  136. package/common/utils/mapUtils.js.map +1 -1
  137. package/common/utils/singleValueUtils.js +2 -2
  138. package/common/utils/singleValueUtils.js.map +1 -1
  139. package/common/utils/testHelper.js +27 -9
  140. package/common/utils/testHelper.js.map +1 -1
  141. package/common/utils/trellisUtils.js +26 -26
  142. package/common/utils/trellisUtils.js.map +1 -1
  143. package/common/utils/urlUtils.js +2 -2
  144. package/common/utils/urlUtils.js.map +1 -1
  145. package/common/withDashboardViz.js +107 -104
  146. package/common/withDashboardViz.js.map +1 -1
  147. package/package.json +19 -19
@@ -87,7 +87,7 @@ module.exports =
87
87
  /******/
88
88
  /******/
89
89
  /******/ // Load entry module and return exports
90
- /******/ return __webpack_require__(__webpack_require__.s = 41);
90
+ /******/ return __webpack_require__(__webpack_require__.s = 42);
91
91
  /******/ })
92
92
  /************************************************************************/
93
93
  /******/ ([
@@ -238,7 +238,8 @@ exports.ChartingApiFunctional = ChartingApiFunctional;
238
238
  /* 38 */,
239
239
  /* 39 */,
240
240
  /* 40 */,
241
- /* 41 */
241
+ /* 41 */,
242
+ /* 42 */
242
243
  /***/ (function(module, exports, __webpack_require__) {
243
244
 
244
245
  "use strict";
@@ -251,19 +252,19 @@ exports.updateRowPayload = exports.canUpdateInPlace = exports.changedOptions = e
251
252
  /* eslint-disable react/no-unused-prop-types */
252
253
  var lodash_1 = __webpack_require__(3);
253
254
  var i18n_1 = __webpack_require__(7);
254
- var visualization_color_palettes_1 = __webpack_require__(42);
255
+ var visualization_color_palettes_1 = __webpack_require__(43);
255
256
  var react_1 = __webpack_require__(0);
256
257
  var React = __webpack_require__(0);
257
258
  var T = __webpack_require__(1);
258
- var react_event_listener_1 = __webpack_require__(43);
259
- __webpack_require__(44); // fixme, @splunk/charting should be refactor to use locale & timezone instead of i18n functions
260
- var charting_bundle_1 = __webpack_require__(45);
259
+ var react_event_listener_1 = __webpack_require__(44);
260
+ __webpack_require__(45); // fixme, @splunk/charting should be refactor to use locale & timezone instead of i18n functions
261
+ var charting_bundle_1 = __webpack_require__(46);
261
262
  var TimezoneContext_1 = __webpack_require__(20);
262
263
  var style_1 = __webpack_require__(21);
263
264
  var styled_components_1 = __webpack_require__(2);
264
265
  var Message_1 = __webpack_require__(18);
265
- var useSplunkTheme_1 = __webpack_require__(46);
266
- var themeUtils_1 = __webpack_require__(47);
266
+ var useSplunkTheme_1 = __webpack_require__(47);
267
+ var themeUtils_1 = __webpack_require__(48);
267
268
  var ChartingApi_1 = __webpack_require__(22);
268
269
  exports.NO_INPLACE_PROPS = ['chart', 'chart.orientation', 'layout.splitSeries', 'chart.style', 'legend.placement'];
269
270
  var changedOptions = function changedOptions(curOptions, nextOptions) {
@@ -274,10 +275,9 @@ var changedOptions = function changedOptions(curOptions, nextOptions) {
274
275
  }));
275
276
  };
276
277
  exports.changedOptions = changedOptions;
277
- charting_bundle_1.default.enableScaledEvents();
278
278
  function usePrevious(value) {
279
- var ref = react_1.useRef();
280
- react_1.useEffect(function () {
279
+ var ref = (0, react_1.useRef)();
280
+ (0, react_1.useEffect)(function () {
281
281
  ref.current = value;
282
282
  });
283
283
  return ref.current;
@@ -290,7 +290,7 @@ var canUpdateInPlace = function canUpdateInPlace(curOptions, nextOptions) {
290
290
  }
291
291
  return !exports.NO_INPLACE_PROPS.some(function (p) {
292
292
  return curOptions[p] !== nextOptions[p];
293
- }) && !exports.changedOptions(curOptions, nextOptions).some(function (p) {
293
+ }) && !(0, exports.changedOptions)(curOptions, nextOptions).some(function (p) {
294
294
  return p.toLowerCase().endsWith('color');
295
295
  });
296
296
  };
@@ -326,7 +326,7 @@ var ChartingContainer = styled_components_1.default.div.attrs(function (props) {
326
326
  displayName: "Charting__ChartingContainer",
327
327
  componentId: "sc-3wbgm0-0"
328
328
  })(["& .highcharts-a11y-proxy-container{pointer-events:none;}overflow:hidden;position:relative;", ";"], function (props) {
329
- return style_1.toDimension(lodash_1.pick(props, ['width', 'height']));
329
+ return (0, style_1.toDimension)((0, lodash_1.pick)(props, ['width', 'height']));
330
330
  });
331
331
  var propTypes = {
332
332
  width: T.oneOfType([T.string, T.number]),
@@ -344,12 +344,12 @@ var propTypes = {
344
344
  themeKey: T.string
345
345
  };
346
346
  var Charting = function Charting(props) {
347
- var container = react_1.useRef(null);
348
- var needsInit = react_1.useRef(true);
349
- var chart = react_1.useRef();
350
- var needsRedraw = react_1.useRef(true);
351
- var api = react_1.useRef(new ChartingApi_1.ChartingApiFunctional(chart));
352
- var timezone = react_1.useContext(TimezoneContext_1.default);
347
+ var container = (0, react_1.useRef)(null);
348
+ var needsInit = (0, react_1.useRef)(true);
349
+ var chart = (0, react_1.useRef)();
350
+ var needsRedraw = (0, react_1.useRef)(true);
351
+ var api = (0, react_1.useRef)(new ChartingApi_1.ChartingApiFunctional(chart));
352
+ var timezone = (0, react_1.useContext)(TimezoneContext_1.default);
353
353
  var computeChartingSize = function computeChartingSize() {
354
354
  if (container.current) {
355
355
  var rect = container.current.getBoundingClientRect();
@@ -360,8 +360,8 @@ var Charting = function Charting(props) {
360
360
  }
361
361
  return {};
362
362
  };
363
- var splunkTheme = useSplunkTheme_1.default();
364
- var themeKey = props.themeKey ? props.themeKey : themeUtils_1.getChartingThemeKey({
363
+ var splunkTheme = (0, useSplunkTheme_1.default)();
364
+ var themeKey = props.themeKey ? props.themeKey : (0, themeUtils_1.getChartingThemeKey)({
365
365
  splunkThemeV1: splunkTheme
366
366
  });
367
367
  var width = props.width,
@@ -378,13 +378,13 @@ var Charting = function Charting(props) {
378
378
  var prevOptions = usePrevious(options);
379
379
  var prevTimezone = usePrevious(timezone);
380
380
  var handleClick = function handleClick(chartEvent, type) {
381
- var payload = lodash_1.pick(chartEvent, 'name2', 'value2', '_span', 'modifierKey');
381
+ var payload = (0, lodash_1.pick)(chartEvent, 'name2', 'value2', '_span', 'modifierKey');
382
382
  payload.name = payload.name2;
383
383
  delete payload.name2;
384
384
  if (type === VizChartEventType.POINT_CLICK) {
385
385
  payload.value = payload.value2;
386
386
  delete payload.value2;
387
- payload = exports.updateRowPayload(chartEvent.rowContext, payload);
387
+ payload = (0, exports.updateRowPayload)(chartEvent.rowContext, payload);
388
388
  }
389
389
  onClick({
390
390
  type: type,
@@ -406,7 +406,7 @@ var Charting = function Charting(props) {
406
406
  onSelect({
407
407
  type: 'range.select',
408
408
  originalEvent: chartEvent,
409
- payload: lodash_1.pick(chartEvent, 'startXIndex', 'endXIndex', 'startXValue', 'endXValue')
409
+ payload: (0, lodash_1.pick)(chartEvent, 'startXIndex', 'endXIndex', 'startXValue', 'endXValue')
410
410
  });
411
411
  return;
412
412
  }
@@ -414,16 +414,16 @@ var Charting = function Charting(props) {
414
414
  onEventTrigger({
415
415
  type: 'range.select',
416
416
  originalEvent: chartEvent,
417
- payload: lodash_1.pick(chartEvent, 'startXIndex', 'endXIndex', 'startXValue', 'endXValue')
417
+ payload: (0, lodash_1.pick)(chartEvent, 'startXIndex', 'endXIndex', 'startXValue', 'endXValue')
418
418
  });
419
419
  };
420
420
  var handlePointMouseOut = function handlePointMouseOut(chartEvent, type) {
421
- var payload = lodash_1.pick(chartEvent, 'name2', 'value2', '_span', 'modifierKey', 'tooltipContext');
421
+ var payload = (0, lodash_1.pick)(chartEvent, 'name2', 'value2', '_span', 'modifierKey', 'tooltipContext');
422
422
  payload.name = payload.name2;
423
423
  delete payload.name2;
424
424
  payload.value = payload.value2;
425
425
  delete payload.value2;
426
- payload = exports.updateRowPayload(chartEvent.rowContext, payload);
426
+ payload = (0, exports.updateRowPayload)(chartEvent.rowContext, payload);
427
427
  onPointMouseOut({
428
428
  type: type,
429
429
  originalEvent: chartEvent,
@@ -431,12 +431,12 @@ var Charting = function Charting(props) {
431
431
  });
432
432
  };
433
433
  var handlePointMouseOver = function handlePointMouseOver(chartEvent, type) {
434
- var payload = lodash_1.pick(chartEvent, 'name2', 'value2', '_span', 'modifierKey', 'tooltipContext');
434
+ var payload = (0, lodash_1.pick)(chartEvent, 'name2', 'value2', '_span', 'modifierKey', 'tooltipContext');
435
435
  payload.name = payload.name2;
436
436
  delete payload.name2;
437
437
  payload.value = payload.value2;
438
438
  delete payload.value2;
439
- payload = exports.updateRowPayload(chartEvent.rowContext, payload);
439
+ payload = (0, exports.updateRowPayload)(chartEvent.rowContext, payload);
440
440
  onPointMouseOver({
441
441
  type: type,
442
442
  originalEvent: chartEvent,
@@ -518,14 +518,14 @@ var Charting = function Charting(props) {
518
518
  window.console.error('Caught error rendering chart:', e);
519
519
  }
520
520
  };
521
- var debouncedDrawChart = lodash_1.debounce(drawChart, 5);
521
+ var debouncedDrawChart = (0, lodash_1.debounce)(drawChart, 5);
522
522
  var onContainerMount = function onContainerMount(chartingContainer) {
523
523
  container.current = chartingContainer;
524
524
  debouncedDrawChart();
525
525
  };
526
526
  var prevTheme = usePrevious(themeKey);
527
527
  var prevOnClick = usePrevious(onClick);
528
- react_1.useEffect(function () {
528
+ (0, react_1.useEffect)(function () {
529
529
  debouncedDrawChart();
530
530
  props.visualizationApiRef(api.current);
531
531
  return function () {
@@ -533,10 +533,10 @@ var Charting = function Charting(props) {
533
533
  destroyChart();
534
534
  };
535
535
  }, []);
536
- react_1.useEffect(function () {
536
+ (0, react_1.useEffect)(function () {
537
537
  // TODO: figure out why re-init is needed for functional components (i.e. PlatformViz) when changing theme
538
538
  // seems like redraw doesn't suffice to update the background colors
539
- if (!chart.current || !exports.canUpdateInPlace(prevOptions, options) ||
539
+ if (!chart.current || !(0, exports.canUpdateInPlace)(prevOptions, options) ||
540
540
  // timezone is a simple object so this comparison should be fast
541
541
  JSON.stringify(prevTimezone) !== JSON.stringify(timezone) || !props.themeKey && prevTheme !== themeKey || prevOnClick !== onClick) {
542
542
  needsInit.current = true;
@@ -580,13 +580,13 @@ var withEmptyChartMessage = function withEmptyChartMessage(Chart) {
580
580
  var chartData = props.chartData;
581
581
  if (!chartData) {
582
582
  return React.createElement(Message_1.default, {
583
- message: i18n_1._('No DataSource'),
583
+ message: (0, i18n_1._)('No DataSource'),
584
584
  level: "warning"
585
585
  });
586
586
  }
587
587
  if (chartData && !Object.keys(chartData).length) {
588
588
  return React.createElement(Message_1.default, {
589
- message: i18n_1._('No Result'),
589
+ message: (0, i18n_1._)('No Result'),
590
590
  level: "info"
591
591
  });
592
592
  }
@@ -601,37 +601,37 @@ var withEmptyChartMessage = function withEmptyChartMessage(Chart) {
601
601
  exports.default = withEmptyChartMessage(Charting);
602
602
 
603
603
  /***/ }),
604
- /* 42 */
604
+ /* 43 */
605
605
  /***/ (function(module, exports) {
606
606
 
607
607
  module.exports = require("@splunk/visualization-color-palettes");
608
608
 
609
609
  /***/ }),
610
- /* 43 */
610
+ /* 44 */
611
611
  /***/ (function(module, exports) {
612
612
 
613
613
  module.exports = require("react-event-listener");
614
614
 
615
615
  /***/ }),
616
- /* 44 */
616
+ /* 45 */
617
617
  /***/ (function(module, exports) {
618
618
 
619
619
  module.exports = require("@splunk/visualizations-shared/i18n");
620
620
 
621
621
  /***/ }),
622
- /* 45 */
622
+ /* 46 */
623
623
  /***/ (function(module, exports) {
624
624
 
625
625
  module.exports = require("@splunk/charting-bundle");
626
626
 
627
627
  /***/ }),
628
- /* 46 */
628
+ /* 47 */
629
629
  /***/ (function(module, exports) {
630
630
 
631
631
  module.exports = require("@splunk/themes/useSplunkTheme");
632
632
 
633
633
  /***/ }),
634
- /* 47 */
634
+ /* 48 */
635
635
  /***/ (function(module, exports) {
636
636
 
637
637
  module.exports = require("@splunk/visualizations-shared/themeUtils");
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"react\"","webpack:///external \"prop-types\"","webpack:///external \"styled-components\"","webpack:///external \"lodash\"","webpack:///external \"@babel/runtime/helpers/classCallCheck\"","webpack:///external \"@babel/runtime/helpers/createClass\"","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"@splunk/visualizations-shared/Message\"","webpack:///external \"@splunk/visualization-context/TimezoneContext\"","webpack:///external \"@splunk/visualizations-shared/style\"","webpack:///./src/common/ChartingApi.ts","webpack:///./src/common/Charting.tsx","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///external \"react-event-listener\"","webpack:///external \"@splunk/visualizations-shared/i18n\"","webpack:///external \"@splunk/charting-bundle\"","webpack:///external \"@splunk/themes/useSplunkTheme\"","webpack:///external \"@splunk/visualizations-shared/themeUtils\""],"names":["ChartingApiFunctional","chartRef","_classCallCheck","_createClass","key","value","highlight","_ref","arguments","length","undefined","xValue","seriesName","getChart","unHighlight","_a","current","exports","lodash_1","require","i18n_1","visualization_color_palettes_1","react_1","React","T","react_event_listener_1","charting_bundle_1","TimezoneContext_1","style_1","styled_components_1","Message_1","useSplunkTheme_1","themeUtils_1","ChartingApi_1","NO_INPLACE_PROPS","changedOptions","curOptions","nextOptions","Object","keys","filter","concat","default","enableScaledEvents","usePrevious","ref","useRef","useEffect","canUpdateInPlace","some","p","toLowerCase","endsWith","updateRowPayload","chartEventRowContext","payload","forEach","VizChartEventType","ChartingContainer","div","attrs","props","width","height","withConfig","displayName","componentId","toDimension","pick","propTypes","oneOfType","string","number","options","object","chartData","onEventTrigger","func","onClick","onSelect","onPointMouseOver","onPointMouseOut","style","colorPalette","array","visualizationApiRef","themeKey","Charting","container","needsInit","chart","needsRedraw","api","timezone","useContext","computeChartingSize","rect","getBoundingClientRect","splunkTheme","getChartingThemeKey","splunkThemeV1","prevOptions","prevTimezone","handleClick","chartEvent","type","name","name2","POINT_CLICK","value2","rowContext","originalEvent","destroyChart","destroy","handleSelect","handlePointMouseOut","handlePointMouseOver","drawChart","updatedOptions","assign","shouldColorizeTooltipData","computedChartSize","computedWidth","computedHeight","serializedTimezone","ianaTimezone","utcOffset","setTheme","setColorPalette","createChart","drilldown","on","e","POINT_MOUSE_OVER","POINT_MOUSE_OUT","LEGEND_CLICK","prepareAndDraw","Math","round","resize","window","console","error","debouncedDrawChart","debounce","onContainerMount","chartingContainer","prevTheme","prevOnClick","JSON","stringify","toJSON","annotations","createElement","target","onResize","defaultProps","noop","VIZ_CATEGORICAL","withEmptyChartMessage","Chart","Wrapper","message","_","level"],"mappings":"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","file":"Charting.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 = 41);\n","module.exports = require(\"react\");","module.exports = require(\"prop-types\");","module.exports = require(\"styled-components\");","module.exports = require(\"lodash\");","module.exports = require(\"@babel/runtime/helpers/classCallCheck\");","module.exports = require(\"@babel/runtime/helpers/createClass\");","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"@splunk/visualizations-shared/Message\");","module.exports = require(\"@splunk/visualization-context/TimezoneContext\");","module.exports = require(\"@splunk/visualizations-shared/style\");","import jsCharting from '@splunk/charting-bundle';\n\ninterface Point {\n /**\n * Valid xValue of the chart\n *\n * @type {string|number}\n * @memberof Point\n */\n xValue?: string | number;\n\n /**\n * Valid seriesName for a chart\n *\n * @type {string}\n * @memberof Point\n */\n seriesName?: string;\n}\n\nexport class ChartingApiFunctional {\n // eslint-disable-next-line no-useless-constructor\n constructor(private chartRef: any) {}\n\n /**\n * Allows users to programmatically highlight a point on the chart\n *\n * @memberof ChartingApiFunctional\n */\n highlight({ xValue, seriesName }: Point = { xValue: '', seriesName: '' }): void {\n this.getChart().highlight(xValue, seriesName);\n }\n\n /**\n * Allows users to programmatically unhighlight all points on the chart\n *\n * @memberof ChartingApiFunctional\n */\n unHighlight(): void {\n this.getChart().unHighlight();\n }\n\n // returns chart object\n getChart(): jsCharting {\n return this.chartRef?.current;\n }\n}\n","/* eslint-disable react/no-unused-prop-types */\nimport { pick, debounce, noop } from 'lodash';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { useEffect, useRef, useContext } from 'react';\nimport * as React from 'react';\nimport * as T from 'prop-types';\nimport EventListener from 'react-event-listener';\nimport '@splunk/visualizations-shared/i18n'; // fixme, @splunk/charting should be refactor to use locale & timezone instead of i18n functions\nimport jsCharting from '@splunk/charting-bundle';\nimport TimezoneContext, { TimezoneContextInterface } from '@splunk/visualization-context/TimezoneContext';\nimport { toDimension } from '@splunk/visualizations-shared/style';\nimport styled from 'styled-components';\nimport Message from '@splunk/visualizations-shared/Message';\nimport useSplunkTheme from '@splunk/themes/useSplunkTheme';\nimport { getChartingThemeKey } from '@splunk/visualizations-shared/themeUtils';\nimport { ChartingApiFunctional } from './ChartingApi';\n\nexport const NO_INPLACE_PROPS = [\n 'chart',\n 'chart.orientation',\n 'layout.splitSeries',\n 'chart.style',\n 'legend.placement',\n];\n\nexport const changedOptions = (curOptions: Record<string, any>, nextOptions: Record<string, any>): string[] =>\n Object.keys(curOptions)\n .filter(key => !(key in nextOptions))\n .concat(\n Object.keys(nextOptions).filter(\n key => !(key in curOptions) || curOptions[key] !== nextOptions[key]\n )\n );\n\njsCharting.enableScaledEvents();\n\nfunction usePrevious(value): Record<string, any> {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n}\n\nexport const canUpdateInPlace = (\n curOptions: Record<string, any>,\n nextOptions: Record<string, any>\n): boolean => {\n // if either of the options are undefined\n // it cannot update in place.\n if (!curOptions || !nextOptions) {\n return false;\n }\n return (\n !NO_INPLACE_PROPS.some(p => curOptions[p] !== nextOptions[p]) &&\n !changedOptions(curOptions, nextOptions).some(p => p.toLowerCase().endsWith('color'))\n );\n};\n\n// create 'row' payloads from 'rowContext' in the flattened format:\n// row.<fieldname>.value\nexport const updateRowPayload = (\n chartEventRowContext: Record<string, any>,\n payload: Record<string, any>\n): Record<string, any> => {\n Object.keys(chartEventRowContext || {}).forEach(key => {\n // eslint-disable-next-line no-param-reassign\n payload[`${key}.value`] = chartEventRowContext[key];\n });\n\n return payload;\n};\n\nexport interface ContainerProps {\n width: string | number;\n height: string | number;\n}\n\ntype ChartEventType = 'pointClick' | 'pointMouseOver' | 'pointMouseOut' | 'chartRangeSelect' | 'legendClick';\nenum VizChartEventType {\n POINT_CLICK = 'point.click',\n POINT_MOUSE_OUT = 'point.mouseout',\n POINT_MOUSE_OVER = 'point.mouseover',\n LEGEND_CLICK = 'legend.click',\n}\n\ninterface ChartEvent<T extends ChartEventType> extends Event {\n name: string;\n name2: string;\n value?: unknown;\n value2?: unknown;\n rowContext?: Record<string, any>;\n span?: number;\n type: T;\n}\n\n// @TODO(pwied): remove after HC upgrade to 8+\n// .highcharts-a11y-proxy-container rule addresses a HighCharts < 8 bug\n// caused by the accessibility plugin\n// https://github.com/highcharts/highcharts/issues/12883\nconst ChartingContainer = styled.div.attrs((props: ContainerProps) => ({\n 'data-test': 'charting-container',\n width: props.width,\n height: props.height,\n}))`\n & .highcharts-a11y-proxy-container {\n pointer-events: none;\n }\n overflow: hidden;\n position: relative;\n ${props => toDimension(pick(props, ['width', 'height']))};\n`;\n\nexport interface ChartingProps {\n // width in pixel or string, defaults to 100%\n width: string | number;\n // height in pixel or string\n height: string | number;\n // visualization formatting options\n options?: Record<string, any>;\n // charting dataset from jsCharting.extractChartReadyData\n chartData: Record<string, any>;\n // callbacks to trigger event\n onEventTrigger?: (...args: any[]) => void;\n onSelect?: (...args: any[]) => void;\n onClick?: (...args: any[]) => void;\n onPointMouseOver?: (...args: any[]) => void;\n onPointMouseOut?: (...args: any[]) => void;\n // Custom style on visualization\n style?: Record<string, any>;\n colorPalette?: Array<string>;\n visualizationApiRef?: (...args: any[]) => void;\n themeKey?: string;\n}\n\nconst propTypes: Record<keyof ChartingProps, T.Validator<any>> = {\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n options: T.object,\n chartData: T.object,\n onEventTrigger: T.func,\n onClick: T.func,\n onSelect: T.func,\n onPointMouseOver: T.func,\n onPointMouseOut: T.func,\n style: T.object,\n colorPalette: T.array,\n visualizationApiRef: T.func,\n themeKey: T.string,\n};\n\nconst Charting = (props: ChartingProps): React.ReactElement => {\n const container = useRef<HTMLDivElement>(null);\n const needsInit = useRef<boolean>(true);\n const chart = useRef<jsCharting>();\n const needsRedraw = useRef<boolean>(true);\n const api = useRef(new ChartingApiFunctional(chart));\n const timezone = useContext<TimezoneContextInterface>(TimezoneContext);\n\n const computeChartingSize = () => {\n if (container.current) {\n const rect = container.current.getBoundingClientRect();\n return {\n height: rect.height,\n width: rect.width,\n };\n }\n return {};\n };\n const splunkTheme = useSplunkTheme();\n const themeKey = props.themeKey ? props.themeKey : getChartingThemeKey({ splunkThemeV1: splunkTheme });\n const {\n width,\n height,\n style,\n chartData,\n options,\n colorPalette,\n onClick,\n onSelect,\n onPointMouseOut,\n onPointMouseOver,\n onEventTrigger,\n } = props;\n const prevOptions = usePrevious(options);\n const prevTimezone = usePrevious(timezone);\n\n const handleClick = (\n chartEvent: ChartEvent<'pointClick' | 'legendClick'>,\n type: VizChartEventType\n ): void => {\n let payload: Partial<ChartEvent<'pointClick' | 'legendClick'>> = pick(\n chartEvent,\n 'name2',\n 'value2',\n '_span',\n 'modifierKey'\n );\n\n payload.name = payload.name2;\n delete payload.name2;\n\n if (type === VizChartEventType.POINT_CLICK) {\n payload.value = payload.value2;\n delete payload.value2;\n\n payload = updateRowPayload(chartEvent.rowContext, payload);\n }\n\n onClick({\n type,\n originalEvent: chartEvent,\n payload,\n });\n };\n\n const destroyChart = (): void => {\n if (chart.current) {\n chart.current.destroy();\n chart.current = null;\n }\n needsRedraw.current = true;\n needsInit.current = true;\n };\n\n const handleSelect = (chartEvent: ChartEvent<'chartRangeSelect'>): void => {\n // todo: need change this after breaking all visualizations\n if (onSelect && typeof onSelect === 'function') {\n onSelect({\n type: 'range.select',\n originalEvent: chartEvent,\n payload: pick(chartEvent, 'startXIndex', 'endXIndex', 'startXValue', 'endXValue'),\n });\n\n return;\n }\n\n // the chartEvent here is a jQuery event\n onEventTrigger({\n type: 'range.select',\n originalEvent: chartEvent,\n payload: pick(chartEvent, 'startXIndex', 'endXIndex', 'startXValue', 'endXValue'),\n });\n };\n\n const handlePointMouseOut = (chartEvent: ChartEvent<'pointMouseOut'>, type: VizChartEventType): void => {\n let payload: Partial<ChartEvent<'pointMouseOut'>> = pick(\n chartEvent,\n 'name2',\n 'value2',\n '_span',\n 'modifierKey',\n 'tooltipContext'\n );\n\n payload.name = payload.name2;\n delete payload.name2;\n payload.value = payload.value2;\n delete payload.value2;\n\n payload = updateRowPayload(chartEvent.rowContext, payload);\n\n onPointMouseOut({\n type,\n originalEvent: chartEvent,\n payload,\n });\n };\n\n const handlePointMouseOver = (\n chartEvent: ChartEvent<'pointMouseOver'>,\n type: VizChartEventType\n ): void => {\n let payload: Partial<ChartEvent<'pointMouseOver'>> = pick(\n chartEvent,\n 'name2',\n 'value2',\n '_span',\n 'modifierKey',\n 'tooltipContext'\n );\n\n payload.name = payload.name2;\n delete payload.name2;\n payload.value = payload.value2;\n delete payload.value2;\n\n payload = updateRowPayload(chartEvent.rowContext, payload);\n\n onPointMouseOver({\n type,\n originalEvent: chartEvent,\n payload,\n });\n };\n\n const drawChart = (): void => {\n const updatedOptions = { ...options, shouldColorizeTooltipData: false };\n const computedChartSize = computeChartingSize();\n const computedWidth = computedChartSize.width;\n const computedHeight = computedChartSize.height;\n const serializedTimezone = timezone?.serializedTimezone;\n const ianaTimezone = timezone?.ianaTimezone;\n const utcOffset = timezone?.utcOffset;\n if (!computedWidth || !computedHeight) {\n return;\n }\n if (!chartData || !Object.keys(chartData).length) {\n return;\n }\n\n // splunk-charting layers configuration option updates.\n // when an option is removed it needs to be set to an empty string\n // to override the previous configuration\n if (prevOptions) {\n Object.keys(prevOptions).forEach(key => {\n if (updatedOptions[key] === undefined) {\n updatedOptions[key] = '';\n }\n });\n }\n\n try {\n if (needsInit.current) {\n destroyChart();\n jsCharting.setTheme(themeKey);\n if (colorPalette.length > 0) {\n jsCharting.setColorPalette(colorPalette);\n }\n chart.current = jsCharting.createChart(container.current, {\n ...updatedOptions,\n drilldown: 'all',\n ...(typeof serializedTimezone === 'string' && {\n 'time.serializedTz': serializedTimezone,\n }),\n ...(typeof ianaTimezone === 'string' && {\n 'time.ianaTimezone': ianaTimezone,\n }),\n ...(typeof utcOffset === 'number' && {\n 'time.timezoneOffset': utcOffset,\n }),\n });\n // bind event handlers\n chart.current.on('pointClick', e => {\n handleClick(e, VizChartEventType.POINT_CLICK);\n });\n chart.current.on('pointMouseOver', e => {\n handlePointMouseOver(e, VizChartEventType.POINT_MOUSE_OVER);\n });\n chart.current.on('pointMouseOut', e => {\n handlePointMouseOut(e, VizChartEventType.POINT_MOUSE_OUT);\n });\n chart.current.on('legendClick', e => {\n handleClick(e, VizChartEventType.LEGEND_CLICK);\n });\n chart.current.on('chartRangeSelect', handleSelect);\n }\n if (needsRedraw.current) {\n jsCharting.setTheme(themeKey);\n if (colorPalette.length > 0) {\n jsCharting.setColorPalette(colorPalette);\n }\n chart.current.prepareAndDraw(chartData, updatedOptions, () => {});\n }\n if (chart.current) {\n if (\n Math.round(chart.current.height) !== Math.round(computedHeight) ||\n Math.round(chart.current.width) !== Math.round(computedWidth)\n ) {\n chart.current.resize(computedWidth, computedHeight);\n }\n }\n needsInit.current = false;\n needsRedraw.current = false;\n } catch (e) {\n window.console.error('Caught error rendering chart:', e);\n }\n };\n\n const debouncedDrawChart = debounce(drawChart, 5);\n\n const onContainerMount = chartingContainer => {\n container.current = chartingContainer;\n debouncedDrawChart();\n };\n\n const prevTheme = usePrevious(themeKey);\n const prevOnClick = usePrevious(onClick);\n\n useEffect(() => {\n debouncedDrawChart();\n props.visualizationApiRef(api.current);\n return () => {\n props.visualizationApiRef(null);\n destroyChart();\n };\n }, []);\n\n useEffect(() => {\n // TODO: figure out why re-init is needed for functional components (i.e. PlatformViz) when changing theme\n // seems like redraw doesn't suffice to update the background colors\n if (\n !chart.current ||\n !canUpdateInPlace(prevOptions, options) ||\n // timezone is a simple object so this comparison should be fast\n JSON.stringify(prevTimezone) !== JSON.stringify(timezone) ||\n (!props.themeKey && prevTheme !== themeKey) ||\n prevOnClick !== onClick\n ) {\n needsInit.current = true;\n }\n needsRedraw.current = true;\n // need to immediately call drawChart upon an option or chartData change\n // otherwise a noop would occur if the onContainerMount drawChart is re-invoked when dimensions change\n drawChart();\n }, [\n JSON.stringify(options),\n JSON.stringify(chartData.toJSON()),\n JSON.stringify(chartData.annotations),\n timezone?.ianaTimezone,\n timezone?.utcOffset,\n timezone?.serializedTimezone,\n themeKey,\n onClick,\n ]);\n return (\n <ChartingContainer style={style} ref={onContainerMount} width={width} height={height}>\n <EventListener target={window} onResize={debouncedDrawChart} />\n </ChartingContainer>\n );\n};\n\nconst defaultProps: Record<keyof ChartingProps, any> = {\n width: '100%',\n height: 250,\n options: {},\n style: {},\n // todo: need remove it\n onEventTrigger: noop,\n onClick: noop,\n onSelect: noop,\n onPointMouseOver: noop,\n onPointMouseOut: noop,\n colorPalette: VIZ_CATEGORICAL,\n visualizationApiRef: noop,\n chartData: null,\n themeKey: null,\n};\n\nCharting.propTypes = propTypes;\nCharting.defaultProps = defaultProps;\n\n// allow for early return in case of empty chartData while still following hook rules\nconst withEmptyChartMessage = (Chart): React.FunctionComponent<ChartingProps> => {\n const Wrapper = (props: ChartingProps): React.ReactElement => {\n const { chartData } = props;\n\n if (!chartData) {\n return <Message message={_('No DataSource')} level=\"warning\" />;\n }\n\n if (chartData && !Object.keys(chartData).length) {\n return <Message message={_('No Result')} level=\"info\" />;\n }\n\n return <Chart {...props} />;\n };\n\n Wrapper.displayName = 'ChartingWrapper';\n Wrapper.propTypes = propTypes;\n Wrapper.defaultProps = defaultProps;\n return Wrapper;\n};\n\n// export default Charting;\nexport default withEmptyChartMessage(Charting as any);\n","module.exports = require(\"@splunk/visualization-color-palettes\");","module.exports = require(\"react-event-listener\");","module.exports = require(\"@splunk/visualizations-shared/i18n\");","module.exports = require(\"@splunk/charting-bundle\");","module.exports = require(\"@splunk/themes/useSplunkTheme\");","module.exports = require(\"@splunk/visualizations-shared/themeUtils\");"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"react\"","webpack:///external \"prop-types\"","webpack:///external \"styled-components\"","webpack:///external \"lodash\"","webpack:///external \"@babel/runtime/helpers/classCallCheck\"","webpack:///external \"@babel/runtime/helpers/createClass\"","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"@splunk/visualizations-shared/Message\"","webpack:///external \"@splunk/visualization-context/TimezoneContext\"","webpack:///external \"@splunk/visualizations-shared/style\"","webpack:///./src/common/ChartingApi.ts","webpack:///./src/common/Charting.tsx","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///external \"react-event-listener\"","webpack:///external \"@splunk/visualizations-shared/i18n\"","webpack:///external \"@splunk/charting-bundle\"","webpack:///external \"@splunk/themes/useSplunkTheme\"","webpack:///external \"@splunk/visualizations-shared/themeUtils\""],"names":["ChartingApiFunctional","chartRef","_classCallCheck","_createClass","key","value","highlight","_ref","arguments","length","undefined","xValue","seriesName","getChart","unHighlight","_a","current","exports","lodash_1","require","i18n_1","visualization_color_palettes_1","react_1","React","T","react_event_listener_1","charting_bundle_1","TimezoneContext_1","style_1","styled_components_1","Message_1","useSplunkTheme_1","themeUtils_1","ChartingApi_1","NO_INPLACE_PROPS","changedOptions","curOptions","nextOptions","Object","keys","filter","concat","usePrevious","ref","useRef","useEffect","canUpdateInPlace","some","p","toLowerCase","endsWith","updateRowPayload","chartEventRowContext","payload","forEach","VizChartEventType","ChartingContainer","default","div","attrs","props","width","height","withConfig","displayName","componentId","toDimension","pick","propTypes","oneOfType","string","number","options","object","chartData","onEventTrigger","func","onClick","onSelect","onPointMouseOver","onPointMouseOut","style","colorPalette","array","visualizationApiRef","themeKey","Charting","container","needsInit","chart","needsRedraw","api","timezone","useContext","computeChartingSize","rect","getBoundingClientRect","splunkTheme","getChartingThemeKey","splunkThemeV1","prevOptions","prevTimezone","handleClick","chartEvent","type","name","name2","POINT_CLICK","value2","rowContext","originalEvent","destroyChart","destroy","handleSelect","handlePointMouseOut","handlePointMouseOver","drawChart","updatedOptions","assign","shouldColorizeTooltipData","computedChartSize","computedWidth","computedHeight","serializedTimezone","ianaTimezone","utcOffset","setTheme","setColorPalette","createChart","drilldown","on","e","POINT_MOUSE_OVER","POINT_MOUSE_OUT","LEGEND_CLICK","prepareAndDraw","Math","round","resize","window","console","error","debouncedDrawChart","debounce","onContainerMount","chartingContainer","prevTheme","prevOnClick","JSON","stringify","toJSON","annotations","createElement","target","onResize","defaultProps","noop","VIZ_CATEGORICAL","withEmptyChartMessage","Chart","Wrapper","message","_","level"],"mappings":"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","file":"Charting.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 = 42);\n","module.exports = require(\"react\");","module.exports = require(\"prop-types\");","module.exports = require(\"styled-components\");","module.exports = require(\"lodash\");","module.exports = require(\"@babel/runtime/helpers/classCallCheck\");","module.exports = require(\"@babel/runtime/helpers/createClass\");","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"@splunk/visualizations-shared/Message\");","module.exports = require(\"@splunk/visualization-context/TimezoneContext\");","module.exports = require(\"@splunk/visualizations-shared/style\");","import jsCharting from '@splunk/charting-bundle';\n\ninterface Point {\n /**\n * Valid xValue of the chart\n *\n * @type {string|number}\n * @memberof Point\n */\n xValue?: string | number;\n\n /**\n * Valid seriesName for a chart\n *\n * @type {string}\n * @memberof Point\n */\n seriesName?: string;\n}\n\nexport class ChartingApiFunctional {\n // eslint-disable-next-line no-useless-constructor\n constructor(private chartRef: any) {}\n\n /**\n * Allows users to programmatically highlight a point on the chart\n *\n * @memberof ChartingApiFunctional\n */\n highlight({ xValue, seriesName }: Point = { xValue: '', seriesName: '' }): void {\n this.getChart().highlight(xValue, seriesName);\n }\n\n /**\n * Allows users to programmatically unhighlight all points on the chart\n *\n * @memberof ChartingApiFunctional\n */\n unHighlight(): void {\n this.getChart().unHighlight();\n }\n\n // returns chart object\n getChart(): jsCharting {\n return this.chartRef?.current;\n }\n}\n","/* eslint-disable react/no-unused-prop-types */\nimport { pick, debounce, noop } from 'lodash';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { useEffect, useRef, useContext } from 'react';\nimport * as React from 'react';\nimport * as T from 'prop-types';\nimport EventListener from 'react-event-listener';\nimport '@splunk/visualizations-shared/i18n'; // fixme, @splunk/charting should be refactor to use locale & timezone instead of i18n functions\nimport jsCharting from '@splunk/charting-bundle';\nimport TimezoneContext, { TimezoneContextInterface } from '@splunk/visualization-context/TimezoneContext';\nimport { toDimension } from '@splunk/visualizations-shared/style';\nimport styled from 'styled-components';\nimport Message from '@splunk/visualizations-shared/Message';\nimport useSplunkTheme from '@splunk/themes/useSplunkTheme';\nimport { getChartingThemeKey } from '@splunk/visualizations-shared/themeUtils';\nimport { ChartingApiFunctional } from './ChartingApi';\n\nexport const NO_INPLACE_PROPS = [\n 'chart',\n 'chart.orientation',\n 'layout.splitSeries',\n 'chart.style',\n 'legend.placement',\n];\n\nexport const changedOptions = (curOptions: Record<string, any>, nextOptions: Record<string, any>): string[] =>\n Object.keys(curOptions)\n .filter(key => !(key in nextOptions))\n .concat(\n Object.keys(nextOptions).filter(\n key => !(key in curOptions) || curOptions[key] !== nextOptions[key]\n )\n );\n\nfunction usePrevious(value): Record<string, any> {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n}\n\nexport const canUpdateInPlace = (\n curOptions: Record<string, any>,\n nextOptions: Record<string, any>\n): boolean => {\n // if either of the options are undefined\n // it cannot update in place.\n if (!curOptions || !nextOptions) {\n return false;\n }\n return (\n !NO_INPLACE_PROPS.some(p => curOptions[p] !== nextOptions[p]) &&\n !changedOptions(curOptions, nextOptions).some(p => p.toLowerCase().endsWith('color'))\n );\n};\n\n// create 'row' payloads from 'rowContext' in the flattened format:\n// row.<fieldname>.value\nexport const updateRowPayload = (\n chartEventRowContext: Record<string, any>,\n payload: Record<string, any>\n): Record<string, any> => {\n Object.keys(chartEventRowContext || {}).forEach(key => {\n // eslint-disable-next-line no-param-reassign\n payload[`${key}.value`] = chartEventRowContext[key];\n });\n\n return payload;\n};\n\nexport interface ContainerProps {\n width: string | number;\n height: string | number;\n}\n\ntype ChartEventType = 'pointClick' | 'pointMouseOver' | 'pointMouseOut' | 'chartRangeSelect' | 'legendClick';\nenum VizChartEventType {\n POINT_CLICK = 'point.click',\n POINT_MOUSE_OUT = 'point.mouseout',\n POINT_MOUSE_OVER = 'point.mouseover',\n LEGEND_CLICK = 'legend.click',\n}\n\ninterface ChartEvent<T extends ChartEventType> extends Event {\n name: string;\n name2: string;\n value?: unknown;\n value2?: unknown;\n rowContext?: Record<string, any>;\n span?: number;\n type: T;\n}\n\n// @TODO(pwied): remove after HC upgrade to 8+\n// .highcharts-a11y-proxy-container rule addresses a HighCharts < 8 bug\n// caused by the accessibility plugin\n// https://github.com/highcharts/highcharts/issues/12883\nconst ChartingContainer = styled.div.attrs((props: ContainerProps) => ({\n 'data-test': 'charting-container',\n width: props.width,\n height: props.height,\n}))`\n & .highcharts-a11y-proxy-container {\n pointer-events: none;\n }\n overflow: hidden;\n position: relative;\n ${props => toDimension(pick(props, ['width', 'height']))};\n`;\n\nexport interface ChartingProps {\n // width in pixel or string, defaults to 100%\n width: string | number;\n // height in pixel or string\n height: string | number;\n // visualization formatting options\n options?: Record<string, any>;\n // charting dataset from jsCharting.extractChartReadyData\n chartData: Record<string, any>;\n // callbacks to trigger event\n onEventTrigger?: (...args: any[]) => void;\n onSelect?: (...args: any[]) => void;\n onClick?: (...args: any[]) => void;\n onPointMouseOver?: (...args: any[]) => void;\n onPointMouseOut?: (...args: any[]) => void;\n // Custom style on visualization\n style?: Record<string, any>;\n colorPalette?: Array<string>;\n visualizationApiRef?: (...args: any[]) => void;\n themeKey?: string;\n}\n\nconst propTypes: Record<keyof ChartingProps, T.Validator<any>> = {\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n options: T.object,\n chartData: T.object,\n onEventTrigger: T.func,\n onClick: T.func,\n onSelect: T.func,\n onPointMouseOver: T.func,\n onPointMouseOut: T.func,\n style: T.object,\n colorPalette: T.array,\n visualizationApiRef: T.func,\n themeKey: T.string,\n};\n\nconst Charting = (props: ChartingProps): React.ReactElement => {\n const container = useRef<HTMLDivElement>(null);\n const needsInit = useRef<boolean>(true);\n const chart = useRef<jsCharting>();\n const needsRedraw = useRef<boolean>(true);\n const api = useRef(new ChartingApiFunctional(chart));\n const timezone = useContext<TimezoneContextInterface>(TimezoneContext);\n\n const computeChartingSize = () => {\n if (container.current) {\n const rect = container.current.getBoundingClientRect();\n return {\n height: rect.height,\n width: rect.width,\n };\n }\n return {};\n };\n const splunkTheme = useSplunkTheme();\n const themeKey = props.themeKey ? props.themeKey : getChartingThemeKey({ splunkThemeV1: splunkTheme });\n const {\n width,\n height,\n style,\n chartData,\n options,\n colorPalette,\n onClick,\n onSelect,\n onPointMouseOut,\n onPointMouseOver,\n onEventTrigger,\n } = props;\n const prevOptions = usePrevious(options);\n const prevTimezone = usePrevious(timezone);\n\n const handleClick = (\n chartEvent: ChartEvent<'pointClick' | 'legendClick'>,\n type: VizChartEventType\n ): void => {\n let payload: Partial<ChartEvent<'pointClick' | 'legendClick'>> = pick(\n chartEvent,\n 'name2',\n 'value2',\n '_span',\n 'modifierKey'\n );\n\n payload.name = payload.name2;\n delete payload.name2;\n\n if (type === VizChartEventType.POINT_CLICK) {\n payload.value = payload.value2;\n delete payload.value2;\n\n payload = updateRowPayload(chartEvent.rowContext, payload);\n }\n\n onClick({\n type,\n originalEvent: chartEvent,\n payload,\n });\n };\n\n const destroyChart = (): void => {\n if (chart.current) {\n chart.current.destroy();\n chart.current = null;\n }\n needsRedraw.current = true;\n needsInit.current = true;\n };\n\n const handleSelect = (chartEvent: ChartEvent<'chartRangeSelect'>): void => {\n // todo: need change this after breaking all visualizations\n if (onSelect && typeof onSelect === 'function') {\n onSelect({\n type: 'range.select',\n originalEvent: chartEvent,\n payload: pick(chartEvent, 'startXIndex', 'endXIndex', 'startXValue', 'endXValue'),\n });\n\n return;\n }\n\n // the chartEvent here is a jQuery event\n onEventTrigger({\n type: 'range.select',\n originalEvent: chartEvent,\n payload: pick(chartEvent, 'startXIndex', 'endXIndex', 'startXValue', 'endXValue'),\n });\n };\n\n const handlePointMouseOut = (chartEvent: ChartEvent<'pointMouseOut'>, type: VizChartEventType): void => {\n let payload: Partial<ChartEvent<'pointMouseOut'>> = pick(\n chartEvent,\n 'name2',\n 'value2',\n '_span',\n 'modifierKey',\n 'tooltipContext'\n );\n\n payload.name = payload.name2;\n delete payload.name2;\n payload.value = payload.value2;\n delete payload.value2;\n\n payload = updateRowPayload(chartEvent.rowContext, payload);\n\n onPointMouseOut({\n type,\n originalEvent: chartEvent,\n payload,\n });\n };\n\n const handlePointMouseOver = (\n chartEvent: ChartEvent<'pointMouseOver'>,\n type: VizChartEventType\n ): void => {\n let payload: Partial<ChartEvent<'pointMouseOver'>> = pick(\n chartEvent,\n 'name2',\n 'value2',\n '_span',\n 'modifierKey',\n 'tooltipContext'\n );\n\n payload.name = payload.name2;\n delete payload.name2;\n payload.value = payload.value2;\n delete payload.value2;\n\n payload = updateRowPayload(chartEvent.rowContext, payload);\n\n onPointMouseOver({\n type,\n originalEvent: chartEvent,\n payload,\n });\n };\n\n const drawChart = (): void => {\n const updatedOptions = { ...options, shouldColorizeTooltipData: false };\n const computedChartSize = computeChartingSize();\n const computedWidth = computedChartSize.width;\n const computedHeight = computedChartSize.height;\n const serializedTimezone = timezone?.serializedTimezone;\n const ianaTimezone = timezone?.ianaTimezone;\n const utcOffset = timezone?.utcOffset;\n if (!computedWidth || !computedHeight) {\n return;\n }\n if (!chartData || !Object.keys(chartData).length) {\n return;\n }\n\n // splunk-charting layers configuration option updates.\n // when an option is removed it needs to be set to an empty string\n // to override the previous configuration\n if (prevOptions) {\n Object.keys(prevOptions).forEach(key => {\n if (updatedOptions[key] === undefined) {\n updatedOptions[key] = '';\n }\n });\n }\n\n try {\n if (needsInit.current) {\n destroyChart();\n jsCharting.setTheme(themeKey);\n if (colorPalette.length > 0) {\n jsCharting.setColorPalette(colorPalette);\n }\n chart.current = jsCharting.createChart(container.current, {\n ...updatedOptions,\n drilldown: 'all',\n ...(typeof serializedTimezone === 'string' && {\n 'time.serializedTz': serializedTimezone,\n }),\n ...(typeof ianaTimezone === 'string' && {\n 'time.ianaTimezone': ianaTimezone,\n }),\n ...(typeof utcOffset === 'number' && {\n 'time.timezoneOffset': utcOffset,\n }),\n });\n // bind event handlers\n chart.current.on('pointClick', e => {\n handleClick(e, VizChartEventType.POINT_CLICK);\n });\n chart.current.on('pointMouseOver', e => {\n handlePointMouseOver(e, VizChartEventType.POINT_MOUSE_OVER);\n });\n chart.current.on('pointMouseOut', e => {\n handlePointMouseOut(e, VizChartEventType.POINT_MOUSE_OUT);\n });\n chart.current.on('legendClick', e => {\n handleClick(e, VizChartEventType.LEGEND_CLICK);\n });\n chart.current.on('chartRangeSelect', handleSelect);\n }\n if (needsRedraw.current) {\n jsCharting.setTheme(themeKey);\n if (colorPalette.length > 0) {\n jsCharting.setColorPalette(colorPalette);\n }\n chart.current.prepareAndDraw(chartData, updatedOptions, () => {});\n }\n if (chart.current) {\n if (\n Math.round(chart.current.height) !== Math.round(computedHeight) ||\n Math.round(chart.current.width) !== Math.round(computedWidth)\n ) {\n chart.current.resize(computedWidth, computedHeight);\n }\n }\n needsInit.current = false;\n needsRedraw.current = false;\n } catch (e) {\n window.console.error('Caught error rendering chart:', e);\n }\n };\n\n const debouncedDrawChart = debounce(drawChart, 5);\n\n const onContainerMount = chartingContainer => {\n container.current = chartingContainer;\n debouncedDrawChart();\n };\n\n const prevTheme = usePrevious(themeKey);\n const prevOnClick = usePrevious(onClick);\n\n useEffect(() => {\n debouncedDrawChart();\n props.visualizationApiRef(api.current);\n return () => {\n props.visualizationApiRef(null);\n destroyChart();\n };\n }, []);\n\n useEffect(() => {\n // TODO: figure out why re-init is needed for functional components (i.e. PlatformViz) when changing theme\n // seems like redraw doesn't suffice to update the background colors\n if (\n !chart.current ||\n !canUpdateInPlace(prevOptions, options) ||\n // timezone is a simple object so this comparison should be fast\n JSON.stringify(prevTimezone) !== JSON.stringify(timezone) ||\n (!props.themeKey && prevTheme !== themeKey) ||\n prevOnClick !== onClick\n ) {\n needsInit.current = true;\n }\n needsRedraw.current = true;\n // need to immediately call drawChart upon an option or chartData change\n // otherwise a noop would occur if the onContainerMount drawChart is re-invoked when dimensions change\n drawChart();\n }, [\n JSON.stringify(options),\n JSON.stringify(chartData.toJSON()),\n JSON.stringify(chartData.annotations),\n timezone?.ianaTimezone,\n timezone?.utcOffset,\n timezone?.serializedTimezone,\n themeKey,\n onClick,\n ]);\n return (\n <ChartingContainer style={style} ref={onContainerMount} width={width} height={height}>\n <EventListener target={window} onResize={debouncedDrawChart} />\n </ChartingContainer>\n );\n};\n\nconst defaultProps: Record<keyof ChartingProps, any> = {\n width: '100%',\n height: 250,\n options: {},\n style: {},\n // todo: need remove it\n onEventTrigger: noop,\n onClick: noop,\n onSelect: noop,\n onPointMouseOver: noop,\n onPointMouseOut: noop,\n colorPalette: VIZ_CATEGORICAL,\n visualizationApiRef: noop,\n chartData: null,\n themeKey: null,\n};\n\nCharting.propTypes = propTypes;\nCharting.defaultProps = defaultProps;\n\n// allow for early return in case of empty chartData while still following hook rules\nconst withEmptyChartMessage = (Chart): React.FunctionComponent<ChartingProps> => {\n const Wrapper = (props: ChartingProps): React.ReactElement => {\n const { chartData } = props;\n\n if (!chartData) {\n return <Message message={_('No DataSource')} level=\"warning\" />;\n }\n\n if (chartData && !Object.keys(chartData).length) {\n return <Message message={_('No Result')} level=\"info\" />;\n }\n\n return <Chart {...props} />;\n };\n\n Wrapper.displayName = 'ChartingWrapper';\n Wrapper.propTypes = propTypes;\n Wrapper.defaultProps = defaultProps;\n return Wrapper;\n};\n\n// export default Charting;\nexport default withEmptyChartMessage(Charting as any);\n","module.exports = require(\"@splunk/visualization-color-palettes\");","module.exports = require(\"react-event-listener\");","module.exports = require(\"@splunk/visualizations-shared/i18n\");","module.exports = require(\"@splunk/charting-bundle\");","module.exports = require(\"@splunk/themes/useSplunkTheme\");","module.exports = require(\"@splunk/visualizations-shared/themeUtils\");"],"sourceRoot":""}
@@ -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 = 48);
90
+ /******/ return __webpack_require__(__webpack_require__.s = 49);
91
91
  /******/ })
92
92
  /************************************************************************/
93
93
  /******/ ([
@@ -163,41 +163,41 @@ module.exports = require("@splunk/react-ui/Markdown");
163
163
  /* 24 */,
164
164
  /* 25 */,
165
165
  /* 26 */,
166
- /* 27 */
166
+ /* 27 */,
167
+ /* 28 */
167
168
  /***/ (function(module, exports) {
168
169
 
169
170
  module.exports = require("@babel/runtime/helpers/inherits");
170
171
 
171
172
  /***/ }),
172
- /* 28 */
173
+ /* 29 */
173
174
  /***/ (function(module, exports) {
174
175
 
175
176
  module.exports = require("@babel/runtime/helpers/getPrototypeOf");
176
177
 
177
178
  /***/ }),
178
- /* 29 */,
179
179
  /* 30 */,
180
180
  /* 31 */,
181
181
  /* 32 */,
182
- /* 33 */
182
+ /* 33 */,
183
+ /* 34 */
183
184
  /***/ (function(module, exports) {
184
185
 
185
186
  module.exports = require("@babel/runtime/helpers/assertThisInitialized");
186
187
 
187
188
  /***/ }),
188
- /* 34 */
189
+ /* 35 */
189
190
  /***/ (function(module, exports) {
190
191
 
191
192
  module.exports = require("@babel/runtime/helpers/possibleConstructorReturn");
192
193
 
193
194
  /***/ }),
194
- /* 35 */
195
+ /* 36 */
195
196
  /***/ (function(module, exports) {
196
197
 
197
198
  module.exports = require("@splunk/react-ui/JSONTree");
198
199
 
199
200
  /***/ }),
200
- /* 36 */,
201
201
  /* 37 */,
202
202
  /* 38 */,
203
203
  /* 39 */,
@@ -209,14 +209,15 @@ module.exports = require("@splunk/react-ui/JSONTree");
209
209
  /* 45 */,
210
210
  /* 46 */,
211
211
  /* 47 */,
212
- /* 48 */
212
+ /* 48 */,
213
+ /* 49 */
213
214
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
214
215
 
215
216
  "use strict";
216
217
  __webpack_require__.r(__webpack_exports__);
217
218
  /* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9);
218
219
  /* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
219
- /* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(33);
220
+ /* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(34);
220
221
  /* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__);
221
222
  /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8);
222
223
  /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__);
@@ -224,11 +225,11 @@ __webpack_require__.r(__webpack_exports__);
224
225
  /* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__);
225
226
  /* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6);
226
227
  /* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__);
227
- /* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(27);
228
+ /* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(28);
228
229
  /* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__);
229
- /* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(34);
230
+ /* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(35);
230
231
  /* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6__);
231
- /* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(28);
232
+ /* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(29);
232
233
  /* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7__);
233
234
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(0);
234
235
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_8__);
@@ -238,7 +239,7 @@ __webpack_require__.r(__webpack_exports__);
238
239
  /* harmony import */ var _splunk_react_ui_Heading__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_splunk_react_ui_Heading__WEBPACK_IMPORTED_MODULE_10__);
239
240
  /* harmony import */ var _splunk_react_ui_Markdown__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(15);
240
241
  /* harmony import */ var _splunk_react_ui_Markdown__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_splunk_react_ui_Markdown__WEBPACK_IMPORTED_MODULE_11__);
241
- /* harmony import */ var _splunk_react_ui_JSONTree__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(35);
242
+ /* harmony import */ var _splunk_react_ui_JSONTree__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(36);
242
243
  /* harmony import */ var _splunk_react_ui_JSONTree__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_splunk_react_ui_JSONTree__WEBPACK_IMPORTED_MODULE_12__);
243
244
  /* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(2);
244
245
  /* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(styled_components__WEBPACK_IMPORTED_MODULE_13__);