@splunk/visualizations 23.2.0 → 23.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/Area.config.js +36 -30
  2. package/Area.config.js.map +1 -1
  3. package/Area.js +243 -203
  4. package/Area.js.map +1 -1
  5. package/Bar.config.js +29 -23
  6. package/Bar.config.js.map +1 -1
  7. package/Bar.js +233 -193
  8. package/Bar.js.map +1 -1
  9. package/Bubble.config.js +36 -23
  10. package/Bubble.config.js.map +1 -1
  11. package/Bubble.js +247 -196
  12. package/Bubble.js.map +1 -1
  13. package/ChoroplethSvg.config.js +15 -12
  14. package/ChoroplethSvg.config.js.map +1 -1
  15. package/ChoroplethSvg.js +201 -148
  16. package/ChoroplethSvg.js.map +1 -1
  17. package/Column.config.js +29 -23
  18. package/Column.config.js.map +1 -1
  19. package/Column.js +235 -194
  20. package/Column.js.map +1 -1
  21. package/Ellipse.config.js +23 -20
  22. package/Ellipse.config.js.map +1 -1
  23. package/Ellipse.js +176 -123
  24. package/Ellipse.js.map +1 -1
  25. package/FillerGauge.config.js +803 -0
  26. package/FillerGauge.config.js.map +1 -0
  27. package/FillerGauge.js +3634 -0
  28. package/FillerGauge.js.map +1 -0
  29. package/Image.config.js +13 -6
  30. package/Image.config.js.map +1 -1
  31. package/Image.js +260 -200
  32. package/Image.js.map +1 -1
  33. package/LICENSE.md +14 -0
  34. package/Line.config.js +40 -31
  35. package/Line.config.js.map +1 -1
  36. package/Line.js +248 -202
  37. package/Line.js.map +1 -1
  38. package/LinkGraph.config.js +107 -123
  39. package/LinkGraph.config.js.map +1 -1
  40. package/LinkGraph.js +241 -193
  41. package/LinkGraph.js.map +1 -1
  42. package/Markdown.config.js +95 -3
  43. package/Markdown.config.js.map +1 -1
  44. package/Markdown.js +272 -118
  45. package/Markdown.js.map +1 -1
  46. package/MarkerGauge.config.js +750 -0
  47. package/MarkerGauge.config.js.map +1 -0
  48. package/MarkerGauge.js +3758 -0
  49. package/MarkerGauge.js.map +1 -0
  50. package/ParallelCoordinates.config.js +52 -46
  51. package/ParallelCoordinates.config.js.map +1 -1
  52. package/ParallelCoordinates.js +257 -164
  53. package/ParallelCoordinates.js.map +1 -1
  54. package/Pie.config.js +61 -46
  55. package/Pie.config.js.map +1 -1
  56. package/Pie.js +254 -186
  57. package/Pie.js.map +1 -1
  58. package/Punchcard.config.js +279 -39
  59. package/Punchcard.config.js.map +1 -1
  60. package/Punchcard.js +825 -193
  61. package/Punchcard.js.map +1 -1
  62. package/README.external.md +45 -0
  63. package/README.md +18 -3
  64. package/Rectangle.config.js +89 -107
  65. package/Rectangle.config.js.map +1 -1
  66. package/Rectangle.js +204 -145
  67. package/Rectangle.js.map +1 -1
  68. package/Sankey.config.js +29 -22
  69. package/Sankey.config.js.map +1 -1
  70. package/Sankey.js +250 -186
  71. package/Sankey.js.map +1 -1
  72. package/Scatter.config.js +39 -28
  73. package/Scatter.config.js.map +1 -1
  74. package/Scatter.js +2375 -2434
  75. package/Scatter.js.map +1 -1
  76. package/SingleValue.config.js +37 -29
  77. package/SingleValue.config.js.map +1 -1
  78. package/SingleValue.js +3108 -3174
  79. package/SingleValue.js.map +1 -1
  80. package/SingleValueBasic.js +37 -23
  81. package/SingleValueBasic.js.map +1 -1
  82. package/SingleValueIcon.config.js +36 -28
  83. package/SingleValueIcon.config.js.map +1 -1
  84. package/SingleValueIcon.js +279 -210
  85. package/SingleValueIcon.js.map +1 -1
  86. package/SingleValueRadial.config.js +15 -13
  87. package/SingleValueRadial.config.js.map +1 -1
  88. package/SingleValueRadial.js +299 -253
  89. package/SingleValueRadial.js.map +1 -1
  90. package/Table.config.js +26 -10
  91. package/Table.config.js.map +1 -1
  92. package/Table.js +382 -265
  93. package/Table.js.map +1 -1
  94. package/common/Charting.js +33 -30
  95. package/common/Charting.js.map +1 -1
  96. package/common/ChartingApi.js +4 -4
  97. package/common/ChartingApi.js.map +1 -1
  98. package/common/EventsDoc.js +36 -34
  99. package/common/EventsDoc.js.map +1 -1
  100. package/common/GaugeMajorTicks.js +386 -0
  101. package/common/GaugeMajorTicks.js.map +1 -0
  102. package/common/GaugeValueMarker.js +333 -0
  103. package/common/GaugeValueMarker.js.map +1 -0
  104. package/common/OptionsDoc.js +47 -33
  105. package/common/OptionsDoc.js.map +1 -1
  106. package/common/OverviewDoc.js +376 -0
  107. package/common/OverviewDoc.js.map +1 -0
  108. package/common/SplunkVisualization.js +6 -6
  109. package/common/SplunkVisualization.js.map +1 -1
  110. package/common/SplunkVisualizationApi.js +10 -10
  111. package/common/SplunkVisualizationApi.js.map +1 -1
  112. package/common/ThemesDoc.js +55 -72
  113. package/common/ThemesDoc.js.map +1 -1
  114. package/common/chartingUtils.js +15 -13
  115. package/common/chartingUtils.js.map +1 -1
  116. package/common/docUtils.js +4 -4
  117. package/common/docUtils.js.map +1 -1
  118. package/common/gaugeUtils.js +893 -0
  119. package/common/gaugeUtils.js.map +1 -0
  120. package/common/shapeUtils.js +8 -8
  121. package/common/shapeUtils.js.map +1 -1
  122. package/common/utils/JSONSchemaUtils.js.map +1 -1
  123. package/common/utils/configUtils.js.map +1 -1
  124. package/common/utils/hocUtils.js +57 -3
  125. package/common/utils/hocUtils.js.map +1 -1
  126. package/common/utils/singleValueUtils.js +24 -10
  127. package/common/utils/singleValueUtils.js.map +1 -1
  128. package/common/withDashboardViz.js +158 -95
  129. package/common/withDashboardViz.js.map +1 -1
  130. package/package.json +18 -14
  131. package/common/utils/eventUtils.js +0 -115
  132. package/common/utils/eventUtils.js.map +0 -1
package/Scatter.config.js CHANGED
@@ -87,7 +87,7 @@ module.exports =
87
87
  /******/
88
88
  /******/
89
89
  /******/ // Load entry module and return exports
90
- /******/ return __webpack_require__(__webpack_require__.s = 53);
90
+ /******/ return __webpack_require__(__webpack_require__.s = 59);
91
91
  /******/ })
92
92
  /************************************************************************/
93
93
  /******/ ({
@@ -292,13 +292,6 @@ exports.generatePrecisionValues = generatePrecisionValues;
292
292
  /***/ }),
293
293
 
294
294
  /***/ 10:
295
- /***/ (function(module, exports) {
296
-
297
- module.exports = require("@splunk/visualization-color-palettes");
298
-
299
- /***/ }),
300
-
301
- /***/ 11:
302
295
  /***/ (function(module, exports, __webpack_require__) {
303
296
 
304
297
  "use strict";
@@ -311,12 +304,15 @@ Object.defineProperty(exports, "__esModule", {
311
304
  var i18n_1 = __webpack_require__(0);
312
305
 
313
306
  var background = function background(_ref) {
314
- var themes = _ref.themes;
307
+ var label = _ref.label,
308
+ themes = _ref.themes,
309
+ labelPosition = _ref.labelPosition;
315
310
  return [{
316
- label: i18n_1._('Background'),
311
+ label: i18n_1._(label || 'Background'),
317
312
  option: 'backgroundColor',
318
313
  editor: 'editor.color',
319
314
  editorProps: {
315
+ labelPosition: labelPosition || 'top',
320
316
  themes: themes
321
317
  }
322
318
  }];
@@ -326,7 +322,14 @@ exports.default = background;
326
322
 
327
323
  /***/ }),
328
324
 
329
- /***/ 12:
325
+ /***/ 11:
326
+ /***/ (function(module, exports) {
327
+
328
+ module.exports = require("@splunk/visualization-color-palettes");
329
+
330
+ /***/ }),
331
+
332
+ /***/ 13:
330
333
  /***/ (function(module, exports, __webpack_require__) {
331
334
 
332
335
  "use strict";
@@ -354,7 +357,7 @@ exports.default = axes;
354
357
 
355
358
  /***/ }),
356
359
 
357
- /***/ 13:
360
+ /***/ 14:
358
361
  /***/ (function(module, exports, __webpack_require__) {
359
362
 
360
363
  "use strict";
@@ -490,11 +493,13 @@ var VizCategory;
490
493
  VizCategory["SHAPES"] = "Shapes";
491
494
  VizCategory["MISC"] = "misc";
492
495
  VizCategory["FLOW"] = "Flow";
496
+ VizCategory["CORRELATION"] = "Correlation";
497
+ VizCategory["SPATIAL"] = "Spatial";
493
498
  })(VizCategory = exports.VizCategory || (exports.VizCategory = {}));
494
499
 
495
500
  /***/ }),
496
501
 
497
- /***/ 53:
502
+ /***/ 59:
498
503
  /***/ (function(module, exports, __webpack_require__) {
499
504
 
500
505
  "use strict";
@@ -505,15 +510,15 @@ Object.defineProperty(exports, "__esModule", {
505
510
  });
506
511
  exports.optionsSchema = void 0;
507
512
 
508
- var visualization_icons_1 = __webpack_require__(7);
513
+ var visualization_icons_1 = __webpack_require__(9);
509
514
 
510
- var pick_1 = __webpack_require__(8);
515
+ var pick_1 = __webpack_require__(7);
511
516
 
512
- var variables_1 = __webpack_require__(9);
517
+ var variables_1 = __webpack_require__(8);
513
518
 
514
519
  var schemaUtils_1 = __webpack_require__(3);
515
520
 
516
- var visualization_color_palettes_1 = __webpack_require__(10);
521
+ var visualization_color_palettes_1 = __webpack_require__(11);
517
522
 
518
523
  var i18n_1 = __webpack_require__(0);
519
524
 
@@ -523,11 +528,11 @@ var VizCategory_1 = __webpack_require__(5);
523
528
 
524
529
  var configUtils_1 = __webpack_require__(1);
525
530
 
526
- var Axes_1 = __webpack_require__(12);
531
+ var Axes_1 = __webpack_require__(13);
527
532
 
528
- var Legend_1 = __webpack_require__(13);
533
+ var Legend_1 = __webpack_require__(14);
529
534
 
530
- var BackgroundColor_1 = __webpack_require__(11);
535
+ var BackgroundColor_1 = __webpack_require__(10);
531
536
 
532
537
  var dataContract = {
533
538
  requiredDataSources: [{
@@ -614,6 +619,11 @@ exports.optionsSchema = {
614
619
  pattern: schemaUtils_1.getPattern(['ellipsisEnd', 'ellipsisMiddle', 'ellipsisStart', 'ellipsisOff']),
615
620
  type: 'string'
616
621
  },
622
+ markerSize: {
623
+ description: 'Specify, in pixels, the size of each scatter marker.',
624
+ type: 'number',
625
+ default: 4
626
+ },
617
627
  resultLimit: {
618
628
  default: 50000,
619
629
  description: 'Specify the number of data points rendered in a chart.',
@@ -656,6 +666,12 @@ exports.optionsSchema = {
656
666
  description: 'Specify whether to round x-axis values to the nearest integer.',
657
667
  type: 'boolean'
658
668
  },
669
+ // TODO: figure out if we want to change splunk-charting behavior for Bubble/Scatter, which hardcodes XMajorGridlines to false
670
+ // showXMajorGridLines: {
671
+ // default: false,
672
+ // description: 'Specify whether major grid lines are visible on the x-axis.',
673
+ // type: 'boolean',
674
+ // },
659
675
  showYMajorGridLines: {
660
676
  default: true,
661
677
  description: 'Specify whether major grid lines are visible on the y-axis.',
@@ -818,11 +834,6 @@ exports.optionsSchema = {
818
834
  description: 'Specify whether to show or hide the title of the y-axis.',
819
835
  pattern: schemaUtils_1.getPattern(['show', 'hide']),
820
836
  type: 'string'
821
- },
822
- markerSize: {
823
- description: 'Specify, in pixels, the size of each scatter marker.',
824
- type: 'number',
825
- default: 4
826
837
  }
827
838
  };
828
839
  var themes = {
@@ -892,21 +903,21 @@ module.exports = require("@babel/runtime/helpers/defineProperty");
892
903
  /***/ 7:
893
904
  /***/ (function(module, exports) {
894
905
 
895
- module.exports = require("@splunk/visualization-icons");
906
+ module.exports = require("@splunk/themes/pick");
896
907
 
897
908
  /***/ }),
898
909
 
899
910
  /***/ 8:
900
911
  /***/ (function(module, exports) {
901
912
 
902
- module.exports = require("@splunk/themes/pick");
913
+ module.exports = require("@splunk/themes/variables");
903
914
 
904
915
  /***/ }),
905
916
 
906
917
  /***/ 9:
907
918
  /***/ (function(module, exports) {
908
919
 
909
- module.exports = require("@splunk/themes/variables");
920
+ module.exports = require("@splunk/visualization-icons");
910
921
 
911
922
  /***/ })
912
923
 
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///./src/common/editorConfig/BackgroundColor.ts","webpack:///./src/common/editorConfig/Axes.ts","webpack:///./src/common/editorConfig/Legend.ts","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///external \"lodash\"","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///./src/Scatter/config.ts","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///external \"@splunk/visualization-icons\"","webpack:///external \"@splunk/themes/pick\"","webpack:///external \"@splunk/themes/variables\""],"names":[],"mappings":"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","file":"Scatter.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 = 53);\n","module.exports = require(\"@splunk/ui-utils/i18n\");","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\nimport { JSONSchema7Definition } from 'json-schema';\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((key): void => {\n enhancedPatternProperties = {\n ...enhancedPatternProperties,\n ...enhanceOptionsSchemaWithDynamicOptions({ [key]: patternProperties[key] }),\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 * @param vizConfig a Visualization Config\n * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports\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 return enhancedConfig;\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 isDynamicOption,\n getInitialPreset,\n generatePrecisionValues,\n};\n","module.exports = require(\"@splunk/visualization-color-palettes\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorLayoutConfig } from '../interfaces/Editor';\n\nconst background: ({ themes }) => EditorLayoutConfig[] = ({ themes }) => [\n {\n label: _('Background'),\n option: 'backgroundColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n },\n },\n];\n\nexport default background;\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorConfig } from '../interfaces/Editor';\n\nconst axes: EditorConfig = {\n label: _('Axes'),\n layout: [\n [\n {\n label: _('X Axis title'),\n option: 'xAxisTitleText',\n editor: 'editor.text',\n },\n ],\n [\n {\n label: _('Y Axis title'),\n option: 'yAxisTitleText',\n editor: 'editor.text',\n },\n ],\n ],\n};\n\nexport default axes;\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorConfig } from '../interfaces/Editor';\n\nconst legend: EditorConfig = {\n label: _('Legend'),\n layout: [\n [\n {\n label: _('Position'),\n option: 'legendDisplay',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Right'), value: 'right' },\n { label: _('Left'), value: 'left' },\n { label: _('Top'), value: 'top' },\n { label: _('Bottom'), value: 'bottom' },\n { label: _('Off'), value: 'off' },\n ],\n },\n },\n ],\n [\n {\n label: _('Truncation'),\n option: 'legendTruncation',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('A...'), value: 'ellipsisEnd' },\n { label: _('A...Z'), value: 'ellipsisMiddle' },\n { label: _('...Z'), value: 'ellipsisStart' },\n { label: _('Off'), value: 'ellipsisOff' },\n ],\n },\n },\n ],\n ],\n};\n\nexport default legend;\n","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}\n","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","module.exports = require(\"lodash\");","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}\n","import { Scatter as ScatterIcon } from '@splunk/visualization-icons';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { getPattern, COLOR_OR_TOKEN_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { _ } from '@splunk/ui-utils/i18n';\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 AxesConfig from '../common/editorConfig/Axes';\nimport LegendConfig from '../common/editorConfig/Legend';\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 annotation: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 300,\n initialHeight: 300,\n};\n\nconst defaultContext: DefaultContext = {};\n\nexport const 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 description: 'Specify a sequence of dataSource events to be plotted on the chart.',\n type: 'array',\n items: { type: ['string', 'number'] },\n default: '> primary | seriesByIndex(2)',\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 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,\n type: 'string',\n },\n legendDisplay: {\n default: 'right',\n description: 'Specify the location of the legend on the panel.',\n pattern: getPattern(['right', 'left', 'top', 'bottom', 'off']),\n type: 'string',\n },\n legendTruncation: {\n default: 'ellipsisEnd',\n description:\n 'Specify how to display legend labels when they overflow the layout boundaries by replacing overflow text with an ellipsis.',\n pattern: getPattern(['ellipsisEnd', 'ellipsisMiddle', 'ellipsisStart', 'ellipsisOff']),\n type: 'string',\n },\n resultLimit: {\n default: 50000,\n description: 'Specify the number of data points rendered in a chart.',\n type: 'number',\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: { type: 'string' },\n },\n seriesColorsByField: {\n description:\n 'Specify the colors used for specific fields in a series. For example: {\"count\": \"#008000\", \"percent\": \"#FFA500\"}.',\n type: 'object',\n },\n showXAxisExtendedRange: {\n default: true,\n description: 'Specify whether the x-axis should be extended to snap to whole major tick marks.',\n type: 'boolean',\n },\n showYAxisExtendedRange: {\n default: true,\n description: 'Specify whether the y-axis should be extended to snap to whole major tick marks.',\n type: 'boolean',\n },\n showXAxisWithZero: {\n default: false,\n description: 'Specify whether the x-axis range includes zero.',\n type: 'boolean',\n },\n showYAxisWithZero: {\n default: false,\n description: 'Specify whether the y-axis range includes zero.',\n type: 'boolean',\n },\n showRoundedXAxisLabels: {\n default: false,\n description: 'Specify whether to round x-axis values to the nearest integer.',\n type: 'boolean',\n },\n showYMajorGridLines: {\n default: true,\n description: 'Specify whether major grid lines are visible on the y-axis.',\n type: 'boolean',\n },\n showXMinorGridLines: {\n default: false,\n description: 'Specify whether minor grid lines are visible on the x-axis.',\n type: 'boolean',\n },\n showYMinorGridLines: {\n default: false,\n description: 'Specify whether minor grid lines are visible on the y-axis.',\n type: 'boolean',\n },\n xAxisLabelRotation: {\n default: 0,\n description: 'Specify the rotation of the x-axis labels in degrees.',\n type: 'number',\n enum: [-90, -45, 0, 45, 90],\n },\n xAxisAbbreviation: {\n default: 'off',\n description: 'Specify whether to abbreviate large x-axis values with the closest SI prefix.',\n pattern: getPattern(['auto', 'off']),\n type: 'string',\n },\n yAxisAbbreviation: {\n default: 'auto',\n description: 'Specify whether to abbreviate large y-axis values with the closest SI prefix.',\n pattern: getPattern(['auto', 'off']),\n type: 'string',\n },\n xAxisLabelVisibility: {\n default: 'auto',\n description: 'Specify whether to show or hide labels on the x-axis.',\n pattern: getPattern(['auto', 'show', 'hide']),\n type: 'string',\n },\n yAxisLabelVisibility: {\n default: 'auto',\n description: 'Specify whether to show or hide labels on the y-axis.',\n pattern: getPattern(['auto', 'show', 'hide']),\n type: 'string',\n },\n xAxisLineVisibility: {\n default: 'hide',\n description: 'Specify whether to show or hide the x-axis line.',\n pattern: getPattern(['show', 'hide']),\n type: 'string',\n },\n yAxisLineVisibility: {\n default: 'hide',\n description: 'Specify whether to show or hide the y-axis line.',\n pattern: getPattern(['show', 'hide']),\n type: 'string',\n },\n xAxisMajorTickInterval: {\n default: 'auto',\n description:\n 'Specify the spacing interval at which to place major tick marks along the numeric x-axis. By default, this value is automatically calculated based on the scale of the related axis.',\n type: ['string', 'number'],\n },\n yAxisMajorTickInterval: {\n default: 'auto',\n description:\n 'Specify the spacing interval at which to place major tick marks along the numeric y-axis. By default, this value is automatically calculated based on the scale of the related axis.',\n type: ['string', 'number'],\n },\n xAxisMajorTickSize: {\n default: 6,\n description: 'Specify the size, in pixels, of major tick marks on the x-axis.',\n type: 'number',\n },\n yAxisMajorTickSize: {\n default: 6,\n description: 'Specify the size, in pixels, of major tick marks on the y-axis.',\n type: 'number',\n },\n xAxisMinorTickSize: {\n default: 6,\n description: 'Specify the size, in pixels, of minor tick marks on the x-axis.',\n type: 'number',\n },\n yAxisMinorTickSize: {\n default: 6,\n description: 'Specify the size, in pixels, of minor tick marks on the y-axis.',\n type: 'number',\n },\n xAxisMajorTickVisibility: {\n default: 'auto',\n description: 'Specify whether to show or hide major tick marks on the x-axis.',\n pattern: getPattern(['auto', 'show', 'hide']),\n type: 'string',\n },\n yAxisMajorTickVisibility: {\n default: 'auto',\n description: 'Specify whether to show or hide major tick marks on the y-axis.',\n pattern: getPattern(['auto', 'show', 'hide']),\n type: 'string',\n },\n xAxisMinorTickVisibility: {\n default: 'auto',\n description: 'Specify whether to show or hide minor tick marks on the x-axis .',\n pattern: getPattern(['auto', 'show', 'hide']),\n type: 'string',\n },\n yAxisMinorTickVisibility: {\n default: 'auto',\n description: 'Specify whether to show or hide minor tick marks on the y-axis.',\n pattern: getPattern(['auto', 'show', 'hide']),\n type: 'string',\n },\n xAxisMax: {\n default: 'auto',\n description: 'Specify the maximum number for the range of the visible x-axis.',\n type: ['string', 'number'],\n },\n yAxisMax: {\n default: 'auto',\n description: 'Specify the maximum number for the range of the visible y-axis.',\n type: ['string', 'number'],\n },\n xAxisMin: {\n default: 'auto',\n description: 'Specify the minimum number for the range of the visible x-axis.',\n type: ['string', 'number'],\n },\n yAxisMin: {\n default: 'auto',\n description: 'Specify the minimum number for the range of the visible y-axis.',\n type: ['string', 'number'],\n },\n xAxisScale: {\n default: 'linear',\n description: 'Specify the type of scale that applies to a numerical x-axis.',\n pattern: getPattern(['linear', 'log']),\n type: 'string',\n },\n yAxisScale: {\n default: 'linear',\n description: 'Specify the type of scale that applies to a numerical y-axis.',\n pattern: getPattern(['linear', 'log']),\n type: 'string',\n },\n xAxisTitleText: {\n description: 'Specify the title of the x-axis.',\n type: 'string',\n },\n yAxisTitleText: {\n description: 'Specify the title of the y-axis.',\n type: 'string',\n },\n xAxisTitleVisibility: {\n default: 'show',\n description: 'Specify whether to show or hide the title of the x-axis.',\n pattern: getPattern(['show', 'hide']),\n type: 'string',\n },\n yAxisTitleVisibility: {\n default: 'show',\n description: 'Specify whether to show or hide the title of the y-axis.',\n pattern: getPattern(['show', 'hide']),\n type: 'string',\n },\n markerSize: {\n description: 'Specify, in pixels, the size of each scatter marker.',\n type: 'number',\n default: 4,\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: _('General'),\n layout: [getBackgroundColorEditor({ themes })],\n },\n AxesConfig,\n LegendConfig,\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.scatter',\n /**\n * viz name\n */\n name: 'Scatter',\n category: VizCategory.COMPARISONS,\n /**\n * viz icon\n */\n icon: ScatterIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'legend.click': {\n description: 'triggered when user clicks on chart legend',\n },\n 'point.click': {\n description: 'triggered when user clicks on a point in the scatter chart',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.PLACEHOLDER],\n themes,\n};\n\nexport default enhanceConfig(config);\n","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","module.exports = require(\"@splunk/visualization-icons\");","module.exports = require(\"@splunk/themes/pick\");","module.exports = require(\"@splunk/themes/variables\");"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///./src/common/utils/configUtils.ts","webpack:///./src/common/editorConfig/BackgroundColor.ts","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///./src/common/editorConfig/Axes.ts","webpack:///./src/common/editorConfig/Legend.ts","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///external \"lodash\"","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///./src/Scatter/config.ts","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///external \"@splunk/themes/pick\"","webpack:///external \"@splunk/themes/variables\"","webpack:///external \"@splunk/visualization-icons\""],"names":[],"mappings":"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","file":"Scatter.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 = 59);\n","module.exports = require(\"@splunk/ui-utils/i18n\");","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\nimport type { JSONSchema7Definition } from 'json-schema';\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((key): void => {\n enhancedPatternProperties = {\n ...enhancedPatternProperties,\n ...enhanceOptionsSchemaWithDynamicOptions({ [key]: patternProperties[key] }),\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 * @param vizConfig a Visualization Config\n * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports\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 return enhancedConfig;\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 isDynamicOption,\n getInitialPreset,\n generatePrecisionValues,\n};\n","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\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorConfig } from '../interfaces/Editor';\n\nconst axes: EditorConfig = {\n label: _('Axes'),\n layout: [\n [\n {\n label: _('X Axis title'),\n option: 'xAxisTitleText',\n editor: 'editor.text',\n },\n ],\n [\n {\n label: _('Y Axis title'),\n option: 'yAxisTitleText',\n editor: 'editor.text',\n },\n ],\n ],\n};\n\nexport default axes;\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorConfig } from '../interfaces/Editor';\n\nconst legend: EditorConfig = {\n label: _('Legend'),\n layout: [\n [\n {\n label: _('Position'),\n option: 'legendDisplay',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Right'), value: 'right' },\n { label: _('Left'), value: 'left' },\n { label: _('Top'), value: 'top' },\n { label: _('Bottom'), value: 'bottom' },\n { label: _('Off'), value: 'off' },\n ],\n },\n },\n ],\n [\n {\n label: _('Truncation'),\n option: 'legendTruncation',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('A...'), value: 'ellipsisEnd' },\n { label: _('A...Z'), value: 'ellipsisMiddle' },\n { label: _('...Z'), value: 'ellipsisStart' },\n { label: _('Off'), value: 'ellipsisOff' },\n ],\n },\n },\n ],\n ],\n};\n\nexport default legend;\n","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}\n","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","module.exports = require(\"lodash\");","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","import { Scatter as ScatterIcon } from '@splunk/visualization-icons';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { getPattern, COLOR_OR_TOKEN_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { _ } from '@splunk/ui-utils/i18n';\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 AxesConfig from '../common/editorConfig/Axes';\nimport LegendConfig from '../common/editorConfig/Legend';\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 annotation: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 300,\n initialHeight: 300,\n};\n\nconst defaultContext: DefaultContext = {};\n\nexport const 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 description: 'Specify a sequence of dataSource events to be plotted on the chart.',\n type: 'array',\n items: { type: ['string', 'number'] },\n default: '> primary | seriesByIndex(2)',\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 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,\n type: 'string',\n },\n legendDisplay: {\n default: 'right',\n description: 'Specify the location of the legend on the panel.',\n pattern: getPattern(['right', 'left', 'top', 'bottom', 'off']),\n type: 'string',\n },\n legendTruncation: {\n default: 'ellipsisEnd',\n description:\n 'Specify how to display legend labels when they overflow the layout boundaries by replacing overflow text with an ellipsis.',\n pattern: getPattern(['ellipsisEnd', 'ellipsisMiddle', 'ellipsisStart', 'ellipsisOff']),\n type: 'string',\n },\n markerSize: {\n description: 'Specify, in pixels, the size of each scatter marker.',\n type: 'number',\n default: 4,\n },\n resultLimit: {\n default: 50000,\n description: 'Specify the number of data points rendered in a chart.',\n type: 'number',\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: { type: 'string' },\n },\n seriesColorsByField: {\n description:\n 'Specify the colors used for specific fields in a series. For example: {\"count\": \"#008000\", \"percent\": \"#FFA500\"}.',\n type: 'object',\n },\n showXAxisExtendedRange: {\n default: true,\n description: 'Specify whether the x-axis should be extended to snap to whole major tick marks.',\n type: 'boolean',\n },\n showYAxisExtendedRange: {\n default: true,\n description: 'Specify whether the y-axis should be extended to snap to whole major tick marks.',\n type: 'boolean',\n },\n showXAxisWithZero: {\n default: false,\n description: 'Specify whether the x-axis range includes zero.',\n type: 'boolean',\n },\n showYAxisWithZero: {\n default: false,\n description: 'Specify whether the y-axis range includes zero.',\n type: 'boolean',\n },\n showRoundedXAxisLabels: {\n default: false,\n description: 'Specify whether to round x-axis values to the nearest integer.',\n type: 'boolean',\n },\n // TODO: figure out if we want to change splunk-charting behavior for Bubble/Scatter, which hardcodes XMajorGridlines to false\n // showXMajorGridLines: {\n // default: false,\n // description: 'Specify whether major grid lines are visible on the x-axis.',\n // type: 'boolean',\n // },\n showYMajorGridLines: {\n default: true,\n description: 'Specify whether major grid lines are visible on the y-axis.',\n type: 'boolean',\n },\n showXMinorGridLines: {\n default: false,\n description: 'Specify whether minor grid lines are visible on the x-axis.',\n type: 'boolean',\n },\n showYMinorGridLines: {\n default: false,\n description: 'Specify whether minor grid lines are visible on the y-axis.',\n type: 'boolean',\n },\n xAxisLabelRotation: {\n default: 0,\n description: 'Specify the rotation of the x-axis labels in degrees.',\n type: 'number',\n enum: [-90, -45, 0, 45, 90],\n },\n xAxisAbbreviation: {\n default: 'off',\n description: 'Specify whether to abbreviate large x-axis values with the closest SI prefix.',\n pattern: getPattern(['auto', 'off']),\n type: 'string',\n },\n yAxisAbbreviation: {\n default: 'auto',\n description: 'Specify whether to abbreviate large y-axis values with the closest SI prefix.',\n pattern: getPattern(['auto', 'off']),\n type: 'string',\n },\n xAxisLabelVisibility: {\n default: 'auto',\n description: 'Specify whether to show or hide labels on the x-axis.',\n pattern: getPattern(['auto', 'show', 'hide']),\n type: 'string',\n },\n yAxisLabelVisibility: {\n default: 'auto',\n description: 'Specify whether to show or hide labels on the y-axis.',\n pattern: getPattern(['auto', 'show', 'hide']),\n type: 'string',\n },\n xAxisLineVisibility: {\n default: 'hide',\n description: 'Specify whether to show or hide the x-axis line.',\n pattern: getPattern(['show', 'hide']),\n type: 'string',\n },\n yAxisLineVisibility: {\n default: 'hide',\n description: 'Specify whether to show or hide the y-axis line.',\n pattern: getPattern(['show', 'hide']),\n type: 'string',\n },\n xAxisMajorTickInterval: {\n default: 'auto',\n description:\n 'Specify the spacing interval at which to place major tick marks along the numeric x-axis. By default, this value is automatically calculated based on the scale of the related axis.',\n type: ['string', 'number'],\n },\n yAxisMajorTickInterval: {\n default: 'auto',\n description:\n 'Specify the spacing interval at which to place major tick marks along the numeric y-axis. By default, this value is automatically calculated based on the scale of the related axis.',\n type: ['string', 'number'],\n },\n xAxisMajorTickSize: {\n default: 6,\n description: 'Specify the size, in pixels, of major tick marks on the x-axis.',\n type: 'number',\n },\n yAxisMajorTickSize: {\n default: 6,\n description: 'Specify the size, in pixels, of major tick marks on the y-axis.',\n type: 'number',\n },\n xAxisMinorTickSize: {\n default: 6,\n description: 'Specify the size, in pixels, of minor tick marks on the x-axis.',\n type: 'number',\n },\n yAxisMinorTickSize: {\n default: 6,\n description: 'Specify the size, in pixels, of minor tick marks on the y-axis.',\n type: 'number',\n },\n xAxisMajorTickVisibility: {\n default: 'auto',\n description: 'Specify whether to show or hide major tick marks on the x-axis.',\n pattern: getPattern(['auto', 'show', 'hide']),\n type: 'string',\n },\n yAxisMajorTickVisibility: {\n default: 'auto',\n description: 'Specify whether to show or hide major tick marks on the y-axis.',\n pattern: getPattern(['auto', 'show', 'hide']),\n type: 'string',\n },\n xAxisMinorTickVisibility: {\n default: 'auto',\n description: 'Specify whether to show or hide minor tick marks on the x-axis .',\n pattern: getPattern(['auto', 'show', 'hide']),\n type: 'string',\n },\n yAxisMinorTickVisibility: {\n default: 'auto',\n description: 'Specify whether to show or hide minor tick marks on the y-axis.',\n pattern: getPattern(['auto', 'show', 'hide']),\n type: 'string',\n },\n xAxisMax: {\n default: 'auto',\n description: 'Specify the maximum number for the range of the visible x-axis.',\n type: ['string', 'number'],\n },\n yAxisMax: {\n default: 'auto',\n description: 'Specify the maximum number for the range of the visible y-axis.',\n type: ['string', 'number'],\n },\n xAxisMin: {\n default: 'auto',\n description: 'Specify the minimum number for the range of the visible x-axis.',\n type: ['string', 'number'],\n },\n yAxisMin: {\n default: 'auto',\n description: 'Specify the minimum number for the range of the visible y-axis.',\n type: ['string', 'number'],\n },\n xAxisScale: {\n default: 'linear',\n description: 'Specify the type of scale that applies to a numerical x-axis.',\n pattern: getPattern(['linear', 'log']),\n type: 'string',\n },\n yAxisScale: {\n default: 'linear',\n description: 'Specify the type of scale that applies to a numerical y-axis.',\n pattern: getPattern(['linear', 'log']),\n type: 'string',\n },\n xAxisTitleText: {\n description: 'Specify the title of the x-axis.',\n type: 'string',\n },\n yAxisTitleText: {\n description: 'Specify the title of the y-axis.',\n type: 'string',\n },\n xAxisTitleVisibility: {\n default: 'show',\n description: 'Specify whether to show or hide the title of the x-axis.',\n pattern: getPattern(['show', 'hide']),\n type: 'string',\n },\n yAxisTitleVisibility: {\n default: 'show',\n description: 'Specify whether to show or hide the title of the y-axis.',\n pattern: getPattern(['show', 'hide']),\n type: 'string',\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: _('General'),\n layout: [getBackgroundColorEditor({ themes })],\n },\n AxesConfig,\n LegendConfig,\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.scatter',\n /**\n * viz name\n */\n name: 'Scatter',\n category: VizCategory.COMPARISONS,\n /**\n * viz icon\n */\n icon: ScatterIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'legend.click': {\n description: 'triggered when user clicks on chart legend',\n },\n 'point.click': {\n description: 'triggered when user clicks on a point in the scatter chart',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.PLACEHOLDER],\n themes,\n};\n\nexport default enhanceConfig(config);\n","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","module.exports = require(\"@splunk/themes/pick\");","module.exports = require(\"@splunk/themes/variables\");","module.exports = require(\"@splunk/visualization-icons\");"],"sourceRoot":""}