@splunk/visualizations 25.13.0 → 26.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/Area.config.js +216 -216
  2. package/Area.config.js.map +1 -1
  3. package/Area.js +529 -561
  4. package/Area.js.map +1 -1
  5. package/Bar.config.js +213 -213
  6. package/Bar.config.js.map +1 -1
  7. package/Bar.js +394 -386
  8. package/Bar.js.map +1 -1
  9. package/Bubble.config.js +140 -140
  10. package/Bubble.config.js.map +1 -1
  11. package/Bubble.js +313 -305
  12. package/Bubble.js.map +1 -1
  13. package/ChoroplethSvg.config.js +15 -15
  14. package/ChoroplethSvg.config.js.map +1 -1
  15. package/ChoroplethSvg.js +149 -144
  16. package/ChoroplethSvg.js.map +1 -1
  17. package/Column.config.js +205 -205
  18. package/Column.config.js.map +1 -1
  19. package/Column.js +387 -379
  20. package/Column.js.map +1 -1
  21. package/Ellipse.config.js +45 -45
  22. package/Ellipse.config.js.map +1 -1
  23. package/Ellipse.js +157 -144
  24. package/Ellipse.js.map +1 -1
  25. package/Events.config.js +11 -11
  26. package/Events.config.js.map +1 -1
  27. package/Events.js +274 -262
  28. package/Events.js.map +1 -1
  29. package/FillerGauge.config.js +46 -46
  30. package/FillerGauge.config.js.map +1 -1
  31. package/FillerGauge.js +267 -262
  32. package/FillerGauge.js.map +1 -1
  33. package/Image.config.js +8 -8
  34. package/Image.config.js.map +1 -1
  35. package/Image.js +110 -104
  36. package/Image.js.map +1 -1
  37. package/Line.config.js +220 -220
  38. package/Line.config.js.map +1 -1
  39. package/Line.js +404 -396
  40. package/Line.js.map +1 -1
  41. package/LinkGraph.config.js +27 -27
  42. package/LinkGraph.config.js.map +1 -1
  43. package/LinkGraph.js +557 -548
  44. package/LinkGraph.js.map +1 -1
  45. package/Map.config.js +71 -71
  46. package/Map.config.js.map +1 -1
  47. package/Map.js +472 -466
  48. package/Map.js.map +1 -1
  49. package/Markdown.config.js +23 -23
  50. package/Markdown.config.js.map +1 -1
  51. package/Markdown.js +151 -145
  52. package/Markdown.js.map +1 -1
  53. package/MarkerGauge.config.js +84 -84
  54. package/MarkerGauge.config.js.map +1 -1
  55. package/MarkerGauge.js +295 -289
  56. package/MarkerGauge.js.map +1 -1
  57. package/ParallelCoordinates.config.js +23 -23
  58. package/ParallelCoordinates.config.js.map +1 -1
  59. package/ParallelCoordinates.js +164 -162
  60. package/ParallelCoordinates.js.map +1 -1
  61. package/Pie.config.js +24 -24
  62. package/Pie.config.js.map +1 -1
  63. package/Pie.js +233 -228
  64. package/Pie.js.map +1 -1
  65. package/Punchcard.config.js +33 -33
  66. package/Punchcard.config.js.map +1 -1
  67. package/Punchcard.js +278 -279
  68. package/Punchcard.js.map +1 -1
  69. package/Rectangle.config.js +46 -46
  70. package/Rectangle.config.js.map +1 -1
  71. package/Rectangle.js +154 -142
  72. package/Rectangle.js.map +1 -1
  73. package/Sankey.config.js +19 -19
  74. package/Sankey.config.js.map +1 -1
  75. package/Sankey.js +281 -275
  76. package/Sankey.js.map +1 -1
  77. package/Scatter.config.js +135 -135
  78. package/Scatter.config.js.map +1 -1
  79. package/Scatter.js +304 -299
  80. package/Scatter.js.map +1 -1
  81. package/SingleValue.config.js +119 -119
  82. package/SingleValue.config.js.map +1 -1
  83. package/SingleValue.js +359 -341
  84. package/SingleValue.js.map +1 -1
  85. package/SingleValueBasic.js +14 -14
  86. package/SingleValueBasic.js.map +1 -1
  87. package/SingleValueIcon.config.js +117 -117
  88. package/SingleValueIcon.config.js.map +1 -1
  89. package/SingleValueIcon.js +373 -371
  90. package/SingleValueIcon.js.map +1 -1
  91. package/SingleValueRadial.config.js +157 -115
  92. package/SingleValueRadial.config.js.map +1 -1
  93. package/SingleValueRadial.js +1114 -540
  94. package/SingleValueRadial.js.map +1 -1
  95. package/SparkLine.js +50 -20
  96. package/SparkLine.js.map +1 -1
  97. package/Table.config.js +54 -54
  98. package/Table.config.js.map +1 -1
  99. package/Table.js +302 -286
  100. package/Table.js.map +1 -1
  101. package/common/Charting.js +41 -41
  102. package/common/Charting.js.map +1 -1
  103. package/common/EventsDoc.js +15 -14
  104. package/common/EventsDoc.js.map +1 -1
  105. package/common/GaugeMajorTicks.js +2 -2
  106. package/common/GaugeMajorTicks.js.map +1 -1
  107. package/common/GaugeValueMarker.js +2 -2
  108. package/common/GaugeValueMarker.js.map +1 -1
  109. package/common/OptionsDoc.js +22 -22
  110. package/common/OptionsDoc.js.map +1 -1
  111. package/common/OverviewDoc.js +32 -27
  112. package/common/OverviewDoc.js.map +1 -1
  113. package/common/SplunkVisualization.js +4 -4
  114. package/common/SplunkVisualization.js.map +1 -1
  115. package/common/SplunkVisualizationApi.js +2 -2
  116. package/common/SplunkVisualizationApi.js.map +1 -1
  117. package/common/ThemesDoc.js +14 -14
  118. package/common/ThemesDoc.js.map +1 -1
  119. package/common/chartingUtils.js +12 -12
  120. package/common/chartingUtils.js.map +1 -1
  121. package/common/docUtils.js +4 -4
  122. package/common/docUtils.js.map +1 -1
  123. package/common/gaugeUtils.js +112 -112
  124. package/common/gaugeUtils.js.map +1 -1
  125. package/common/shapeUtils.js +21 -15
  126. package/common/shapeUtils.js.map +1 -1
  127. package/common/utils/configUtils.js +10 -9
  128. package/common/utils/configUtils.js.map +1 -1
  129. package/common/utils/dataUtils.js +3 -3
  130. package/common/utils/dataUtils.js.map +1 -1
  131. package/common/utils/hocUtils.js +2 -2
  132. package/common/utils/hocUtils.js.map +1 -1
  133. package/common/utils/layoutUtils.js +2 -2
  134. package/common/utils/layoutUtils.js.map +1 -1
  135. package/common/utils/mapUtils.js +84 -80
  136. package/common/utils/mapUtils.js.map +1 -1
  137. package/common/utils/singleValueUtils.js +2 -2
  138. package/common/utils/singleValueUtils.js.map +1 -1
  139. package/common/utils/testHelper.js +27 -9
  140. package/common/utils/testHelper.js.map +1 -1
  141. package/common/utils/trellisUtils.js +26 -26
  142. package/common/utils/trellisUtils.js.map +1 -1
  143. package/common/utils/urlUtils.js +2 -2
  144. package/common/utils/urlUtils.js.map +1 -1
  145. package/common/withDashboardViz.js +107 -104
  146. package/common/withDashboardViz.js.map +1 -1
  147. package/package.json +19 -19
@@ -345,8 +345,8 @@ function hasCompatibleOptions(vizOptions, presetOptions) {
345
345
  */
346
346
  function getInitialPreset(vizContext, vizOptions, presets) {
347
347
  return presets.find(function (preset) {
348
- var presetContext = lodash_1.get(preset, ['value', 'context'], {});
349
- var presetOptions = lodash_1.get(preset, ['value', 'options'], {});
348
+ var presetContext = (0, lodash_1.get)(preset, ['value', 'context'], {});
349
+ var presetOptions = (0, lodash_1.get)(preset, ['value', 'options'], {});
350
350
  var presetContextKeys = Object.keys(presetContext);
351
351
  var presetOptionKeys = Object.keys(presetOptions);
352
352
  // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)
@@ -363,7 +363,7 @@ exports.getInitialPreset = getInitialPreset;
363
363
  * @returns {{ label: string; value; string }[]} array of { label, value } tuples
364
364
  */
365
365
  function generatePrecisionValues(numPrecisionValues) {
366
- return lodash_1.range(0, numPrecisionValues + 1).map(function (i) {
366
+ return (0, lodash_1.range)(0, numPrecisionValues + 1).map(function (i) {
367
367
  return {
368
368
  label: "".concat(i, " (0").concat(i > 0 ? '.' : '').concat('0'.repeat(i), ")"),
369
369
  value: i
@@ -531,7 +531,7 @@ var optionsSchema = {
531
531
  };
532
532
  var themes = {
533
533
  defaultBackgroundColor: function defaultBackgroundColor(props) {
534
- return pick_1.default({
534
+ return (0, pick_1.default)({
535
535
  enterprise: {
536
536
  dark: variables_1.default.black(props),
537
537
  light: variables_1.default.backgroundColor(props)
@@ -540,7 +540,7 @@ var themes = {
540
540
  })(props);
541
541
  },
542
542
  defaultNodeColor: function defaultNodeColor(props) {
543
- return pick_1.default({
543
+ return (0, pick_1.default)({
544
544
  enterprise: {
545
545
  dark: variables_1.default.backgroundColorDialog(props),
546
546
  light: variables_1.default.gray96(props)
@@ -549,7 +549,7 @@ var themes = {
549
549
  })(props);
550
550
  },
551
551
  inverseDefaultNodeColor: function inverseDefaultNodeColor(props) {
552
- return pick_1.default({
552
+ return (0, pick_1.default)({
553
553
  enterprise: {
554
554
  dark: variables_1.default.contentColorInverted(props),
555
555
  light: variables_1.default.white(props) // equal to textColor in enterpriseDark
@@ -559,13 +559,13 @@ var themes = {
559
559
  })(props);
560
560
  },
561
561
  textColor: function textColor(props) {
562
- return pick_1.default({
562
+ return (0, pick_1.default)({
563
563
  enterprise: variables_1.default.textColor(props),
564
564
  prisma: variables_1.default.contentColorDefault(props)
565
565
  })(props);
566
566
  },
567
567
  inverseTextColor: function inverseTextColor(props) {
568
- return pick_1.default({
568
+ return (0, pick_1.default)({
569
569
  enterprise: {
570
570
  dark: variables_1.default.contentColorInverted(props),
571
571
  light: variables_1.default.white(props) // equal to textColor in enterpriseDark
@@ -576,8 +576,8 @@ var themes = {
576
576
  }
577
577
  };
578
578
  var EDITOR_LABEL_WIDTH = 140;
579
- var backgroundColorPaletteSet = new Set([].concat(_toConsumableArray(colorConstants_1.COLOR_EDITOR_PALETTE), _toConsumableArray(lodash_1.map(themes, function (t) {
580
- return lodash_1.get(t, 'defaultBackgroundColor');
579
+ var backgroundColorPaletteSet = new Set([].concat(_toConsumableArray(colorConstants_1.COLOR_EDITOR_PALETTE), _toConsumableArray((0, lodash_1.map)(themes, function (t) {
580
+ return (0, lodash_1.get)(t, 'defaultBackgroundColor');
581
581
  }))));
582
582
  var editorConfig = [
583
583
  // {
@@ -597,9 +597,9 @@ var editorConfig = [
597
597
  // ],
598
598
  // },
599
599
  {
600
- label: i18n_1._('Data configurations'),
600
+ label: (0, i18n_1._)('Data configurations'),
601
601
  layout: [[{
602
- label: i18n_1._('Result limit'),
602
+ label: (0, i18n_1._)('Result limit'),
603
603
  option: 'resultLimit',
604
604
  editor: 'editor.number',
605
605
  editorProps: {
@@ -609,9 +609,9 @@ var editorConfig = [
609
609
  }
610
610
  }]]
611
611
  }, {
612
- label: i18n_1._('Data display'),
612
+ label: (0, i18n_1._)('Data display'),
613
613
  layout: [[{
614
- label: i18n_1._('Show node counts'),
614
+ label: (0, i18n_1._)('Show node counts'),
615
615
  option: 'showNodeCounts',
616
616
  editor: 'editor.checkbox',
617
617
  editorProps: {
@@ -620,7 +620,7 @@ var editorConfig = [
620
620
  palette: _toConsumableArray(backgroundColorPaletteSet)
621
621
  }
622
622
  }], [{
623
- label: i18n_1._('Show value counts'),
623
+ label: (0, i18n_1._)('Show value counts'),
624
624
  option: 'showValueCounts',
625
625
  editor: 'editor.checkbox',
626
626
  editorProps: {
@@ -630,9 +630,9 @@ var editorConfig = [
630
630
  }
631
631
  }]]
632
632
  }, {
633
- label: i18n_1._('Color and style'),
633
+ label: (0, i18n_1._)('Color and style'),
634
634
  layout: [[{
635
- label: i18n_1._('Nodes'),
635
+ label: (0, i18n_1._)('Nodes'),
636
636
  option: 'nodeColor',
637
637
  editor: 'editor.color',
638
638
  editorProps: {
@@ -641,7 +641,7 @@ var editorConfig = [
641
641
  palette: _toConsumableArray(backgroundColorPaletteSet)
642
642
  }
643
643
  }], [{
644
- label: i18n_1._('Selected nodes'),
644
+ label: (0, i18n_1._)('Selected nodes'),
645
645
  option: 'nodeHighlightColor',
646
646
  editor: 'editor.color',
647
647
  editorProps: {
@@ -650,7 +650,7 @@ var editorConfig = [
650
650
  palette: _toConsumableArray(backgroundColorPaletteSet)
651
651
  }
652
652
  }], [{
653
- label: i18n_1._('Links'),
653
+ label: (0, i18n_1._)('Links'),
654
654
  option: 'linkColor',
655
655
  editor: 'editor.color',
656
656
  editorProps: {
@@ -659,7 +659,7 @@ var editorConfig = [
659
659
  palette: _toConsumableArray(backgroundColorPaletteSet)
660
660
  }
661
661
  }], [{
662
- label: i18n_1._('Background'),
662
+ label: (0, i18n_1._)('Background'),
663
663
  option: 'backgroundColor',
664
664
  editor: 'editor.color',
665
665
  editorProps: {
@@ -668,7 +668,7 @@ var editorConfig = [
668
668
  palette: _toConsumableArray(backgroundColorPaletteSet)
669
669
  }
670
670
  }], [{
671
- label: i18n_1._('Node width'),
671
+ label: (0, i18n_1._)('Node width'),
672
672
  option: 'nodeWidth',
673
673
  editor: 'editor.number',
674
674
  editorProps: {
@@ -678,7 +678,7 @@ var editorConfig = [
678
678
  labelWidth: EDITOR_LABEL_WIDTH
679
679
  }
680
680
  }, {
681
- label: i18n_1._('Node height'),
681
+ label: (0, i18n_1._)('Node height'),
682
682
  option: 'nodeHeight',
683
683
  editor: 'editor.number',
684
684
  editorProps: {
@@ -688,7 +688,7 @@ var editorConfig = [
688
688
  labelWidth: EDITOR_LABEL_WIDTH
689
689
  }
690
690
  }], [{
691
- label: i18n_1._('Vertical spacing'),
691
+ label: (0, i18n_1._)('Vertical spacing'),
692
692
  option: 'nodeSpacingY',
693
693
  editor: 'editor.number',
694
694
  editorProps: {
@@ -698,7 +698,7 @@ var editorConfig = [
698
698
  labelWidth: EDITOR_LABEL_WIDTH
699
699
  }
700
700
  }, {
701
- label: i18n_1._('Horizontal spacing'),
701
+ label: (0, i18n_1._)('Horizontal spacing'),
702
702
  option: 'nodeSpacingX',
703
703
  editor: 'editor.number',
704
704
  editorProps: {
@@ -708,7 +708,7 @@ var editorConfig = [
708
708
  labelWidth: EDITOR_LABEL_WIDTH
709
709
  }
710
710
  }], [{
711
- label: i18n_1._('Link width'),
711
+ label: (0, i18n_1._)('Link width'),
712
712
  option: 'linkWidth',
713
713
  editor: 'editor.number',
714
714
  editorProps: {
@@ -727,7 +727,7 @@ var config = {
727
727
  /**
728
728
  * viz name
729
729
  */
730
- name: i18n_1._('Link graph'),
730
+ name: (0, i18n_1._)('Link graph'),
731
731
  category: VizCategory_1.VizCategory.FLOW,
732
732
  status: 'preview',
733
733
  /**
@@ -751,7 +751,7 @@ var config = {
751
751
  supports: [VizBehavior_1.VizBehavior.DYNAMIC_OPTIONS, VizBehavior_1.VizBehavior.EVENTS, VizBehavior_1.VizBehavior.PLACEHOLDER],
752
752
  themes: themes
753
753
  };
754
- exports.default = configUtils_1.enhanceConfig(config);
754
+ exports.default = (0, configUtils_1.enhanceConfig)(config);
755
755
 
756
756
  /***/ }),
757
757
 
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"@splunk/themes/variables\"","webpack:///external \"@splunk/visualization-icons/placeholders\"","webpack:///external \"@splunk/visualization-icons\"","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@splunk/visualizations-shared/colorConstants\"","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///./src/common/utils/configUtils.ts","webpack:///./src/LinkGraph/config.ts","webpack:///external \"lodash\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///external \"@splunk/themes/pick\""],"names":["VizBehavior","exports","lodash_1","require","schemaUtils_1","VizBehavior_1","dynamicOptionsDSLType","type","pattern","DYNAMIC_OPTIONS_DSL_PATTERN","enhanceOptionsSchemaWithDynamicOptions","optionsSchema","enhancedOptionsSchema","Object","keys","forEach","key","_a","title","description","readOnly","writeOnly","examples","defaultValue","default","properties","patternProperties","remainingSchemaEntry","__rest","annotations","assign","undefined","enhancedPatternProperties","opt","_defineProperty","anyOf","enhanceConfig","vizConfig","enhancedConfig","supports","indexOf","DYNAMIC_OPTIONS","editorConfig","map","config","open","uncollapseEditorConfig","editorPanelUncollapsedConfig","isDynamicOption","option","trim","startsWith","hasCompatibleContexts","vizContext","presetContext","presetContextKeys","every","contextKey","hasCompatibleOptions","vizOptions","presetOptions","presetOptionKeys","optionKey","getInitialPreset","presets","find","preset","get","length","generatePrecisionValues","numPrecisionValues","range","i","label","concat","repeat","value","insertLayout","layout","index","_len","arguments","layoutItems","Array","_key","_toConsumableArray","slice","visualization_icons_1","placeholders_1","i18n_1","pick_1","variables_1","colorConstants_1","visualization_color_palettes_1","configUtils_1","VizCategory_1","dataContract","requiredDataSources","name","optionalDataSources","initialRequestParams","primary","offset","count","size","initialWidth","initialHeight","defaultContext","nodeTextColorMaxContrast","colors","nodeHighlightTextColorMaxContrast","backgroundColor","COLOR_OR_TOKEN_PATTERN_WITH_RGBA","fieldOrder","items","linkColor","linkWidth","nodeColor","nodeTextColor","nodeHeight","nodeHighlightColor","VIZ_CATEGORICAL","nodeTextHighlightColor","nodeSpacingX","nodeSpacingY","nodeWidth","resultLimit","showNodeCounts","showValueCounts","themes","defaultBackgroundColor","props","enterprise","dark","black","light","prisma","backgroundColorSidebar","defaultNodeColor","backgroundColorDialog","gray96","inverseDefaultNodeColor","contentColorInverted","white","textColor","contentColorDefault","inverseTextColor","EDITOR_LABEL_WIDTH","backgroundColorPaletteSet","Set","COLOR_EDITOR_PALETTE","t","_","editor","editorProps","min","labelWidth","palette","labelPosition","category","VizCategory","FLOW","status","icon","LinkGraph","placeholderIcon","events","EVENTS","PLACEHOLDER"],"mappings":"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","file":"LinkGraph.config.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 55);\n","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"@splunk/themes/variables\");","module.exports = require(\"@splunk/visualization-icons/placeholders\");","module.exports = require(\"@splunk/visualization-icons\");","module.exports = require(\"@splunk/visualization-color-palettes\");","export enum VizBehavior {\n /**\n * Dynamic Options Behavior.\n * This allows visualization options to be powered by data\n *\n * **Example**\n *\n * sparklineValues: \">primary|seriesByIndex(0)\"\n * would configure sparklineValues with an array of data points\n * coming from the first series in the primary datasource\n *\n */\n DYNAMIC_OPTIONS = 'dynamic-options',\n EVENTS = 'events',\n /**\n * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is\n * missing.\n * @type {string}\n */\n PLACEHOLDER = 'placeholder',\n PAGE_AND_SORT = 'page-and-sort',\n TRELLIS = 'trellis',\n}\n","module.exports = require(\"@splunk/visualizations-shared/colorConstants\");","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport type { JSONSchema7Definition } from 'json-schema';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\nimport { EditorLayoutConfig, EditorConfig } from '../interfaces/Editor';\n\nexport interface PresetEntry {\n name: string;\n value: any;\n label: string;\n}\n\nconst dynamicOptionsDSLType = {\n type: 'string',\n pattern: DYNAMIC_OPTIONS_DSL_PATTERN,\n} as const;\n\n/**\n * Helper function to extend an options schema with dynamic options DSL\n * @param optionsSchema a visualization's options schema\n * @returns an updated options schema that additionally allows strings starting with > for each option\n */\nfunction enhanceOptionsSchemaWithDynamicOptions(\n optionsSchema: OptionsSchema | JSONSchema7Definition\n): OptionsSchema {\n const enhancedOptionsSchema: OptionsSchema = {};\n Object.keys(optionsSchema).forEach((key): void => {\n const {\n // The next a few are schema annotations, we should leave them as is.\n // Note: in reality we don't use `readOnly`, `writeOnly` or `examples`, but they are listed here for completeness.\n // Ref: https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-01\n title,\n description,\n readOnly,\n writeOnly,\n examples,\n default: defaultValue,\n // The next a few need special care\n type,\n properties,\n patternProperties,\n // The rest should be handled together\n ...remainingSchemaEntry\n } = optionsSchema[key];\n\n const annotations = {\n ...(title !== undefined && { title }),\n ...(description !== undefined && { description }),\n ...(readOnly !== undefined && { readOnly }),\n ...(writeOnly !== undefined && { writeOnly }),\n ...(examples !== undefined && { examples }),\n ...(defaultValue !== undefined && { default: defaultValue }),\n };\n\n if (type === 'object') {\n enhancedOptionsSchema[key] = {\n ...remainingSchemaEntry,\n ...annotations,\n type,\n ...(properties && { properties: enhanceOptionsSchemaWithDynamicOptions(properties) }),\n };\n if (patternProperties) {\n let enhancedPatternProperties = {};\n Object.keys(patternProperties).forEach((opt): void => {\n enhancedPatternProperties = {\n ...enhancedPatternProperties,\n ...enhanceOptionsSchemaWithDynamicOptions({ [opt]: patternProperties[opt] }),\n };\n });\n enhancedOptionsSchema[key].patternProperties = enhancedPatternProperties;\n }\n } else {\n enhancedOptionsSchema[key] = {\n ...annotations,\n anyOf: [\n // we can't assume `type` is always there because there are `enum` and `const`.\n { ...(type !== undefined && { type }), ...remainingSchemaEntry },\n dynamicOptionsDSLType,\n ],\n };\n }\n });\n return enhancedOptionsSchema;\n}\n\n/**\n * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block\n * this function also collapse all editor panels\n * @param vizConfig a Visualization Config\n * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports\n * and containing `open: false` for all editor panels in editorConfig\n */\nfunction enhanceConfig(vizConfig: VizConfig): VizConfig {\n const enhancedConfig: VizConfig = { ...vizConfig };\n if (vizConfig.supports.indexOf(VizBehavior.DYNAMIC_OPTIONS) !== -1) {\n enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);\n }\n enhancedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: config.open || false };\n }\n );\n return enhancedConfig;\n}\n\n/**\n * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig\n * Created for editor unit tests\n * @param vizConfig a Visualization Config\n * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig\n */\nfunction uncollapseEditorConfig(vizConfig: VizConfig): VizConfig {\n const editorPanelUncollapsedConfig: VizConfig = { ...vizConfig };\n editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: true };\n }\n );\n return editorPanelUncollapsedConfig;\n}\n\nfunction isDynamicOption(option?: string): boolean {\n return (option && typeof option === 'string' && option.trim().startsWith('>')) || false;\n}\n\n// private helpers to improve readability of getInitialPreset\n// this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset\n\n/**\n * this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset\n * if a preset has explicitly specified a key as being undefined, the vizContext must also has that key as undefined, or else this CANNOT be the initialPreset\n * the inverse is true; if a preset has key is NOT undefined, it must also be NOT undefined in the corresponding vizContext\n * the internal config contents are irrelevant (as the user could customize them in source), just as long as the presence of `undefined`s match up\n *\n * Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values\n */\nfunction hasCompatibleContexts(\n vizContext: { [configKey: string]: any },\n presetContext: { [configKey: string]: any }\n): boolean {\n const presetContextKeys = Object.keys(presetContext);\n return presetContextKeys.every(\n (contextKey): boolean =>\n (presetContext[contextKey] === undefined && vizContext[contextKey] === undefined) ||\n (presetContext[contextKey] !== undefined && vizContext[contextKey] !== undefined)\n );\n}\n\n/**\n * Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions\n */\nfunction hasCompatibleOptions(\n vizOptions: { [configKey: string]: any },\n presetOptions: { [configKey: string]: any }\n): boolean {\n const presetOptionKeys = Object.keys(presetOptions);\n return presetOptionKeys.every(\n (optionKey): boolean =>\n isDynamicOption(presetOptions[optionKey]) === isDynamicOption(vizOptions[optionKey])\n );\n}\n\n/**\n * Evaluates whether there is an initialPreset that fits the current state of vizContext + vizOptions\n * This function ignores extraneous vizOptions or vizContext keys, as they could be outside the scope of what the preset is intended to configure\n *\n * @param {Object} vizContext - the current vizContext definition\n * @param {Object} vizOptions - the current vizOptions definition\n * @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset\n */\nfunction getInitialPreset(\n vizContext: { [configKey: string]: any },\n vizOptions: { [configKey: string]: any },\n presets: PresetEntry[]\n): PresetEntry | null {\n return presets.find((preset): boolean => {\n const presetContext = get(preset, ['value', 'context'], {});\n const presetOptions = get(preset, ['value', 'options'], {});\n const presetContextKeys = Object.keys(presetContext);\n const presetOptionKeys = Object.keys(presetOptions);\n\n // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)\n // if not, then the preset is invalid in config.ts\n if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;\n\n return (\n hasCompatibleContexts(vizContext, presetContext) &&\n hasCompatibleOptions(vizOptions, presetOptions)\n );\n });\n}\n\ninterface PrecisionOption {\n label: string;\n value: number;\n}\n\n/**\n * generates number precision values for a Select editor\n *\n * @param {Number} numPrecisionValues - number of integer precision values to generate\n * @returns {{ label: string; value; string }[]} array of { label, value } tuples\n */\nfunction generatePrecisionValues(numPrecisionValues: number): PrecisionOption[] {\n return range(0, numPrecisionValues + 1).map(\n (i): PrecisionOption => ({\n label: `${i} (0${i > 0 ? '.' : ''}${'0'.repeat(i)})`, // e.g. 0.000 for numPrecisionValues = 3\n value: i,\n })\n );\n}\n\nexport {\n enhanceConfig,\n enhanceOptionsSchemaWithDynamicOptions,\n getInitialPreset,\n generatePrecisionValues,\n uncollapseEditorConfig,\n isDynamicOption,\n};\n\n/**\n * insert layout in layout array, return a new layout array instead of updating the original\n *\n * @param {EditorLayoutConfig[][]} layout - editor layout\n * @param {Number} index - the index to insert layout item(s)\n * @param {EditorLayoutConfig[][]} layoutItems - the item(s) to insert\n * @returns {EditorLayoutConfig[][]} new editor layout with insertion\n */\nexport const insertLayout = (\n layout: EditorLayoutConfig[][],\n index: number,\n ...layoutItems: EditorLayoutConfig[][]\n): EditorLayoutConfig[][] => [\n // copy part of the array before the specified index\n ...layout.slice(0, index),\n // inserted layout item\n ...layoutItems,\n // copy part of the array after the specified index\n ...layout.slice(index),\n];\n","import { map, get } from 'lodash';\nimport { LinkGraph as LinkGraphIcon } from '@splunk/visualization-icons';\nimport { LinkGraph as LinkGraphPlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { COLOR_OR_TOKEN_PATTERN_WITH_RGBA } from '@splunk/visualizations-shared/schemaUtils';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { COLOR_EDITOR_PALETTE } from '@splunk/visualizations-shared/colorConstants';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [\n // {\n // name: 'metadata',\n // description: 'Used buy the ES team along side the feature flag `LinkGraph.showNodeMetaData`',\n // },\n ],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 900,\n initialHeight: 400,\n};\n\nconst defaultContext: DefaultContext = {\n nodeTextColorMaxContrast: {\n colors: ['> themes.textColor', '> themes.inverseTextColor'],\n default: '> themes.textColor',\n },\n nodeHighlightTextColorMaxContrast: {\n colors: ['> themes.defaultNodeColor', '> themes.inverseDefaultNodeColor'],\n default: '> themes.textColor',\n },\n};\n\nconst optionsSchema: OptionsSchema = {\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify the color for the background. You may use a dataSource to apply the color. The default for enterprise light is \"#ffffff\". The default for enterprise dark is \"#000000\". The default for prisma dark is \"#0b0c0e\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n fieldOrder: {\n default: '> primary | getField()',\n description:\n 'Specify the order of fields to be displayed in the link graph from left to right when loaded. Unspecified fields will be excluded from the graph.',\n type: 'array',\n items: {\n type: 'string',\n },\n },\n linkColor: {\n default: '#6d6f76',\n description:\n 'Specify the color used for highlighted links. Unhighlighted links will be displayed at 20% opacity.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n linkWidth: {\n default: 1,\n description: 'Specify, in pixels, the stroke width of each link.',\n type: 'number',\n },\n nodeColor: {\n default: '> themes.defaultNodeColor',\n description: 'Specify the color used for unhighlighted nodes.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n nodeTextColor: {\n description: 'Specify the color used for unhighlighted nodes text.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n default: '> nodeColor | maxContrast(nodeTextColorMaxContrast)',\n },\n nodeHeight: {\n default: 21,\n description: 'Specify, in pixels, the height of each node.',\n type: 'number',\n },\n nodeHighlightColor: {\n default: VIZ_CATEGORICAL[0],\n description: 'Specify the color used for highlighted nodes.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n nodeTextHighlightColor: {\n description: 'Specify the color used for highlighted nodes text.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n default: '> nodeHighlightColor | maxContrast(nodeHighlightTextColorMaxContrast)',\n },\n nodeSpacingX: {\n default: 32,\n description: 'Specify, in pixels, the horizontal spacing between each node.',\n type: 'number',\n },\n nodeSpacingY: {\n default: 18,\n description: 'Specify, in pixels, the vertical spacing between each node.',\n type: 'number',\n },\n nodeWidth: {\n default: 180,\n description: 'Specify, in pixels, the width of each node.',\n type: 'number',\n },\n resultLimit: {\n default: 50,\n description: 'Specify the number of nodes rendered in each column.',\n type: 'number',\n },\n showNodeCounts: {\n default: true,\n description:\n 'Specify whether a count is shown for the number of nodes displayed in each column. The number of total nodes is also shown if there are hidden nodes.',\n type: 'boolean',\n },\n showValueCounts: {\n default: true,\n description:\n 'Specify whether a count is shown for the frequency of occurrence for each distinct node value.',\n type: 'boolean',\n },\n};\n\nconst themes: ThemedDefaults = {\n defaultBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n defaultNodeColor: props =>\n pick({\n enterprise: {\n dark: variables.backgroundColorDialog(props),\n light: variables.gray96(props),\n },\n prisma: variables.backgroundColorDialog(props),\n })(props),\n inverseDefaultNodeColor: props =>\n pick({\n enterprise: {\n dark: variables.contentColorInverted(props), // equal to textColor in enterprise\n light: variables.white(props), // equal to textColor in enterpriseDark\n },\n prisma: variables.contentColorInverted(props),\n })(props),\n textColor: props =>\n pick({\n enterprise: variables.textColor(props),\n prisma: variables.contentColorDefault(props),\n })(props),\n inverseTextColor: props =>\n pick({\n enterprise: {\n dark: variables.contentColorInverted(props), // equal to textColor in enterprise\n light: variables.white(props), // equal to textColor in enterpriseDark\n },\n prisma: variables.contentColorInverted(props),\n })(props),\n};\n\nconst EDITOR_LABEL_WIDTH = 140;\nconst backgroundColorPaletteSet = new Set([\n ...COLOR_EDITOR_PALETTE,\n ...map(themes, (t): string => get(t, 'defaultBackgroundColor')),\n]);\n\nconst editorConfig: EditorConfig[] = [\n // {\n // label: _('Data'),\n // layout: [\n // [\n // {\n // label: _('Field Ordering'),\n // option: 'fieldOrder',\n // editor: 'editor.arrayOfStrings',\n // editorProps: {\n // themes,\n // labelPosition: 'top',\n // },\n // },\n // ],\n // ],\n // },\n {\n label: _('Data configurations'),\n layout: [\n [\n {\n label: _('Result limit'),\n option: 'resultLimit',\n editor: 'editor.number',\n editorProps: {\n themes,\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n ],\n },\n {\n label: _('Data display'),\n layout: [\n [\n {\n label: _('Show node counts'),\n option: 'showNodeCounts',\n editor: 'editor.checkbox',\n editorProps: {\n themes,\n labelWidth: 130,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Show value counts'),\n option: 'showValueCounts',\n editor: 'editor.checkbox',\n editorProps: {\n themes,\n labelWidth: 130,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n ],\n },\n {\n label: _('Color and style'),\n layout: [\n [\n {\n label: _('Nodes'),\n option: 'nodeColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Selected nodes'),\n option: 'nodeHighlightColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Links'),\n option: 'linkColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Background'),\n option: 'backgroundColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Node width'),\n option: 'nodeWidth',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n {\n label: _('Node height'),\n option: 'nodeHeight',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Vertical spacing'),\n option: 'nodeSpacingY',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n {\n label: _('Horizontal spacing'),\n option: 'nodeSpacingX',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Link width'),\n option: 'linkWidth',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n ],\n },\n];\n\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.linkgraph',\n /**\n * viz name\n */\n name: _('Link graph'),\n category: VizCategory.FLOW,\n status: 'preview',\n /**\n * viz icon\n */\n icon: LinkGraphIcon,\n placeholderIcon: LinkGraphPlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'node.click': {\n description: 'triggered when user clicks a node',\n },\n 'node.mouseover': {\n description: 'triggered when user hovers over a node',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS, VizBehavior.PLACEHOLDER],\n themes,\n};\n\nexport default enhanceConfig(config);\n","module.exports = require(\"lodash\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","export enum VizCategory {\n SINGLE_VALUE = 'Single Value',\n TRENDS = 'Trends',\n COMPARISONS = 'Comparisons',\n TABLE = 'Table',\n GAUGE = 'Gauge',\n DISTRIBUTIONS = 'Distributions',\n CHOROPLETH = 'Choropleth Maps',\n SHAPES = 'Shapes',\n MISC = 'misc',\n FLOW = 'Flow',\n CORRELATION = 'Correlation',\n SPATIAL = 'Spatial',\n}\n","module.exports = require(\"@splunk/themes/pick\");"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"@splunk/themes/variables\"","webpack:///external \"@splunk/visualization-icons/placeholders\"","webpack:///external \"@splunk/visualization-icons\"","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@splunk/visualizations-shared/colorConstants\"","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///./src/common/utils/configUtils.ts","webpack:///./src/LinkGraph/config.ts","webpack:///external \"lodash\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///external \"@splunk/themes/pick\""],"names":["VizBehavior","exports","lodash_1","require","schemaUtils_1","VizBehavior_1","dynamicOptionsDSLType","type","pattern","DYNAMIC_OPTIONS_DSL_PATTERN","enhanceOptionsSchemaWithDynamicOptions","optionsSchema","enhancedOptionsSchema","Object","keys","forEach","key","_a","title","description","readOnly","writeOnly","examples","defaultValue","default","properties","patternProperties","remainingSchemaEntry","__rest","annotations","assign","undefined","enhancedPatternProperties","opt","_defineProperty","anyOf","enhanceConfig","vizConfig","enhancedConfig","supports","indexOf","DYNAMIC_OPTIONS","editorConfig","map","config","open","uncollapseEditorConfig","editorPanelUncollapsedConfig","isDynamicOption","option","trim","startsWith","hasCompatibleContexts","vizContext","presetContext","presetContextKeys","every","contextKey","hasCompatibleOptions","vizOptions","presetOptions","presetOptionKeys","optionKey","getInitialPreset","presets","find","preset","get","length","generatePrecisionValues","numPrecisionValues","range","i","label","concat","repeat","value","insertLayout","layout","index","_len","arguments","layoutItems","Array","_key","_toConsumableArray","slice","visualization_icons_1","placeholders_1","i18n_1","pick_1","variables_1","colorConstants_1","visualization_color_palettes_1","configUtils_1","VizCategory_1","dataContract","requiredDataSources","name","optionalDataSources","initialRequestParams","primary","offset","count","size","initialWidth","initialHeight","defaultContext","nodeTextColorMaxContrast","colors","nodeHighlightTextColorMaxContrast","backgroundColor","COLOR_OR_TOKEN_PATTERN_WITH_RGBA","fieldOrder","items","linkColor","linkWidth","nodeColor","nodeTextColor","nodeHeight","nodeHighlightColor","VIZ_CATEGORICAL","nodeTextHighlightColor","nodeSpacingX","nodeSpacingY","nodeWidth","resultLimit","showNodeCounts","showValueCounts","themes","defaultBackgroundColor","props","enterprise","dark","black","light","prisma","backgroundColorSidebar","defaultNodeColor","backgroundColorDialog","gray96","inverseDefaultNodeColor","contentColorInverted","white","textColor","contentColorDefault","inverseTextColor","EDITOR_LABEL_WIDTH","backgroundColorPaletteSet","Set","COLOR_EDITOR_PALETTE","t","_","editor","editorProps","min","labelWidth","palette","labelPosition","category","VizCategory","FLOW","status","icon","LinkGraph","placeholderIcon","events","EVENTS","PLACEHOLDER"],"mappings":"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","file":"LinkGraph.config.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 55);\n","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"@splunk/themes/variables\");","module.exports = require(\"@splunk/visualization-icons/placeholders\");","module.exports = require(\"@splunk/visualization-icons\");","module.exports = require(\"@splunk/visualization-color-palettes\");","export enum VizBehavior {\n /**\n * Dynamic Options Behavior.\n * This allows visualization options to be powered by data\n *\n * **Example**\n *\n * sparklineValues: \">primary|seriesByIndex(0)\"\n * would configure sparklineValues with an array of data points\n * coming from the first series in the primary datasource\n *\n */\n DYNAMIC_OPTIONS = 'dynamic-options',\n EVENTS = 'events',\n /**\n * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is\n * missing.\n * @type {string}\n */\n PLACEHOLDER = 'placeholder',\n PAGE_AND_SORT = 'page-and-sort',\n TRELLIS = 'trellis',\n}\n","module.exports = require(\"@splunk/visualizations-shared/colorConstants\");","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport type { JSONSchema7Definition } from 'json-schema';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\nimport { EditorLayoutConfig, EditorConfig } from '../interfaces/Editor';\n\nexport interface PresetEntry {\n name: string;\n value: any;\n label: string;\n}\n\nconst dynamicOptionsDSLType = {\n type: 'string',\n pattern: DYNAMIC_OPTIONS_DSL_PATTERN,\n} as const;\n\n/**\n * Helper function to extend an options schema with dynamic options DSL\n * @param optionsSchema a visualization's options schema\n * @returns an updated options schema that additionally allows strings starting with > for each option\n */\nfunction enhanceOptionsSchemaWithDynamicOptions(\n optionsSchema: OptionsSchema | JSONSchema7Definition\n): OptionsSchema {\n const enhancedOptionsSchema: OptionsSchema = {};\n Object.keys(optionsSchema).forEach((key): void => {\n const {\n // The next a few are schema annotations, we should leave them as is.\n // Note: in reality we don't use `readOnly`, `writeOnly` or `examples`, but they are listed here for completeness.\n // Ref: https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-01\n title,\n description,\n readOnly,\n writeOnly,\n examples,\n default: defaultValue,\n // The next a few need special care\n type,\n properties,\n patternProperties,\n // The rest should be handled together\n ...remainingSchemaEntry\n } = optionsSchema[key];\n\n const annotations = {\n ...(title !== undefined && { title }),\n ...(description !== undefined && { description }),\n ...(readOnly !== undefined && { readOnly }),\n ...(writeOnly !== undefined && { writeOnly }),\n ...(examples !== undefined && { examples }),\n ...(defaultValue !== undefined && { default: defaultValue }),\n };\n\n if (type === 'object') {\n enhancedOptionsSchema[key] = {\n ...remainingSchemaEntry,\n ...annotations,\n type,\n ...(properties && { properties: enhanceOptionsSchemaWithDynamicOptions(properties) }),\n };\n if (patternProperties) {\n let enhancedPatternProperties = {};\n Object.keys(patternProperties).forEach((opt): void => {\n enhancedPatternProperties = {\n ...enhancedPatternProperties,\n ...enhanceOptionsSchemaWithDynamicOptions({ [opt]: patternProperties[opt] }),\n };\n });\n enhancedOptionsSchema[key].patternProperties = enhancedPatternProperties;\n }\n } else {\n enhancedOptionsSchema[key] = {\n ...annotations,\n anyOf: [\n // we can't assume `type` is always there because there are `enum` and `const`.\n { ...(type !== undefined && { type }), ...remainingSchemaEntry },\n dynamicOptionsDSLType,\n ],\n };\n }\n });\n return enhancedOptionsSchema;\n}\n\n/**\n * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block\n * this function also collapse all editor panels\n * @param vizConfig a Visualization Config\n * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports\n * and containing `open: false` for all editor panels in editorConfig\n */\nfunction enhanceConfig(vizConfig: VizConfig): VizConfig {\n const enhancedConfig: VizConfig = { ...vizConfig };\n if (vizConfig.supports.indexOf(VizBehavior.DYNAMIC_OPTIONS) !== -1) {\n enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);\n }\n enhancedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: config.open || false };\n }\n );\n return enhancedConfig;\n}\n\n/**\n * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig\n * Created for editor unit tests\n * @param vizConfig a Visualization Config\n * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig\n */\nfunction uncollapseEditorConfig(vizConfig: VizConfig): VizConfig {\n const editorPanelUncollapsedConfig: VizConfig = { ...vizConfig };\n editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: true };\n }\n );\n return editorPanelUncollapsedConfig;\n}\n\nfunction isDynamicOption(option?: string): boolean {\n return (option && typeof option === 'string' && option.trim().startsWith('>')) || false;\n}\n\n// private helpers to improve readability of getInitialPreset\n// this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset\n\n/**\n * this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset\n * if a preset has explicitly specified a key as being undefined, the vizContext must also has that key as undefined, or else this CANNOT be the initialPreset\n * the inverse is true; if a preset has key is NOT undefined, it must also be NOT undefined in the corresponding vizContext\n * the internal config contents are irrelevant (as the user could customize them in source), just as long as the presence of `undefined`s match up\n *\n * Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values\n */\nfunction hasCompatibleContexts(\n vizContext: { [configKey: string]: any },\n presetContext: { [configKey: string]: any }\n): boolean {\n const presetContextKeys = Object.keys(presetContext);\n return presetContextKeys.every(\n (contextKey): boolean =>\n (presetContext[contextKey] === undefined && vizContext[contextKey] === undefined) ||\n (presetContext[contextKey] !== undefined && vizContext[contextKey] !== undefined)\n );\n}\n\n/**\n * Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions\n */\nfunction hasCompatibleOptions(\n vizOptions: { [configKey: string]: any },\n presetOptions: { [configKey: string]: any }\n): boolean {\n const presetOptionKeys = Object.keys(presetOptions);\n return presetOptionKeys.every(\n (optionKey): boolean =>\n isDynamicOption(presetOptions[optionKey]) === isDynamicOption(vizOptions[optionKey])\n );\n}\n\n/**\n * Evaluates whether there is an initialPreset that fits the current state of vizContext + vizOptions\n * This function ignores extraneous vizOptions or vizContext keys, as they could be outside the scope of what the preset is intended to configure\n *\n * @param {Object} vizContext - the current vizContext definition\n * @param {Object} vizOptions - the current vizOptions definition\n * @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset\n */\nfunction getInitialPreset(\n vizContext: { [configKey: string]: any },\n vizOptions: { [configKey: string]: any },\n presets: PresetEntry[]\n): PresetEntry | null {\n return presets.find((preset): boolean => {\n const presetContext = get(preset, ['value', 'context'], {});\n const presetOptions = get(preset, ['value', 'options'], {});\n const presetContextKeys = Object.keys(presetContext);\n const presetOptionKeys = Object.keys(presetOptions);\n\n // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)\n // if not, then the preset is invalid in config.ts\n if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;\n\n return (\n hasCompatibleContexts(vizContext, presetContext) &&\n hasCompatibleOptions(vizOptions, presetOptions)\n );\n });\n}\n\ninterface PrecisionOption {\n label: string;\n value: number;\n}\n\n/**\n * generates number precision values for a Select editor\n *\n * @param {Number} numPrecisionValues - number of integer precision values to generate\n * @returns {{ label: string; value; string }[]} array of { label, value } tuples\n */\nfunction generatePrecisionValues(numPrecisionValues: number): PrecisionOption[] {\n return range(0, numPrecisionValues + 1).map(\n (i): PrecisionOption => ({\n label: `${i} (0${i > 0 ? '.' : ''}${'0'.repeat(i)})`, // e.g. 0.000 for numPrecisionValues = 3\n value: i,\n })\n );\n}\n\nexport {\n enhanceConfig,\n enhanceOptionsSchemaWithDynamicOptions,\n getInitialPreset,\n generatePrecisionValues,\n uncollapseEditorConfig,\n isDynamicOption,\n};\n\n/**\n * insert layout in layout array, return a new layout array instead of updating the original\n *\n * @param {EditorLayoutConfig[][]} layout - editor layout\n * @param {Number} index - the index to insert layout item(s)\n * @param {EditorLayoutConfig[][]} layoutItems - the item(s) to insert\n * @returns {EditorLayoutConfig[][]} new editor layout with insertion\n */\nexport const insertLayout = (\n layout: EditorLayoutConfig[][],\n index: number,\n ...layoutItems: EditorLayoutConfig[][]\n): EditorLayoutConfig[][] => [\n // copy part of the array before the specified index\n ...layout.slice(0, index),\n // inserted layout item\n ...layoutItems,\n // copy part of the array after the specified index\n ...layout.slice(index),\n];\n","import { map, get } from 'lodash';\nimport { LinkGraph as LinkGraphIcon } from '@splunk/visualization-icons';\nimport { LinkGraph as LinkGraphPlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { COLOR_OR_TOKEN_PATTERN_WITH_RGBA } from '@splunk/visualizations-shared/schemaUtils';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { COLOR_EDITOR_PALETTE } from '@splunk/visualizations-shared/colorConstants';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [\n // {\n // name: 'metadata',\n // description: 'Used buy the ES team along side the feature flag `LinkGraph.showNodeMetaData`',\n // },\n ],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 900,\n initialHeight: 400,\n};\n\nconst defaultContext: DefaultContext = {\n nodeTextColorMaxContrast: {\n colors: ['> themes.textColor', '> themes.inverseTextColor'],\n default: '> themes.textColor',\n },\n nodeHighlightTextColorMaxContrast: {\n colors: ['> themes.defaultNodeColor', '> themes.inverseDefaultNodeColor'],\n default: '> themes.textColor',\n },\n};\n\nconst optionsSchema: OptionsSchema = {\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify the color for the background. You may use a dataSource to apply the color. The default for enterprise light is \"#ffffff\". The default for enterprise dark is \"#000000\". The default for prisma dark is \"#0b0c0e\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n fieldOrder: {\n default: '> primary | getField()',\n description:\n 'Specify the order of fields to be displayed in the link graph from left to right when loaded. Unspecified fields will be excluded from the graph.',\n type: 'array',\n items: {\n type: 'string',\n },\n },\n linkColor: {\n default: '#6d6f76',\n description:\n 'Specify the color used for highlighted links. Unhighlighted links will be displayed at 20% opacity.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n linkWidth: {\n default: 1,\n description: 'Specify, in pixels, the stroke width of each link.',\n type: 'number',\n },\n nodeColor: {\n default: '> themes.defaultNodeColor',\n description: 'Specify the color used for unhighlighted nodes.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n nodeTextColor: {\n description: 'Specify the color used for unhighlighted nodes text.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n default: '> nodeColor | maxContrast(nodeTextColorMaxContrast)',\n },\n nodeHeight: {\n default: 21,\n description: 'Specify, in pixels, the height of each node.',\n type: 'number',\n },\n nodeHighlightColor: {\n default: VIZ_CATEGORICAL[0],\n description: 'Specify the color used for highlighted nodes.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n nodeTextHighlightColor: {\n description: 'Specify the color used for highlighted nodes text.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n default: '> nodeHighlightColor | maxContrast(nodeHighlightTextColorMaxContrast)',\n },\n nodeSpacingX: {\n default: 32,\n description: 'Specify, in pixels, the horizontal spacing between each node.',\n type: 'number',\n },\n nodeSpacingY: {\n default: 18,\n description: 'Specify, in pixels, the vertical spacing between each node.',\n type: 'number',\n },\n nodeWidth: {\n default: 180,\n description: 'Specify, in pixels, the width of each node.',\n type: 'number',\n },\n resultLimit: {\n default: 50,\n description: 'Specify the number of nodes rendered in each column.',\n type: 'number',\n },\n showNodeCounts: {\n default: true,\n description:\n 'Specify whether a count is shown for the number of nodes displayed in each column. The number of total nodes is also shown if there are hidden nodes.',\n type: 'boolean',\n },\n showValueCounts: {\n default: true,\n description:\n 'Specify whether a count is shown for the frequency of occurrence for each distinct node value.',\n type: 'boolean',\n },\n};\n\nconst themes: ThemedDefaults = {\n defaultBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n defaultNodeColor: props =>\n pick({\n enterprise: {\n dark: variables.backgroundColorDialog(props),\n light: variables.gray96(props),\n },\n prisma: variables.backgroundColorDialog(props),\n })(props),\n inverseDefaultNodeColor: props =>\n pick({\n enterprise: {\n dark: variables.contentColorInverted(props), // equal to textColor in enterprise\n light: variables.white(props), // equal to textColor in enterpriseDark\n },\n prisma: variables.contentColorInverted(props),\n })(props),\n textColor: props =>\n pick({\n enterprise: variables.textColor(props),\n prisma: variables.contentColorDefault(props),\n })(props),\n inverseTextColor: props =>\n pick({\n enterprise: {\n dark: variables.contentColorInverted(props), // equal to textColor in enterprise\n light: variables.white(props), // equal to textColor in enterpriseDark\n },\n prisma: variables.contentColorInverted(props),\n })(props),\n};\n\nconst EDITOR_LABEL_WIDTH = 140;\nconst backgroundColorPaletteSet = new Set([\n ...COLOR_EDITOR_PALETTE,\n ...map(themes, (t): string => get(t, 'defaultBackgroundColor')),\n]);\n\nconst editorConfig: EditorConfig[] = [\n // {\n // label: _('Data'),\n // layout: [\n // [\n // {\n // label: _('Field Ordering'),\n // option: 'fieldOrder',\n // editor: 'editor.arrayOfStrings',\n // editorProps: {\n // themes,\n // labelPosition: 'top',\n // },\n // },\n // ],\n // ],\n // },\n {\n label: _('Data configurations'),\n layout: [\n [\n {\n label: _('Result limit'),\n option: 'resultLimit',\n editor: 'editor.number',\n editorProps: {\n themes,\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n ],\n },\n {\n label: _('Data display'),\n layout: [\n [\n {\n label: _('Show node counts'),\n option: 'showNodeCounts',\n editor: 'editor.checkbox',\n editorProps: {\n themes,\n labelWidth: 130,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Show value counts'),\n option: 'showValueCounts',\n editor: 'editor.checkbox',\n editorProps: {\n themes,\n labelWidth: 130,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n ],\n },\n {\n label: _('Color and style'),\n layout: [\n [\n {\n label: _('Nodes'),\n option: 'nodeColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Selected nodes'),\n option: 'nodeHighlightColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Links'),\n option: 'linkColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Background'),\n option: 'backgroundColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Node width'),\n option: 'nodeWidth',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n {\n label: _('Node height'),\n option: 'nodeHeight',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Vertical spacing'),\n option: 'nodeSpacingY',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n {\n label: _('Horizontal spacing'),\n option: 'nodeSpacingX',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Link width'),\n option: 'linkWidth',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n ],\n },\n];\n\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.linkgraph',\n /**\n * viz name\n */\n name: _('Link graph'),\n category: VizCategory.FLOW,\n status: 'preview',\n /**\n * viz icon\n */\n icon: LinkGraphIcon,\n placeholderIcon: LinkGraphPlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'node.click': {\n description: 'triggered when user clicks a node',\n },\n 'node.mouseover': {\n description: 'triggered when user hovers over a node',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS, VizBehavior.PLACEHOLDER],\n themes,\n};\n\nexport default enhanceConfig(config);\n","module.exports = require(\"lodash\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","export enum VizCategory {\n SINGLE_VALUE = 'Single Value',\n TRENDS = 'Trends',\n COMPARISONS = 'Comparisons',\n TABLE = 'Table',\n GAUGE = 'Gauge',\n DISTRIBUTIONS = 'Distributions',\n CHOROPLETH = 'Choropleth Maps',\n SHAPES = 'Shapes',\n MISC = 'misc',\n FLOW = 'Flow',\n CORRELATION = 'Correlation',\n SPATIAL = 'Spatial',\n}\n","module.exports = require(\"@splunk/themes/pick\");"],"sourceRoot":""}