@splunk/visualizations 25.0.0 → 25.0.1

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 (142) hide show
  1. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_basic.png +0 -0
  2. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_marker_layer_dynamic_color.png +0 -0
  3. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_marker_layer_static_color.png +0 -0
  4. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_marker_layer_static_color_with_no_seriesColors.png +0 -0
  5. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_scale_off.png +0 -0
  6. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_scale_unit_metric.png +0 -0
  7. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Area_Editor.png +0 -0
  8. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Bar_Editor.png +0 -0
  9. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Bubble_Editor.png +0 -0
  10. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_ChoroplethSvg_Editor.png +0 -0
  11. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Column_Editor.png +0 -0
  12. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Ellipse_Editor.png +0 -0
  13. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_FillerGauge_Editor.png +0 -0
  14. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Image_Editor.png +0 -0
  15. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Line_Editor.png +0 -0
  16. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_LinkGraph_Editor.png +0 -0
  17. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Map_Editor.png +0 -0
  18. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Markdown_Editor.png +0 -0
  19. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_MarkerGauge_Editor.png +0 -0
  20. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Parallel_Coordinates_Editor.png +0 -0
  21. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Pie_Editor.png +0 -0
  22. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Punchcard_Editor.png +0 -0
  23. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Rectangle_Editor.png +0 -0
  24. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Sankey_Editor.png +0 -0
  25. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Scatter_Editor.png +0 -0
  26. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Editor.png +0 -0
  27. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Icon_Editor.png +0 -0
  28. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Radial_Editor.png +0 -0
  29. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Table_Editor.png +0 -0
  30. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
  31. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
  32. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Basic_Map.png +0 -0
  33. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer.png +0 -0
  34. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_By_GET.png +0 -0
  35. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_By_GET_Dynamic_Coloring.png +0 -0
  36. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_By_Internal_Fields.png +0 -0
  37. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_By_Static_Coloring.png +0 -0
  38. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_Dynamic_Coloring.png +0 -0
  39. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Marker_layer.png +0 -0
  40. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Marker_layer_Dynamic_coloring.png +0 -0
  41. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Marker_layer_Result_Limit_Set_To_3.png +0 -0
  42. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Restricted_Zoom.png +0 -0
  43. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Set_Map_tiles.png +0 -0
  44. package/Area.config.js +26 -1
  45. package/Area.config.js.map +1 -1
  46. package/Area.js +49 -23
  47. package/Area.js.map +1 -1
  48. package/Bar.config.js +26 -1
  49. package/Bar.config.js.map +1 -1
  50. package/Bar.js +49 -23
  51. package/Bar.js.map +1 -1
  52. package/Bubble.config.js +26 -1
  53. package/Bubble.config.js.map +1 -1
  54. package/Bubble.js +49 -23
  55. package/Bubble.js.map +1 -1
  56. package/ChoroplethSvg.config.js +27 -3
  57. package/ChoroplethSvg.config.js.map +1 -1
  58. package/ChoroplethSvg.js +73 -48
  59. package/ChoroplethSvg.js.map +1 -1
  60. package/Column.config.js +26 -1
  61. package/Column.config.js.map +1 -1
  62. package/Column.js +49 -23
  63. package/Column.js.map +1 -1
  64. package/Ellipse.config.js +26 -1
  65. package/Ellipse.config.js.map +1 -1
  66. package/Ellipse.js +58 -32
  67. package/Ellipse.js.map +1 -1
  68. package/FillerGauge.config.js +27 -2
  69. package/FillerGauge.config.js.map +1 -1
  70. package/FillerGauge.js +60 -34
  71. package/FillerGauge.js.map +1 -1
  72. package/Image.config.js +27 -3
  73. package/Image.config.js.map +1 -1
  74. package/Image.js +58 -34
  75. package/Image.js.map +1 -1
  76. package/Line.config.js +26 -1
  77. package/Line.config.js.map +1 -1
  78. package/Line.js +49 -23
  79. package/Line.js.map +1 -1
  80. package/LinkGraph.config.js +26 -1
  81. package/LinkGraph.config.js.map +1 -1
  82. package/LinkGraph.js +87 -61
  83. package/LinkGraph.js.map +1 -1
  84. package/Map.config.js +42 -5
  85. package/Map.config.js.map +1 -1
  86. package/Map.js +100 -60
  87. package/Map.js.map +1 -1
  88. package/Markdown.config.js +28 -5
  89. package/Markdown.config.js.map +1 -1
  90. package/Markdown.js +58 -35
  91. package/Markdown.js.map +1 -1
  92. package/MarkerGauge.config.js +31 -7
  93. package/MarkerGauge.config.js.map +1 -1
  94. package/MarkerGauge.js +2939 -3022
  95. package/MarkerGauge.js.map +1 -1
  96. package/ParallelCoordinates.config.js +35 -10
  97. package/ParallelCoordinates.config.js.map +1 -1
  98. package/ParallelCoordinates.js +61 -35
  99. package/ParallelCoordinates.js.map +1 -1
  100. package/Pie.config.js +32 -8
  101. package/Pie.config.js.map +1 -1
  102. package/Pie.js +2242 -2330
  103. package/Pie.js.map +1 -1
  104. package/Punchcard.config.js +28 -5
  105. package/Punchcard.config.js.map +1 -1
  106. package/Punchcard.js +72 -48
  107. package/Punchcard.js.map +1 -1
  108. package/Rectangle.config.js +28 -3
  109. package/Rectangle.config.js.map +1 -1
  110. package/Rectangle.js +155 -130
  111. package/Rectangle.js.map +1 -1
  112. package/Sankey.config.js +30 -5
  113. package/Sankey.config.js.map +1 -1
  114. package/Sankey.js +107 -82
  115. package/Sankey.js.map +1 -1
  116. package/Scatter.config.js +29 -3
  117. package/Scatter.config.js.map +1 -1
  118. package/Scatter.js +47 -22
  119. package/Scatter.js.map +1 -1
  120. package/SingleValue.config.js +33 -7
  121. package/SingleValue.config.js.map +1 -1
  122. package/SingleValue.js +63 -38
  123. package/SingleValue.js.map +1 -1
  124. package/SingleValueBasic.js +2 -2
  125. package/SingleValueIcon.config.js +31 -5
  126. package/SingleValueIcon.config.js.map +1 -1
  127. package/SingleValueIcon.js +71 -45
  128. package/SingleValueIcon.js.map +1 -1
  129. package/SingleValueRadial.config.js +160 -165
  130. package/SingleValueRadial.config.js.map +1 -1
  131. package/SingleValueRadial.js +112 -87
  132. package/SingleValueRadial.js.map +1 -1
  133. package/Table.config.js +31 -6
  134. package/Table.config.js.map +1 -1
  135. package/Table.js +249 -224
  136. package/Table.js.map +1 -1
  137. package/common/OptionsDoc.js +26 -1
  138. package/common/OptionsDoc.js.map +1 -1
  139. package/common/utils/configUtils.js +26 -1
  140. package/common/utils/configUtils.js.map +1 -1
  141. package/common/withDashboardViz.js +2 -2
  142. package/package.json +10 -10
@@ -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 = 56);
90
+ /******/ return __webpack_require__(__webpack_require__.s = 57);
91
91
  /******/ })
92
92
  /************************************************************************/
93
93
  /******/ ({
@@ -125,7 +125,7 @@ var __rest = this && this.__rest || function (s, e) {
125
125
  Object.defineProperty(exports, "__esModule", {
126
126
  value: true
127
127
  });
128
- exports.insertLayout = exports.generatePrecisionValues = exports.getInitialPreset = exports.isDynamicOption = exports.enhanceOptionsSchemaWithDynamicOptions = exports.enhanceConfig = void 0;
128
+ exports.insertLayout = exports.uncollapseEditorConfig = exports.generatePrecisionValues = exports.getInitialPreset = exports.isDynamicOption = exports.enhanceOptionsSchemaWithDynamicOptions = exports.enhanceConfig = void 0;
129
129
 
130
130
  var lodash_1 = __webpack_require__(5);
131
131
 
@@ -200,8 +200,10 @@ function enhanceOptionsSchemaWithDynamicOptions(optionsSchema) {
200
200
  exports.enhanceOptionsSchemaWithDynamicOptions = enhanceOptionsSchemaWithDynamicOptions;
201
201
  /**
202
202
  * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block
203
+ * this function also collapse all editor panels
203
204
  * @param vizConfig a Visualization Config
204
205
  * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports
206
+ * and containing `open: false` for all editor panels in editorConfig
205
207
  */
206
208
 
207
209
  function enhanceConfig(vizConfig) {
@@ -211,10 +213,33 @@ function enhanceConfig(vizConfig) {
211
213
  enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);
212
214
  }
213
215
 
216
+ enhancedConfig.editorConfig = vizConfig.editorConfig.map(function (config) {
217
+ return Object.assign(Object.assign({}, config), {
218
+ open: false
219
+ });
220
+ });
214
221
  return enhancedConfig;
215
222
  }
216
223
 
217
224
  exports.enhanceConfig = enhanceConfig;
225
+ /**
226
+ * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig
227
+ * Created for editor unit tests
228
+ * @param vizConfig a Visualization Config
229
+ * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig
230
+ */
231
+
232
+ function uncollapseEditorConfig(vizConfig) {
233
+ var editorPanelUncollapsedConfig = vizConfig;
234
+ editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(function (config) {
235
+ return Object.assign(Object.assign({}, config), {
236
+ open: true
237
+ });
238
+ });
239
+ return editorPanelUncollapsedConfig;
240
+ }
241
+
242
+ exports.uncollapseEditorConfig = uncollapseEditorConfig;
218
243
 
219
244
  function isDynamicOption(option) {
220
245
  return option && typeof option === 'string' && option.trim().startsWith('>') || false;
@@ -408,7 +433,7 @@ module.exports = require("lodash");
408
433
 
409
434
  /***/ }),
410
435
 
411
- /***/ 56:
436
+ /***/ 57:
412
437
  /***/ (function(module, exports, __webpack_require__) {
413
438
 
414
439
  "use strict";
@@ -491,7 +516,6 @@ var themes = {
491
516
  };
492
517
  var editorConfig = [{
493
518
  label: i18n_1._('Markdown Settings'),
494
- open: true,
495
519
  layout: [[{
496
520
  label: '',
497
521
  option: 'markdown',
@@ -499,7 +523,6 @@ var editorConfig = [{
499
523
  }]]
500
524
  }, {
501
525
  label: i18n_1._('General'),
502
- open: true,
503
526
  layout: [[{
504
527
  label: i18n_1._('Font Color'),
505
528
  option: 'fontColor',
@@ -1 +1 @@
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 \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"@splunk/themes\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///external \"lodash\"","webpack:///./src/Markdown/config.ts","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///./src/common/interfaces/VizCategory.ts"],"names":[],"mappings":"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","file":"Markdown.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 = 56);\n","module.exports = require(\"@splunk/ui-utils/i18n\");","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport type { JSONSchema7Definition } from 'json-schema';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\nimport { EditorLayoutConfig } 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 * @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\n/**\n * insert layout in layout array, return a new layout array instead of updating the original\n *\n * @param {EditorLayoutConfig[][]} layout - editor layout\n * @param {Number} index - the index to insert layout item(s)\n * @param {EditorLayoutConfig[][]} layoutItems - the item(s) to insert\n * @returns {EditorLayoutConfig[][]} new editor layout with insertion\n */\nexport const insertLayout = (\n layout: EditorLayoutConfig[][],\n index: number,\n ...layoutItems: EditorLayoutConfig[][]\n): EditorLayoutConfig[][] => [\n // copy part of the array before the specified index\n ...layout.slice(0, index),\n // inserted layout item\n ...layoutItems,\n // copy part of the array after the specified index\n ...layout.slice(index),\n];\n","import { _ } 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(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"@splunk/themes\");","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\");","import { pick, variables } from '@splunk/themes';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport { COLOR_OR_TOKEN_PATTERN_WITH_RGBA, getPattern } from '@splunk/visualizations-shared/schemaUtils';\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 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\nconst optionsSchema: OptionsSchema = {\n backgroundColor: {\n description: 'Specify the background color using a Hex code such as \"#FF0000\".',\n type: 'string',\n default: 'transparent',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n },\n fontColor: {\n description:\n 'Specify the text color using Hex codes or RGBA values, such as \"#FF0000\" or \"rgba(25,12,13,0.1)\". The default for enterprise light is \"#3c444d\". The default for enterprise dark is \"#FFFFFF\". The default for prisma dark is \"rgba(255, 255, 255, 0.7)\".',\n type: 'string',\n default: '> themes.defaultFontColor',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n },\n fontSize: {\n description:\n 'Specify the font size you would like to use for markdown content. Font sizes range from extra small (10px for unformatted text) to extra large (18px for unformatted text) with the default being 14px for unformatted text.',\n type: 'string',\n default: 'default',\n pattern: getPattern(['extraSmall', 'small', 'default', 'large', 'extraLarge']),\n },\n markdown: {\n description: 'Add text using basic markdown syntax.',\n type: 'string',\n },\n};\n\nconst themes: ThemedDefaults = {\n defaultFontColor: props =>\n pick({\n enterprise: {\n dark: variables.textColor(props),\n light: variables.textColor(props),\n },\n prisma: variables.contentColorDefault(props),\n })(props),\n};\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Markdown Settings'),\n open: true,\n layout: [\n [\n {\n label: '',\n option: 'markdown',\n editor: 'editor.markdown',\n },\n ],\n ],\n },\n {\n label: _('General'),\n open: true,\n layout: [\n [\n {\n label: _('Font Color'),\n option: 'fontColor',\n editor: 'editor.color',\n editorProps: {\n labelPosition: 'top',\n themes,\n },\n },\n ...getBackgroundColorEditor({ label: 'Background Color', themes }),\n ],\n [\n {\n label: _('Font Size'),\n option: 'fontSize',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Extra Small'), value: 'extraSmall' },\n { label: _('Small'), value: 'small' },\n { label: _('Default'), value: 'default' },\n { label: _('Large'), value: 'large' },\n { label: _('Extra Large'), value: 'extraLarge' },\n ],\n },\n },\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.markdown',\n /**\n * viz name\n */\n name: 'Markdown',\n category: VizCategory.COMPARISONS,\n /**\n * viz icon\n */\n icon: null,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'markdown.click': {\n description: 'triggered when user clicks on markdown area not formatted as a link',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS],\n themes,\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"],"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 \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"@splunk/themes\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///external \"lodash\"","webpack:///./src/Markdown/config.ts","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///./src/common/interfaces/VizCategory.ts"],"names":[],"mappings":"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","file":"Markdown.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 = 57);\n","module.exports = require(\"@splunk/ui-utils/i18n\");","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport type { JSONSchema7Definition } from 'json-schema';\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: 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 isDynamicOption,\n getInitialPreset,\n generatePrecisionValues,\n uncollapseEditorConfig,\n};\n\n/**\n * insert layout in layout array, return a new layout array instead of updating the original\n *\n * @param {EditorLayoutConfig[][]} layout - editor layout\n * @param {Number} index - the index to insert layout item(s)\n * @param {EditorLayoutConfig[][]} layoutItems - the item(s) to insert\n * @returns {EditorLayoutConfig[][]} new editor layout with insertion\n */\nexport const insertLayout = (\n layout: EditorLayoutConfig[][],\n index: number,\n ...layoutItems: EditorLayoutConfig[][]\n): EditorLayoutConfig[][] => [\n // copy part of the array before the specified index\n ...layout.slice(0, index),\n // inserted layout item\n ...layoutItems,\n // copy part of the array after the specified index\n ...layout.slice(index),\n];\n","import { _ } 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(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"@splunk/themes\");","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\");","import { pick, variables } from '@splunk/themes';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport { COLOR_OR_TOKEN_PATTERN_WITH_RGBA, getPattern } from '@splunk/visualizations-shared/schemaUtils';\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 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\nconst optionsSchema: OptionsSchema = {\n backgroundColor: {\n description: 'Specify the background color using a Hex code such as \"#FF0000\".',\n type: 'string',\n default: 'transparent',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n },\n fontColor: {\n description:\n 'Specify the text color using Hex codes or RGBA values, such as \"#FF0000\" or \"rgba(25,12,13,0.1)\". The default for enterprise light is \"#3c444d\". The default for enterprise dark is \"#FFFFFF\". The default for prisma dark is \"rgba(255, 255, 255, 0.7)\".',\n type: 'string',\n default: '> themes.defaultFontColor',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n },\n fontSize: {\n description:\n 'Specify the font size you would like to use for markdown content. Font sizes range from extra small (10px for unformatted text) to extra large (18px for unformatted text) with the default being 14px for unformatted text.',\n type: 'string',\n default: 'default',\n pattern: getPattern(['extraSmall', 'small', 'default', 'large', 'extraLarge']),\n },\n markdown: {\n description: 'Add text using basic markdown syntax.',\n type: 'string',\n },\n};\n\nconst themes: ThemedDefaults = {\n defaultFontColor: props =>\n pick({\n enterprise: {\n dark: variables.textColor(props),\n light: variables.textColor(props),\n },\n prisma: variables.contentColorDefault(props),\n })(props),\n};\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Markdown Settings'),\n layout: [\n [\n {\n label: '',\n option: 'markdown',\n editor: 'editor.markdown',\n },\n ],\n ],\n },\n {\n label: _('General'),\n layout: [\n [\n {\n label: _('Font Color'),\n option: 'fontColor',\n editor: 'editor.color',\n editorProps: {\n labelPosition: 'top',\n themes,\n },\n },\n ...getBackgroundColorEditor({ label: 'Background Color', themes }),\n ],\n [\n {\n label: _('Font Size'),\n option: 'fontSize',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Extra Small'), value: 'extraSmall' },\n { label: _('Small'), value: 'small' },\n { label: _('Default'), value: 'default' },\n { label: _('Large'), value: 'large' },\n { label: _('Extra Large'), value: 'extraLarge' },\n ],\n },\n },\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.markdown',\n /**\n * viz name\n */\n name: 'Markdown',\n category: VizCategory.COMPARISONS,\n /**\n * viz icon\n */\n icon: null,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'markdown.click': {\n description: 'triggered when user clicks on markdown area not formatted as a link',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS],\n themes,\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"],"sourceRoot":""}
package/Markdown.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 = 207);
90
+ /******/ return __webpack_require__(__webpack_require__.s = 208);
91
91
  /******/ })
92
92
  /************************************************************************/
93
93
  /******/ ({
@@ -113,7 +113,7 @@ module.exports = require("@splunk/themes/variables");
113
113
 
114
114
  /***/ }),
115
115
 
116
- /***/ 104:
116
+ /***/ 105:
117
117
  /***/ (function(module, exports) {
118
118
 
119
119
  module.exports = require("@splunk/react-ui/Paragraph");
@@ -141,7 +141,7 @@ module.exports = require("@splunk/visualizations-shared/colorUtils");
141
141
 
142
142
  /***/ }),
143
143
 
144
- /***/ 131:
144
+ /***/ 132:
145
145
  /***/ (function(module, exports, __webpack_require__) {
146
146
 
147
147
  "use strict";
@@ -162,7 +162,7 @@ var React = __webpack_require__(1);
162
162
 
163
163
  var style_1 = __webpack_require__(15);
164
164
 
165
- var Markdown_1 = __webpack_require__(208);
165
+ var Markdown_1 = __webpack_require__(209);
166
166
 
167
167
  var styled_components_1 = __webpack_require__(4);
168
168
 
@@ -170,17 +170,17 @@ var T = __webpack_require__(0);
170
170
 
171
171
  var themes_1 = __webpack_require__(69);
172
172
 
173
- var Heading_1 = __webpack_require__(209);
173
+ var Heading_1 = __webpack_require__(210);
174
174
 
175
- var Paragraph_1 = __webpack_require__(104);
175
+ var Paragraph_1 = __webpack_require__(105);
176
176
 
177
- var List_1 = __webpack_require__(210);
177
+ var List_1 = __webpack_require__(211);
178
178
 
179
- var Code_1 = __webpack_require__(211);
179
+ var Code_1 = __webpack_require__(212);
180
180
 
181
181
  var withDashboardViz_1 = __webpack_require__(30);
182
182
 
183
- var config_1 = __webpack_require__(212);
183
+ var config_1 = __webpack_require__(213);
184
184
 
185
185
  exports.config = config_1.default; // map of valid font sizes with elements' respective pixel sizes
186
186
 
@@ -486,7 +486,7 @@ var withFixedSizeContainer = function withFixedSizeContainer(Viz) {
486
486
 
487
487
  return React.createElement(FixSizeItem, {
488
488
  "data-test": "fix-size-item",
489
- "data-splunk-visualization-version": "25.0.0 - 5e0f30e5a",
489
+ "data-splunk-visualization-version": "25.0.1 - de10ad954",
490
490
  width: width,
491
491
  height: height,
492
492
  backgroundColor: backgroundColor
@@ -543,7 +543,7 @@ module.exports = require("lodash");
543
543
 
544
544
  /***/ }),
545
545
 
546
- /***/ 207:
546
+ /***/ 208:
547
547
  /***/ (function(module, exports, __webpack_require__) {
548
548
 
549
549
  "use strict";
@@ -573,9 +573,9 @@ Object.defineProperty(exports, "__esModule", {
573
573
  });
574
574
  exports.default = void 0;
575
575
 
576
- __exportStar(__webpack_require__(131), exports);
576
+ __exportStar(__webpack_require__(132), exports);
577
577
 
578
- var Markdown_1 = __webpack_require__(131);
578
+ var Markdown_1 = __webpack_require__(132);
579
579
 
580
580
  Object.defineProperty(exports, "default", {
581
581
  enumerable: true,
@@ -586,42 +586,42 @@ Object.defineProperty(exports, "default", {
586
586
 
587
587
  /***/ }),
588
588
 
589
- /***/ 208:
589
+ /***/ 209:
590
590
  /***/ (function(module, exports) {
591
591
 
592
592
  module.exports = require("@splunk/react-ui/Markdown");
593
593
 
594
594
  /***/ }),
595
595
 
596
- /***/ 209:
596
+ /***/ 21:
597
597
  /***/ (function(module, exports) {
598
598
 
599
- module.exports = require("@splunk/react-ui/Heading");
599
+ module.exports = require("@splunk/visualization-context/TimezoneContext");
600
600
 
601
601
  /***/ }),
602
602
 
603
- /***/ 21:
603
+ /***/ 210:
604
604
  /***/ (function(module, exports) {
605
605
 
606
- module.exports = require("@splunk/visualization-context/TimezoneContext");
606
+ module.exports = require("@splunk/react-ui/Heading");
607
607
 
608
608
  /***/ }),
609
609
 
610
- /***/ 210:
610
+ /***/ 211:
611
611
  /***/ (function(module, exports) {
612
612
 
613
613
  module.exports = require("@splunk/react-ui/List");
614
614
 
615
615
  /***/ }),
616
616
 
617
- /***/ 211:
617
+ /***/ 212:
618
618
  /***/ (function(module, exports) {
619
619
 
620
620
  module.exports = require("@splunk/react-ui/Code");
621
621
 
622
622
  /***/ }),
623
623
 
624
- /***/ 212:
624
+ /***/ 213:
625
625
  /***/ (function(module, exports, __webpack_require__) {
626
626
 
627
627
  "use strict";
@@ -704,7 +704,6 @@ var themes = {
704
704
  };
705
705
  var editorConfig = [{
706
706
  label: i18n_1._('Markdown Settings'),
707
- open: true,
708
707
  layout: [[{
709
708
  label: '',
710
709
  option: 'markdown',
@@ -712,7 +711,6 @@ var editorConfig = [{
712
711
  }]]
713
712
  }, {
714
713
  label: i18n_1._('General'),
715
- open: true,
716
714
  layout: [[{
717
715
  label: i18n_1._('Font Color'),
718
716
  option: 'fontColor',
@@ -785,14 +783,7 @@ exports.default = configUtils_1.enhanceConfig(config);
785
783
 
786
784
  /***/ }),
787
785
 
788
- /***/ 23:
789
- /***/ (function(module, exports) {
790
-
791
- module.exports = require("@babel/runtime/helpers/typeof");
792
-
793
- /***/ }),
794
-
795
- /***/ 25:
786
+ /***/ 24:
796
787
  /***/ (function(module, exports, __webpack_require__) {
797
788
 
798
789
  "use strict";
@@ -826,6 +817,13 @@ exports.pickFieldFromJSONSchema = pickFieldFromJSONSchema;
826
817
 
827
818
  /***/ }),
828
819
 
820
+ /***/ 25:
821
+ /***/ (function(module, exports) {
822
+
823
+ module.exports = require("@babel/runtime/helpers/typeof");
824
+
825
+ /***/ }),
826
+
829
827
  /***/ 26:
830
828
  /***/ (function(module, exports, __webpack_require__) {
831
829
 
@@ -1126,7 +1124,7 @@ var getPagination_1 = __webpack_require__(28);
1126
1124
 
1127
1125
  var useDeepMemo_1 = __webpack_require__(38);
1128
1126
 
1129
- var JSONSchemaUtils_1 = __webpack_require__(25);
1127
+ var JSONSchemaUtils_1 = __webpack_require__(24);
1130
1128
 
1131
1129
  var MissingPropsMessage_1 = __webpack_require__(39);
1132
1130
 
@@ -1723,7 +1721,7 @@ var Cover = styled_components_1.default.div.withConfig({
1723
1721
  componentId: "sc-1gsbnxb-0"
1724
1722
  })(["position:absolute;left:0;right:0;top:0;bottom:0;"]);
1725
1723
  var Blocker = styled_components_1.default.div.attrs({
1726
- 'data-splunk-visualization-version': "25.0.0 - 5e0f30e5a"
1724
+ 'data-splunk-visualization-version': "25.0.1 - de10ad954"
1727
1725
  }).withConfig({
1728
1726
  displayName: "withEditModeCover__Blocker",
1729
1727
  componentId: "sc-1gsbnxb-1"
@@ -1922,7 +1920,7 @@ var __rest = this && this.__rest || function (s, e) {
1922
1920
  Object.defineProperty(exports, "__esModule", {
1923
1921
  value: true
1924
1922
  });
1925
- exports.insertLayout = exports.generatePrecisionValues = exports.getInitialPreset = exports.isDynamicOption = exports.enhanceOptionsSchemaWithDynamicOptions = exports.enhanceConfig = void 0;
1923
+ exports.insertLayout = exports.uncollapseEditorConfig = exports.generatePrecisionValues = exports.getInitialPreset = exports.isDynamicOption = exports.enhanceOptionsSchemaWithDynamicOptions = exports.enhanceConfig = void 0;
1926
1924
 
1927
1925
  var lodash_1 = __webpack_require__(2);
1928
1926
 
@@ -1997,8 +1995,10 @@ function enhanceOptionsSchemaWithDynamicOptions(optionsSchema) {
1997
1995
  exports.enhanceOptionsSchemaWithDynamicOptions = enhanceOptionsSchemaWithDynamicOptions;
1998
1996
  /**
1999
1997
  * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block
1998
+ * this function also collapse all editor panels
2000
1999
  * @param vizConfig a Visualization Config
2001
2000
  * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports
2001
+ * and containing `open: false` for all editor panels in editorConfig
2002
2002
  */
2003
2003
 
2004
2004
  function enhanceConfig(vizConfig) {
@@ -2008,10 +2008,33 @@ function enhanceConfig(vizConfig) {
2008
2008
  enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);
2009
2009
  }
2010
2010
 
2011
+ enhancedConfig.editorConfig = vizConfig.editorConfig.map(function (config) {
2012
+ return Object.assign(Object.assign({}, config), {
2013
+ open: false
2014
+ });
2015
+ });
2011
2016
  return enhancedConfig;
2012
2017
  }
2013
2018
 
2014
2019
  exports.enhanceConfig = enhanceConfig;
2020
+ /**
2021
+ * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig
2022
+ * Created for editor unit tests
2023
+ * @param vizConfig a Visualization Config
2024
+ * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig
2025
+ */
2026
+
2027
+ function uncollapseEditorConfig(vizConfig) {
2028
+ var editorPanelUncollapsedConfig = vizConfig;
2029
+ editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(function (config) {
2030
+ return Object.assign(Object.assign({}, config), {
2031
+ open: true
2032
+ });
2033
+ });
2034
+ return editorPanelUncollapsedConfig;
2035
+ }
2036
+
2037
+ exports.uncollapseEditorConfig = uncollapseEditorConfig;
2015
2038
 
2016
2039
  function isDynamicOption(option) {
2017
2040
  return option && typeof option === 'string' && option.trim().startsWith('>') || false;
@@ -2128,7 +2151,7 @@ module.exports = require("@babel/runtime/helpers/defineProperty");
2128
2151
  "use strict";
2129
2152
 
2130
2153
 
2131
- var _typeof = __webpack_require__(23);
2154
+ var _typeof = __webpack_require__(25);
2132
2155
 
2133
2156
  Object.defineProperty(exports, "__esModule", {
2134
2157
  value: true