@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
@@ -142,7 +142,7 @@ var background = function background(_ref) {
142
142
  themes = _ref.themes,
143
143
  labelPosition = _ref.labelPosition;
144
144
  return [{
145
- label: i18n_1._(label || 'Background'),
145
+ label: (0, i18n_1._)(label || 'Background'),
146
146
  option: 'backgroundColor',
147
147
  editor: 'editor.color',
148
148
  editorProps: {
@@ -366,8 +366,8 @@ function hasCompatibleOptions(vizOptions, presetOptions) {
366
366
  */
367
367
  function getInitialPreset(vizContext, vizOptions, presets) {
368
368
  return presets.find(function (preset) {
369
- var presetContext = lodash_1.get(preset, ['value', 'context'], {});
370
- var presetOptions = lodash_1.get(preset, ['value', 'options'], {});
369
+ var presetContext = (0, lodash_1.get)(preset, ['value', 'context'], {});
370
+ var presetOptions = (0, lodash_1.get)(preset, ['value', 'options'], {});
371
371
  var presetContextKeys = Object.keys(presetContext);
372
372
  var presetOptionKeys = Object.keys(presetOptions);
373
373
  // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)
@@ -384,7 +384,7 @@ exports.getInitialPreset = getInitialPreset;
384
384
  * @returns {{ label: string; value; string }[]} array of { label, value } tuples
385
385
  */
386
386
  function generatePrecisionValues(numPrecisionValues) {
387
- return lodash_1.range(0, numPrecisionValues + 1).map(function (i) {
387
+ return (0, lodash_1.range)(0, numPrecisionValues + 1).map(function (i) {
388
388
  return {
389
389
  label: "".concat(i, " (0").concat(i > 0 ? '.' : '').concat('0'.repeat(i), ")"),
390
390
  value: i
@@ -532,7 +532,7 @@ var optionsSchema = {
532
532
  bubbleLabelDisplay: {
533
533
  default: 'all',
534
534
  description: 'Specify whether all bubble labels, the max value bubble labels, or none of the bubble labels should be displayed.',
535
- pattern: schemaUtils_1.getPattern(['all', 'max', 'off']),
535
+ pattern: (0, schemaUtils_1.getPattern)(['all', 'max', 'off']),
536
536
  type: 'string'
537
537
  },
538
538
  bubbleRadiusMax: {
@@ -548,7 +548,7 @@ var optionsSchema = {
548
548
  bubbleRowScale: {
549
549
  default: 'global',
550
550
  description: 'Specify how bubbles are scaled relative to other rows.',
551
- pattern: schemaUtils_1.getPattern(['global', 'row']),
551
+ pattern: (0, schemaUtils_1.getPattern)(['global', 'row']),
552
552
  type: 'string'
553
553
  },
554
554
  bubbleSizeMax: {
@@ -564,19 +564,19 @@ var optionsSchema = {
564
564
  bubbleSizeMethod: {
565
565
  default: 'area',
566
566
  description: 'Specify whether bubble area or diameter corresponds to the size value.',
567
- pattern: schemaUtils_1.getPattern(['radius', 'area']),
567
+ pattern: (0, schemaUtils_1.getPattern)(['radius', 'area']),
568
568
  type: 'string'
569
569
  },
570
570
  colorMode: {
571
571
  default: 'dynamic',
572
572
  description: 'Specify the coloring method used for the bubbles.',
573
- pattern: schemaUtils_1.getPattern(['categorical', 'dynamic']),
573
+ pattern: (0, schemaUtils_1.getPattern)(['categorical', 'dynamic']),
574
574
  type: 'string'
575
575
  },
576
576
  legendDisplay: {
577
577
  default: 'right',
578
578
  description: 'Specify the location of the legend on the panel.',
579
- pattern: schemaUtils_1.getPattern(['right', 'off']),
579
+ pattern: (0, schemaUtils_1.getPattern)(['right', 'off']),
580
580
  type: 'string'
581
581
  },
582
582
  seriesColors: {
@@ -605,7 +605,7 @@ var optionsSchema = {
605
605
  };
606
606
  var themes = {
607
607
  defaultBackgroundColor: function defaultBackgroundColor(props) {
608
- return pick_1.default({
608
+ return (0, pick_1.default)({
609
609
  enterprise: {
610
610
  dark: variables_1.default.black(props),
611
611
  light: variables_1.default.backgroundColor(props)
@@ -615,73 +615,73 @@ var themes = {
615
615
  }
616
616
  };
617
617
  var editorConfig = [{
618
- label: i18n_1._('Data display'),
618
+ label: (0, i18n_1._)('Data display'),
619
619
  layout: [[{
620
- label: i18n_1._('Show bubble labels'),
620
+ label: (0, i18n_1._)('Show bubble labels'),
621
621
  option: 'bubbleLabelDisplay',
622
622
  editor: 'editor.radioBar',
623
623
  editorProps: {
624
624
  values: [{
625
- label: i18n_1._('All'),
625
+ label: (0, i18n_1._)('All'),
626
626
  value: 'all'
627
627
  }, {
628
- label: i18n_1._('Max'),
628
+ label: (0, i18n_1._)('Max'),
629
629
  value: 'max'
630
630
  }, {
631
- label: i18n_1._('Off'),
631
+ label: (0, i18n_1._)('Off'),
632
632
  value: 'off'
633
633
  }]
634
634
  }
635
635
  }], [{
636
- label: i18n_1._('Pulsate max value'),
636
+ label: (0, i18n_1._)('Pulsate max value'),
637
637
  option: 'showMaxValuePulsation',
638
638
  editor: 'editor.toggle'
639
639
  }], [{
640
- label: i18n_1._('Bubble scale'),
640
+ label: (0, i18n_1._)('Bubble scale'),
641
641
  option: 'bubbleSizeMethod',
642
642
  editor: 'editor.radioBar',
643
643
  editorProps: {
644
644
  values: [{
645
- label: i18n_1._('Radius'),
645
+ label: (0, i18n_1._)('Radius'),
646
646
  value: 'radius'
647
647
  }, {
648
- label: i18n_1._('Area'),
648
+ label: (0, i18n_1._)('Area'),
649
649
  value: 'area'
650
650
  }]
651
651
  }
652
652
  }], [{
653
- label: i18n_1._('Bubble row scale'),
653
+ label: (0, i18n_1._)('Bubble row scale'),
654
654
  option: 'bubbleRowScale',
655
655
  editor: 'editor.radioBar',
656
656
  editorProps: {
657
657
  values: [{
658
- label: i18n_1._('Global'),
658
+ label: (0, i18n_1._)('Global'),
659
659
  value: 'global'
660
660
  }, {
661
- label: i18n_1._('By Row'),
661
+ label: (0, i18n_1._)('By Row'),
662
662
  value: 'row'
663
663
  }]
664
664
  }
665
665
  }]]
666
666
  }, {
667
- label: i18n_1._('Color and style'),
667
+ label: (0, i18n_1._)('Color and style'),
668
668
  layout: [[{
669
- label: i18n_1._('Color mode'),
669
+ label: (0, i18n_1._)('Color mode'),
670
670
  option: 'colorMode',
671
671
  editor: 'editor.radioBar',
672
672
  editorProps: {
673
673
  values: [{
674
- label: i18n_1._('Dynamic'),
674
+ label: (0, i18n_1._)('Dynamic'),
675
675
  value: 'dynamic'
676
676
  }, {
677
- label: i18n_1._('Categorical'),
677
+ label: (0, i18n_1._)('Categorical'),
678
678
  value: 'categorical'
679
679
  }]
680
680
  }
681
681
  }], [
682
682
  // This should be hidden in categorical color mode
683
683
  {
684
- label: i18n_1._('Color by field'),
684
+ label: (0, i18n_1._)('Color by field'),
685
685
  editor: 'editor.columnSelector',
686
686
  option: 'bubbleColor',
687
687
  context: 'bubbleColorConfig',
@@ -701,18 +701,18 @@ var editorConfig = [{
701
701
  };
702
702
  }
703
703
  }
704
- }], BackgroundColor_1.default({
704
+ }], (0, BackgroundColor_1.default)({
705
705
  themes: themes
706
706
  }), [{
707
- label: i18n_1._('Legend display'),
707
+ label: (0, i18n_1._)('Legend display'),
708
708
  option: 'legendDisplay',
709
709
  editor: 'editor.select',
710
710
  editorProps: {
711
711
  values: [{
712
- label: i18n_1._('Right'),
712
+ label: (0, i18n_1._)('Right'),
713
713
  value: 'right'
714
714
  }, {
715
- label: i18n_1._('Off'),
715
+ label: (0, i18n_1._)('Off'),
716
716
  value: 'off'
717
717
  }]
718
718
  },
@@ -733,7 +733,7 @@ var config = {
733
733
  /**
734
734
  * viz name
735
735
  */
736
- name: i18n_1._('Punchcard'),
736
+ name: (0, i18n_1._)('Punchcard'),
737
737
  category: VizCategory_1.VizCategory.CORRELATION,
738
738
  /**
739
739
  * viz icon
@@ -757,7 +757,7 @@ var config = {
757
757
  themes: themes,
758
758
  requiredProps: ['x', 'y', 'size']
759
759
  };
760
- exports.default = configUtils_1.enhanceConfig(config);
760
+ exports.default = (0, configUtils_1.enhanceConfig)(config);
761
761
 
762
762
  /***/ }),
763
763
 
@@ -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:///./src/common/editorConfig/BackgroundColor.ts","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"lodash\"","webpack:///./src/Punchcard/config.ts","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///external \"@splunk/themes/pick\""],"names":["i18n_1","require","background","_ref","label","themes","labelPosition","_","option","editor","editorProps","exports","default","VizBehavior","lodash_1","schemaUtils_1","VizBehavior_1","dynamicOptionsDSLType","type","pattern","DYNAMIC_OPTIONS_DSL_PATTERN","enhanceOptionsSchemaWithDynamicOptions","optionsSchema","enhancedOptionsSchema","Object","keys","forEach","key","_a","title","description","readOnly","writeOnly","examples","defaultValue","properties","patternProperties","remainingSchemaEntry","__rest","annotations","assign","undefined","enhancedPatternProperties","opt","_defineProperty","anyOf","enhanceConfig","vizConfig","enhancedConfig","supports","indexOf","DYNAMIC_OPTIONS","editorConfig","map","config","open","uncollapseEditorConfig","editorPanelUncollapsedConfig","isDynamicOption","trim","startsWith","hasCompatibleContexts","vizContext","presetContext","presetContextKeys","every","contextKey","hasCompatibleOptions","vizOptions","presetOptions","presetOptionKeys","optionKey","getInitialPreset","presets","find","preset","get","length","generatePrecisionValues","numPrecisionValues","range","i","concat","repeat","value","insertLayout","layout","index","_len","arguments","layoutItems","Array","_key","_toConsumableArray","slice","visualization_icons_1","placeholders_1","visualization_color_palettes_1","pick_1","variables_1","VizCategory_1","configUtils_1","BackgroundColor_1","dataContract","requiredDataSources","name","optionalDataSources","initialRequestParams","primary","offset","count","size","initialWidth","initialHeight","defaultContext","bubbleColorConfig","colors","x","items","y","category","xField","yField","categoryField","sizeField","backgroundColor","COLOR_OR_TOKEN_PATTERN_WITH_RGBA","bubbleColor","bubbleLabelDisplay","getPattern","bubbleRadiusMax","bubbleRadiusMin","bubbleRowScale","bubbleSizeMax","bubbleSizeMin","bubbleSizeMethod","colorMode","legendDisplay","seriesColors","VIZ_CATEGORICAL","showDefaultSort","showDynamicBubbleSize","showMaxValuePulsation","defaultBackgroundColor","props","enterprise","dark","black","light","prisma","backgroundColorSidebar","values","context","showEditor","options","dataSourceKey","prepareValue","definition","_ref2","VizCategory","CORRELATION","icon","Punchcard","placeholderIcon","events","PLACEHOLDER","EVENTS","requiredProps"],"mappings":"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","file":"Punchcard.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 = 69);\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\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorLayoutConfig } from '../interfaces/Editor';\nimport { ThemedDefaults } from '../interfaces/ThemedDefaults';\n\ninterface backgroundEditorProps {\n label?: string;\n themes: ThemedDefaults;\n labelPosition?: string;\n}\n\nconst background: ({ label, themes, labelPosition }: backgroundEditorProps) => EditorLayoutConfig[] = ({\n label,\n themes,\n labelPosition,\n}) => [\n {\n label: _(label || 'Background'),\n option: 'backgroundColor',\n editor: 'editor.color',\n editorProps: {\n labelPosition: labelPosition || 'top',\n themes,\n },\n },\n];\n\nexport default background;\n","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/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","module.exports = require(\"lodash\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { COLOR_OR_TOKEN_PATTERN_WITH_RGBA, getPattern } from '@splunk/visualizations-shared/schemaUtils';\nimport { Punchcard as PunchcardIcon } from '@splunk/visualization-icons';\nimport { Punchcard as PunchcardPlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\n\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport getBackgroundColorEditor from '../common/editorConfig/BackgroundColor';\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [\n // Note: SCP-14090 disable ui for optional datasources. We may need to add it back later\n // {\n // name: 'annotation',\n // description: 'DataSource that populate event annotations',\n // },\n ],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 300,\n initialHeight: 300,\n};\n\nconst defaultContext: DefaultContext = {\n bubbleColorConfig: {\n colors: ['rgba(123,86,219,0.4)', 'rgba(123,86,219,1)'],\n },\n};\n\nconst optionsSchema: OptionsSchema = {\n x: {\n default: '> primary | seriesByIndex(0)',\n description: 'Specify the dataSource applied to the x-axis.',\n type: 'array',\n items: { type: ['string', 'number'] },\n },\n y: {\n default: '> primary | seriesByIndex(1)',\n description: 'Specify the dataSource applied to the y-axis.',\n type: 'array',\n items: { type: ['string', 'number'] },\n },\n category: {\n default: '> primary | seriesByIndex(3)',\n description: 'Specify the dataSource to apply series categories.',\n type: 'array',\n items: { type: ['string', 'number'] },\n },\n size: {\n default: '> primary | seriesByIndex(2)',\n description: 'Specify the dataSource to apply bubble size in the chart.',\n type: 'array',\n items: { type: 'number' },\n },\n xField: {\n default: '> x | getField()',\n description: 'Specify the field that should be mapped to the x-axis.',\n type: 'string',\n },\n yField: {\n default: '> y | getField()',\n description: 'Specify the field that should be mapped to the y-axis.',\n type: 'string',\n },\n categoryField: {\n default: '> category | getField()',\n description: 'Specify the field that should be mapped to the series categories.',\n type: 'string',\n },\n sizeField: {\n default: '> size | getField()',\n description: 'Specify the field that should be mapped to the bubble size in the chart.',\n type: 'string',\n },\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify the color used for the background. The default for enterprise light is \"#ffffff\". The default for enterprise dark is \"#000000\". The default for prisma dark is \"#0b0c0e\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n bubbleColor: {\n default: '> size | gradient(bubbleColorConfig)',\n description:\n 'Specify the coloring method used for the bubbles when the colorMode “dynamic” is specified. For example “> size | gradient(bubbleColorConfig)\".',\n type: ['string', 'array'],\n },\n bubbleLabelDisplay: {\n default: 'all',\n description:\n 'Specify whether all bubble labels, the max value bubble labels, or none of the bubble labels should be displayed.',\n pattern: getPattern(['all', 'max', 'off']),\n type: 'string',\n },\n bubbleRadiusMax: {\n default: 15,\n description:\n 'Specify the max radius (in pixels) of the bubbles when showDynamicBubbleSize option is false. Greater than 0.',\n type: 'number',\n },\n bubbleRadiusMin: {\n default: 1,\n description:\n 'Specify the min radius (in pixels) of the bubbles when showDynamicBubbleSize option is false. Greater than 0.',\n type: 'number',\n },\n bubbleRowScale: {\n default: 'global',\n description: 'Specify how bubbles are scaled relative to other rows.',\n pattern: getPattern(['global', 'row']),\n type: 'string',\n },\n bubbleSizeMax: {\n default: 1,\n description:\n 'Specify the max percentage (in decimal format) of space a bubble should take up within a cell when showDynamicBubbleSize option is true. The number specified must be between 0 and 1.',\n type: 'number',\n },\n bubbleSizeMin: {\n default: 0.25,\n description:\n 'Specify the min percentage (in decimal format) of space a bubble should take up within a cell when showDynamicBubbleSize option is true. The number specified must be between 0 and 1.',\n type: 'number',\n },\n bubbleSizeMethod: {\n default: 'area',\n description: 'Specify whether bubble area or diameter corresponds to the size value.',\n pattern: getPattern(['radius', 'area']),\n type: 'string',\n },\n colorMode: {\n default: 'dynamic',\n description: 'Specify the coloring method used for the bubbles.',\n pattern: getPattern(['categorical', 'dynamic']),\n type: 'string',\n },\n legendDisplay: {\n default: 'right',\n description: 'Specify the location of the legend on the panel.',\n pattern: getPattern(['right', 'off']),\n type: 'string',\n },\n seriesColors: {\n default: VIZ_CATEGORICAL,\n description: 'Specify the colors used for a series. For example, \"#FF0000\", \"#0000FF\", \"#008000\".',\n type: 'array',\n items: {\n type: 'string',\n },\n },\n showDefaultSort: {\n default: false,\n description: 'Specify whether axes should be sorted based on order of time, digits and strings.',\n type: 'boolean',\n },\n showDynamicBubbleSize: {\n default: true,\n description: 'Specify whether the bubble size should be dynamic or fixed.',\n type: 'boolean',\n },\n showMaxValuePulsation: {\n default: true,\n description: 'Specify whether the max value bubble should pulsate.',\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};\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Data display'),\n layout: [\n [\n {\n label: _('Show bubble labels'),\n option: 'bubbleLabelDisplay',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('All'), value: 'all' },\n { label: _('Max'), value: 'max' },\n { label: _('Off'), value: 'off' },\n ],\n },\n },\n ],\n [\n {\n label: _('Pulsate max value'),\n option: 'showMaxValuePulsation',\n editor: 'editor.toggle',\n },\n ],\n [\n {\n label: _('Bubble scale'),\n option: 'bubbleSizeMethod',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Radius'), value: 'radius' },\n { label: _('Area'), value: 'area' },\n ],\n },\n },\n ],\n [\n {\n label: _('Bubble row scale'),\n option: 'bubbleRowScale',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Global'), value: 'global' },\n { label: _('By Row'), value: 'row' },\n ],\n },\n },\n ],\n ],\n },\n {\n label: _('Color and style'),\n layout: [\n [\n {\n label: _('Color mode'),\n option: 'colorMode',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Dynamic'), value: 'dynamic' },\n { label: _('Categorical'), value: 'categorical' },\n ],\n },\n },\n ],\n [\n // This should be hidden in categorical color mode\n {\n label: _('Color by field'),\n editor: 'editor.columnSelector',\n option: 'bubbleColor',\n context: 'bubbleColorConfig',\n showEditor: ({ options }) =>\n options.colorMode === 'dynamic' || options.colorMode === undefined,\n editorProps: {\n dataSourceKey: 'primary',\n prepareValue: (\n definition\n ): { context: Record<string, any>; options: Record<string, any> } => {\n const {\n options: { bubbleColor },\n } = definition;\n return {\n context: {},\n options: {\n bubbleColor: `${bubbleColor} | gradient(bubbleColorConfig)`,\n },\n };\n },\n },\n },\n ],\n getBackgroundColorEditor({ themes }),\n [\n {\n label: _('Legend display'),\n option: 'legendDisplay',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Right'), value: 'right' },\n { label: _('Off'), value: 'off' },\n ],\n },\n showEditor: ({ options }) => options.colorMode === 'categorical',\n },\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.punchcard',\n /**\n * viz name\n */\n name: _('Punchcard'),\n category: VizCategory.CORRELATION,\n /**\n * viz icon\n */\n icon: PunchcardIcon,\n placeholderIcon: PunchcardPlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'legend.click': {\n description: 'Triggered when user clicks a chart legend',\n },\n 'point.click': {\n description: 'Triggered when user clicks a data point',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.PLACEHOLDER, VizBehavior.EVENTS],\n themes,\n requiredProps: ['x', 'y', 'size'],\n};\n\nexport default enhanceConfig(config);\n","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:///./src/common/editorConfig/BackgroundColor.ts","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"lodash\"","webpack:///./src/Punchcard/config.ts","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///external \"@splunk/themes/pick\""],"names":["i18n_1","require","background","_ref","label","themes","labelPosition","_","option","editor","editorProps","exports","default","VizBehavior","lodash_1","schemaUtils_1","VizBehavior_1","dynamicOptionsDSLType","type","pattern","DYNAMIC_OPTIONS_DSL_PATTERN","enhanceOptionsSchemaWithDynamicOptions","optionsSchema","enhancedOptionsSchema","Object","keys","forEach","key","_a","title","description","readOnly","writeOnly","examples","defaultValue","properties","patternProperties","remainingSchemaEntry","__rest","annotations","assign","undefined","enhancedPatternProperties","opt","_defineProperty","anyOf","enhanceConfig","vizConfig","enhancedConfig","supports","indexOf","DYNAMIC_OPTIONS","editorConfig","map","config","open","uncollapseEditorConfig","editorPanelUncollapsedConfig","isDynamicOption","trim","startsWith","hasCompatibleContexts","vizContext","presetContext","presetContextKeys","every","contextKey","hasCompatibleOptions","vizOptions","presetOptions","presetOptionKeys","optionKey","getInitialPreset","presets","find","preset","get","length","generatePrecisionValues","numPrecisionValues","range","i","concat","repeat","value","insertLayout","layout","index","_len","arguments","layoutItems","Array","_key","_toConsumableArray","slice","visualization_icons_1","placeholders_1","visualization_color_palettes_1","pick_1","variables_1","VizCategory_1","configUtils_1","BackgroundColor_1","dataContract","requiredDataSources","name","optionalDataSources","initialRequestParams","primary","offset","count","size","initialWidth","initialHeight","defaultContext","bubbleColorConfig","colors","x","items","y","category","xField","yField","categoryField","sizeField","backgroundColor","COLOR_OR_TOKEN_PATTERN_WITH_RGBA","bubbleColor","bubbleLabelDisplay","getPattern","bubbleRadiusMax","bubbleRadiusMin","bubbleRowScale","bubbleSizeMax","bubbleSizeMin","bubbleSizeMethod","colorMode","legendDisplay","seriesColors","VIZ_CATEGORICAL","showDefaultSort","showDynamicBubbleSize","showMaxValuePulsation","defaultBackgroundColor","props","enterprise","dark","black","light","prisma","backgroundColorSidebar","values","context","showEditor","options","dataSourceKey","prepareValue","definition","_ref2","VizCategory","CORRELATION","icon","Punchcard","placeholderIcon","events","PLACEHOLDER","EVENTS","requiredProps"],"mappings":"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","file":"Punchcard.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 = 69);\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\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorLayoutConfig } from '../interfaces/Editor';\nimport { ThemedDefaults } from '../interfaces/ThemedDefaults';\n\ninterface backgroundEditorProps {\n label?: string;\n themes: ThemedDefaults;\n labelPosition?: string;\n}\n\nconst background: ({ label, themes, labelPosition }: backgroundEditorProps) => EditorLayoutConfig[] = ({\n label,\n themes,\n labelPosition,\n}) => [\n {\n label: _(label || 'Background'),\n option: 'backgroundColor',\n editor: 'editor.color',\n editorProps: {\n labelPosition: labelPosition || 'top',\n themes,\n },\n },\n];\n\nexport default background;\n","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/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","module.exports = require(\"lodash\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { COLOR_OR_TOKEN_PATTERN_WITH_RGBA, getPattern } from '@splunk/visualizations-shared/schemaUtils';\nimport { Punchcard as PunchcardIcon } from '@splunk/visualization-icons';\nimport { Punchcard as PunchcardPlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\n\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport getBackgroundColorEditor from '../common/editorConfig/BackgroundColor';\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [\n // Note: SCP-14090 disable ui for optional datasources. We may need to add it back later\n // {\n // name: 'annotation',\n // description: 'DataSource that populate event annotations',\n // },\n ],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 300,\n initialHeight: 300,\n};\n\nconst defaultContext: DefaultContext = {\n bubbleColorConfig: {\n colors: ['rgba(123,86,219,0.4)', 'rgba(123,86,219,1)'],\n },\n};\n\nconst optionsSchema: OptionsSchema = {\n x: {\n default: '> primary | seriesByIndex(0)',\n description: 'Specify the dataSource applied to the x-axis.',\n type: 'array',\n items: { type: ['string', 'number'] },\n },\n y: {\n default: '> primary | seriesByIndex(1)',\n description: 'Specify the dataSource applied to the y-axis.',\n type: 'array',\n items: { type: ['string', 'number'] },\n },\n category: {\n default: '> primary | seriesByIndex(3)',\n description: 'Specify the dataSource to apply series categories.',\n type: 'array',\n items: { type: ['string', 'number'] },\n },\n size: {\n default: '> primary | seriesByIndex(2)',\n description: 'Specify the dataSource to apply bubble size in the chart.',\n type: 'array',\n items: { type: 'number' },\n },\n xField: {\n default: '> x | getField()',\n description: 'Specify the field that should be mapped to the x-axis.',\n type: 'string',\n },\n yField: {\n default: '> y | getField()',\n description: 'Specify the field that should be mapped to the y-axis.',\n type: 'string',\n },\n categoryField: {\n default: '> category | getField()',\n description: 'Specify the field that should be mapped to the series categories.',\n type: 'string',\n },\n sizeField: {\n default: '> size | getField()',\n description: 'Specify the field that should be mapped to the bubble size in the chart.',\n type: 'string',\n },\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify the color used for the background. The default for enterprise light is \"#ffffff\". The default for enterprise dark is \"#000000\". The default for prisma dark is \"#0b0c0e\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n bubbleColor: {\n default: '> size | gradient(bubbleColorConfig)',\n description:\n 'Specify the coloring method used for the bubbles when the colorMode “dynamic” is specified. For example “> size | gradient(bubbleColorConfig)\".',\n type: ['string', 'array'],\n },\n bubbleLabelDisplay: {\n default: 'all',\n description:\n 'Specify whether all bubble labels, the max value bubble labels, or none of the bubble labels should be displayed.',\n pattern: getPattern(['all', 'max', 'off']),\n type: 'string',\n },\n bubbleRadiusMax: {\n default: 15,\n description:\n 'Specify the max radius (in pixels) of the bubbles when showDynamicBubbleSize option is false. Greater than 0.',\n type: 'number',\n },\n bubbleRadiusMin: {\n default: 1,\n description:\n 'Specify the min radius (in pixels) of the bubbles when showDynamicBubbleSize option is false. Greater than 0.',\n type: 'number',\n },\n bubbleRowScale: {\n default: 'global',\n description: 'Specify how bubbles are scaled relative to other rows.',\n pattern: getPattern(['global', 'row']),\n type: 'string',\n },\n bubbleSizeMax: {\n default: 1,\n description:\n 'Specify the max percentage (in decimal format) of space a bubble should take up within a cell when showDynamicBubbleSize option is true. The number specified must be between 0 and 1.',\n type: 'number',\n },\n bubbleSizeMin: {\n default: 0.25,\n description:\n 'Specify the min percentage (in decimal format) of space a bubble should take up within a cell when showDynamicBubbleSize option is true. The number specified must be between 0 and 1.',\n type: 'number',\n },\n bubbleSizeMethod: {\n default: 'area',\n description: 'Specify whether bubble area or diameter corresponds to the size value.',\n pattern: getPattern(['radius', 'area']),\n type: 'string',\n },\n colorMode: {\n default: 'dynamic',\n description: 'Specify the coloring method used for the bubbles.',\n pattern: getPattern(['categorical', 'dynamic']),\n type: 'string',\n },\n legendDisplay: {\n default: 'right',\n description: 'Specify the location of the legend on the panel.',\n pattern: getPattern(['right', 'off']),\n type: 'string',\n },\n seriesColors: {\n default: VIZ_CATEGORICAL,\n description: 'Specify the colors used for a series. For example, \"#FF0000\", \"#0000FF\", \"#008000\".',\n type: 'array',\n items: {\n type: 'string',\n },\n },\n showDefaultSort: {\n default: false,\n description: 'Specify whether axes should be sorted based on order of time, digits and strings.',\n type: 'boolean',\n },\n showDynamicBubbleSize: {\n default: true,\n description: 'Specify whether the bubble size should be dynamic or fixed.',\n type: 'boolean',\n },\n showMaxValuePulsation: {\n default: true,\n description: 'Specify whether the max value bubble should pulsate.',\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};\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Data display'),\n layout: [\n [\n {\n label: _('Show bubble labels'),\n option: 'bubbleLabelDisplay',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('All'), value: 'all' },\n { label: _('Max'), value: 'max' },\n { label: _('Off'), value: 'off' },\n ],\n },\n },\n ],\n [\n {\n label: _('Pulsate max value'),\n option: 'showMaxValuePulsation',\n editor: 'editor.toggle',\n },\n ],\n [\n {\n label: _('Bubble scale'),\n option: 'bubbleSizeMethod',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Radius'), value: 'radius' },\n { label: _('Area'), value: 'area' },\n ],\n },\n },\n ],\n [\n {\n label: _('Bubble row scale'),\n option: 'bubbleRowScale',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Global'), value: 'global' },\n { label: _('By Row'), value: 'row' },\n ],\n },\n },\n ],\n ],\n },\n {\n label: _('Color and style'),\n layout: [\n [\n {\n label: _('Color mode'),\n option: 'colorMode',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Dynamic'), value: 'dynamic' },\n { label: _('Categorical'), value: 'categorical' },\n ],\n },\n },\n ],\n [\n // This should be hidden in categorical color mode\n {\n label: _('Color by field'),\n editor: 'editor.columnSelector',\n option: 'bubbleColor',\n context: 'bubbleColorConfig',\n showEditor: ({ options }) =>\n options.colorMode === 'dynamic' || options.colorMode === undefined,\n editorProps: {\n dataSourceKey: 'primary',\n prepareValue: (\n definition\n ): { context: Record<string, any>; options: Record<string, any> } => {\n const {\n options: { bubbleColor },\n } = definition;\n return {\n context: {},\n options: {\n bubbleColor: `${bubbleColor} | gradient(bubbleColorConfig)`,\n },\n };\n },\n },\n },\n ],\n getBackgroundColorEditor({ themes }),\n [\n {\n label: _('Legend display'),\n option: 'legendDisplay',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Right'), value: 'right' },\n { label: _('Off'), value: 'off' },\n ],\n },\n showEditor: ({ options }) => options.colorMode === 'categorical',\n },\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.punchcard',\n /**\n * viz name\n */\n name: _('Punchcard'),\n category: VizCategory.CORRELATION,\n /**\n * viz icon\n */\n icon: PunchcardIcon,\n placeholderIcon: PunchcardPlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'legend.click': {\n description: 'Triggered when user clicks a chart legend',\n },\n 'point.click': {\n description: 'Triggered when user clicks a data point',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.PLACEHOLDER, VizBehavior.EVENTS],\n themes,\n requiredProps: ['x', 'y', 'size'],\n};\n\nexport default enhanceConfig(config);\n","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":""}